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