Juan Lang : crypt32: Simplify a function.
Alexandre Julliard
julliard at winehq.org
Thu Jan 20 12:41:20 CST 2011
Module: wine
Branch: master
Commit: c3bc7f2cba431b80d2a0decaf48e341b120fc8b6
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c3bc7f2cba431b80d2a0decaf48e341b120fc8b6
Author: Juan Lang <juan.lang at gmail.com>
Date: Wed Jan 19 12:08:28 2011 -0800
crypt32: Simplify a function.
---
dlls/crypt32/str.c | 57 +++++++++++++++++++++++----------------------------
1 files changed, 26 insertions(+), 31 deletions(-)
diff --git a/dlls/crypt32/str.c b/dlls/crypt32/str.c
index e0e238b..9d814df 100644
--- a/dlls/crypt32/str.c
+++ b/dlls/crypt32/str.c
@@ -786,46 +786,41 @@ static BOOL CRYPT_EncodeValueWithType(DWORD dwCertEncodingType,
if (value->end > value->start)
{
+ LONG i;
+ LPWSTR ptr;
+
nameValue.Value.pbData = CryptMemAlloc((value->end - value->start) *
sizeof(WCHAR));
if (!nameValue.Value.pbData)
{
SetLastError(ERROR_OUTOFMEMORY);
- ret = FALSE;
- }
- }
- if (ret)
- {
- if (value->end > value->start)
- {
- LONG i;
- LPWSTR ptr = (LPWSTR)nameValue.Value.pbData;
-
- for (i = 0; i < value->end - value->start; i++)
- {
- *ptr++ = value->start[i];
- if (value->start[i] == '"')
- i++;
- }
- nameValue.Value.cbData = (LPBYTE)ptr - nameValue.Value.pbData;
+ return FALSE;
}
- ret = CryptEncodeObjectEx(dwCertEncodingType, X509_UNICODE_NAME_VALUE,
- &nameValue, CRYPT_ENCODE_ALLOC_FLAG, NULL, &output->pbData,
- &output->cbData);
- if (!ret && ppszError)
+ ptr = (LPWSTR)nameValue.Value.pbData;
+ for (i = 0; i < value->end - value->start; i++)
{
- if (type == CERT_RDN_NUMERIC_STRING &&
- GetLastError() == CRYPT_E_INVALID_NUMERIC_STRING)
- *ppszError = value->start + output->cbData;
- else if (type == CERT_RDN_PRINTABLE_STRING &&
- GetLastError() == CRYPT_E_INVALID_PRINTABLE_STRING)
- *ppszError = value->start + output->cbData;
- else if (type == CERT_RDN_IA5_STRING &&
- GetLastError() == CRYPT_E_INVALID_IA5_STRING)
- *ppszError = value->start + output->cbData;
+ *ptr++ = value->start[i];
+ if (value->start[i] == '"')
+ i++;
}
- CryptMemFree(nameValue.Value.pbData);
+ nameValue.Value.cbData = (LPBYTE)ptr - nameValue.Value.pbData;
+ }
+ ret = CryptEncodeObjectEx(dwCertEncodingType, X509_UNICODE_NAME_VALUE,
+ &nameValue, CRYPT_ENCODE_ALLOC_FLAG, NULL, &output->pbData,
+ &output->cbData);
+ if (!ret && ppszError)
+ {
+ if (type == CERT_RDN_NUMERIC_STRING &&
+ GetLastError() == CRYPT_E_INVALID_NUMERIC_STRING)
+ *ppszError = value->start + output->cbData;
+ else if (type == CERT_RDN_PRINTABLE_STRING &&
+ GetLastError() == CRYPT_E_INVALID_PRINTABLE_STRING)
+ *ppszError = value->start + output->cbData;
+ else if (type == CERT_RDN_IA5_STRING &&
+ GetLastError() == CRYPT_E_INVALID_IA5_STRING)
+ *ppszError = value->start + output->cbData;
}
+ CryptMemFree(nameValue.Value.pbData);
return ret;
}
More information about the wine-cvs
mailing list