Juan Lang : crypt32: Use helper function to search for certs.

Alexandre Julliard julliard at winehq.org
Mon Oct 19 09:56:07 CDT 2009


Module: wine
Branch: master
Commit: e0a440483128c7856a4e1172e33833e7a34ca6e4
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e0a440483128c7856a4e1172e33833e7a34ca6e4

Author: Juan Lang <juan.lang at gmail.com>
Date:   Thu Oct 15 10:46:44 2009 -0700

crypt32: Use helper function to search for certs.

---

 dlls/crypt32/cert.c |   26 ++++++++++++++++++--------
 1 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/dlls/crypt32/cert.c b/dlls/crypt32/cert.c
index 1c0c74e..b640c30 100644
--- a/dlls/crypt32/cert.c
+++ b/dlls/crypt32/cert.c
@@ -1405,6 +1405,22 @@ static BOOL compare_cert_by_signature_hash(PCCERT_CONTEXT pCertContext, DWORD dw
     return ret;
 }
 
+static inline PCCERT_CONTEXT cert_compare_certs_in_store(HCERTSTORE store,
+ PCCERT_CONTEXT prev, CertCompareFunc compare, DWORD dwType, DWORD dwFlags,
+ const void *pvPara)
+{
+    BOOL matches = FALSE;
+    PCCERT_CONTEXT ret;
+
+    ret = prev;
+    do {
+        ret = CertEnumCertificatesInStore(store, ret);
+        if (ret)
+            matches = compare(ret, dwType, dwFlags, pvPara);
+    } while (ret != NULL && !matches);
+    return ret;
+}
+
 PCCERT_CONTEXT WINAPI CertFindCertificateInStore(HCERTSTORE hCertStore,
  DWORD dwCertEncodingType, DWORD dwFlags, DWORD dwType, const void *pvPara,
  PCCERT_CONTEXT pPrevCertContext)
@@ -1454,14 +1470,8 @@ PCCERT_CONTEXT WINAPI CertFindCertificateInStore(HCERTSTORE hCertStore,
 
     if (compare)
     {
-        BOOL matches = FALSE;
-
-        ret = pPrevCertContext;
-        do {
-            ret = CertEnumCertificatesInStore(hCertStore, ret);
-            if (ret)
-                matches = compare(ret, dwType, dwFlags, pvPara);
-        } while (ret != NULL && !matches);
+        ret = cert_compare_certs_in_store(hCertStore, pPrevCertContext,
+         compare, dwType, dwFlags, pvPara);
         if (!ret)
             SetLastError(CRYPT_E_NOT_FOUND);
     }




More information about the wine-cvs mailing list