Module: wine Branch: master Commit: 99f6894c6690d082a80c71673e1ab8e29793f2af URL: http://source.winehq.org/git/wine.git/?a=commit;h=99f6894c6690d082a80c71673e...
Author: Christian Inci chris.pcguy.inci@gmail.com Date: Sun Apr 17 01:22:10 2011 +0200
crypt32: Fix CertStrToName's CERT_NAME_STR_NO_QUOTING_FLAG usage.
---
dlls/crypt32/str.c | 6 +++--- dlls/crypt32/tests/str.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/crypt32/str.c b/dlls/crypt32/str.c index 24f7c55..7444575 100644 --- a/dlls/crypt32/str.c +++ b/dlls/crypt32/str.c @@ -971,7 +971,7 @@ static BOOL CRYPT_EncodeValue(DWORD dwCertEncodingType, }
static BOOL CRYPT_ValueToRDN(DWORD dwCertEncodingType, PCERT_NAME_INFO info, - PCCRYPT_OID_INFO keyOID, struct X500TokenW *value, LPCWSTR *ppszError) + PCCRYPT_OID_INFO keyOID, struct X500TokenW *value, DWORD dwStrType, LPCWSTR *ppszError) { BOOL ret = FALSE;
@@ -1005,7 +1005,7 @@ static BOOL CRYPT_ValueToRDN(DWORD dwCertEncodingType, PCERT_NAME_INFO info, types = defaultTypes;
/* Remove surrounding quotes */ - if (value->start[0] == '"') + if (value->start[0] == '"' && !(dwStrType & CERT_NAME_STR_NO_QUOTING_FLAG)) { value->start++; value->end--; @@ -1095,7 +1095,7 @@ BOOL WINAPI CertStrToNameW(DWORD dwCertEncodingType, LPCWSTR pszX500, { str = token.end; ret = CRYPT_ValueToRDN(dwCertEncodingType, &info, - keyOID, &token, ppszError); + keyOID, &token, dwStrType, ppszError); } } } diff --git a/dlls/crypt32/tests/str.c b/dlls/crypt32/tests/str.c index 4d69e5c..cbfdf4d 100644 --- a/dlls/crypt32/tests/str.c +++ b/dlls/crypt32/tests/str.c @@ -828,7 +828,7 @@ static void test_CertStrToNameA(void) "Expected ERROR_SUCCESS, got %08x\n", GetLastError()); ret = pCertStrToNameA(X509_ASN_ENCODING, "CN="abc"", CERT_NAME_STR_NO_QUOTING_FLAG, NULL, buf, &size, NULL); - todo_wine ok(!ret && GetLastError() == ERROR_MORE_DATA, + ok(!ret && GetLastError() == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %08x\n", GetLastError()); for (i = 0; i < sizeof(namesA) / sizeof(namesA[0]); i++) {