Juan Lang : cryptui: Separate opening a file from importing it.

Alexandre Julliard julliard at winehq.org
Tue Dec 23 13:41:26 CST 2008


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Mon Dec 22 19:16:24 2008 -0800

cryptui: Separate opening a file from importing it.

---

 dlls/cryptui/main.c |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/dlls/cryptui/main.c b/dlls/cryptui/main.c
index 23efa07..4c53d88 100644
--- a/dlls/cryptui/main.c
+++ b/dlls/cryptui/main.c
@@ -3627,12 +3627,10 @@ static BOOL import_store(DWORD dwFlags, HWND hwnd, LPCWSTR szTitle,
     return ret;
 }
 
-static BOOL import_file(DWORD dwFlags, HWND hwnd, LPCWSTR szTitle,
- LPCWSTR fileName, HCERTSTORE dest)
+static HCERTSTORE open_store_from_file(DWORD dwFlags, LPCWSTR fileName)
 {
-    HCERTSTORE source;
+    HCERTSTORE store = NULL;
     DWORD contentType, expectedContentTypeFlags;
-    BOOL ret;
 
     if (dwFlags &
      (CRYPTUI_WIZ_IMPORT_ALLOW_CERT | CRYPTUI_WIZ_IMPORT_ALLOW_CRL |
@@ -3667,14 +3665,25 @@ static BOOL import_file(DWORD dwFlags, HWND hwnd, LPCWSTR szTitle,
          CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED |
          CERT_QUERY_CONTENT_FLAG_PFX;
 
-    ret = CryptQueryObject(CERT_QUERY_OBJECT_FILE, fileName,
+    CryptQueryObject(CERT_QUERY_OBJECT_FILE, fileName,
      expectedContentTypeFlags, CERT_QUERY_FORMAT_FLAG_ALL, 0, NULL,
-     &contentType, NULL, &source, NULL, NULL);
-    if (ret)
+     &contentType, NULL, &store, NULL, NULL);
+    return store;
+}
+
+static BOOL import_file(DWORD dwFlags, HWND hwnd, LPCWSTR szTitle,
+ LPCWSTR fileName, HCERTSTORE dest)
+{
+    HCERTSTORE source;
+    BOOL ret;
+
+    if ((source = open_store_from_file(dwFlags, fileName)))
     {
         ret = import_store(dwFlags, hwnd, szTitle, source, dest);
         CertCloseStore(source, 0);
     }
+    else
+        ret = FALSE;
     return ret;
 }
 




More information about the wine-cvs mailing list