Juan Lang : crypt32: Formatted bits are always in a single line, regardless of dwFormatStrType.
Alexandre Julliard
julliard at winehq.org
Fri Nov 21 06:54:42 CST 2008
Module: wine
Branch: master
Commit: 9d4ab487504ee92bfed0bb05da63fda31f1dc812
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9d4ab487504ee92bfed0bb05da63fda31f1dc812
Author: Juan Lang <juan.lang at gmail.com>
Date: Thu Nov 20 09:19:15 2008 -0800
crypt32: Formatted bits are always in a single line, regardless of dwFormatStrType.
---
dlls/crypt32/object.c | 45 ++++++++++++++-------------------------------
1 files changed, 14 insertions(+), 31 deletions(-)
diff --git a/dlls/crypt32/object.c b/dlls/crypt32/object.c
index e09ca03..5784cc9 100644
--- a/dlls/crypt32/object.c
+++ b/dlls/crypt32/object.c
@@ -604,7 +604,6 @@ static BOOL WINAPI CRYPT_FormatHexString(DWORD dwCertEncodingType,
#define MAX_STRING_RESOURCE_LEN 128
-static const WCHAR crlf[] = { '\r','\n',0 };
static const WCHAR commaSpace[] = { ',',' ',0 };
struct BitToString
@@ -614,30 +613,18 @@ struct BitToString
WCHAR str[MAX_STRING_RESOURCE_LEN];
};
-static BOOL CRYPT_FormatBits(DWORD dwFormatStrType, BYTE bits,
- const struct BitToString *map, DWORD mapEntries, void *pbFormat,
- DWORD *pcbFormat, BOOL *first)
+static BOOL CRYPT_FormatBits(BYTE bits, const struct BitToString *map,
+ DWORD mapEntries, void *pbFormat, DWORD *pcbFormat, BOOL *first)
{
- LPCWSTR sep;
- DWORD sepLen, bytesNeeded = sizeof(WCHAR);
+ DWORD bytesNeeded = sizeof(WCHAR);
int i;
BOOL ret = TRUE, localFirst = *first;
- if (dwFormatStrType & CRYPT_FORMAT_STR_MULTI_LINE)
- {
- sep = crlf;
- sepLen = strlenW(crlf) * sizeof(WCHAR);
- }
- else
- {
- sep = commaSpace;
- sepLen = strlenW(commaSpace) * sizeof(WCHAR);
- }
for (i = 0; i < mapEntries; i++)
if (bits & map[i].bit)
{
if (!localFirst)
- bytesNeeded += sepLen;
+ bytesNeeded += strlenW(commaSpace) * sizeof(WCHAR);
localFirst = FALSE;
bytesNeeded += strlenW(map[i].str) * sizeof(WCHAR);
}
@@ -664,8 +651,8 @@ static BOOL CRYPT_FormatBits(DWORD dwFormatStrType, BYTE bits,
{
if (!localFirst)
{
- strcpyW(str, sep);
- str += sepLen / sizeof(WCHAR);
+ strcpyW(str, commaSpace);
+ str += strlenW(commaSpace);
}
localFirst = FALSE;
strcpyW(str, map[i].str);
@@ -753,15 +740,13 @@ static BOOL WINAPI CRYPT_FormatKeyUsage(DWORD dwCertEncodingType,
keyUsageByte1Map[i].str, MAX_STRING_RESOURCE_LEN);
stringsLoaded = TRUE;
}
- CRYPT_FormatBits(dwFormatStrType, bits->pbData[0],
- keyUsageByte0Map,
+ CRYPT_FormatBits(bits->pbData[0], keyUsageByte0Map,
sizeof(keyUsageByte0Map) / sizeof(keyUsageByte0Map[0]),
NULL, &bitStringLen, &first);
bytesNeeded += bitStringLen;
if (bits->cbData == 2)
{
- CRYPT_FormatBits(dwFormatStrType, bits->pbData[1],
- keyUsageByte1Map,
+ CRYPT_FormatBits(bits->pbData[1], keyUsageByte1Map,
sizeof(keyUsageByte1Map) / sizeof(keyUsageByte1Map[0]),
NULL, &bitStringLen, &first);
bytesNeeded += bitStringLen;
@@ -784,16 +769,14 @@ static BOOL WINAPI CRYPT_FormatKeyUsage(DWORD dwCertEncodingType,
bitStringLen = bytesNeeded;
first = TRUE;
- CRYPT_FormatBits(dwFormatStrType, bits->pbData[0],
- keyUsageByte0Map,
+ CRYPT_FormatBits(bits->pbData[0], keyUsageByte0Map,
sizeof(keyUsageByte0Map) / sizeof(keyUsageByte0Map[0]),
str, &bitStringLen, &first);
str += bitStringLen / sizeof(WCHAR) - 1;
if (bits->cbData == 2)
{
bitStringLen = bytesNeeded;
- CRYPT_FormatBits(dwFormatStrType, bits->pbData[1],
- keyUsageByte1Map,
+ CRYPT_FormatBits(bits->pbData[1], keyUsageByte1Map,
sizeof(keyUsageByte1Map) / sizeof(keyUsageByte1Map[0]),
str, &bitStringLen, &first);
str += bitStringLen / sizeof(WCHAR) - 1;
@@ -812,6 +795,8 @@ static BOOL WINAPI CRYPT_FormatKeyUsage(DWORD dwCertEncodingType,
return ret;
}
+static const WCHAR crlf[] = { '\r','\n',0 };
+
static WCHAR subjectTypeHeader[MAX_STRING_RESOURCE_LEN];
static WCHAR subjectTypeCA[MAX_STRING_RESOURCE_LEN];
static WCHAR subjectTypeEndCert[MAX_STRING_RESOURCE_LEN];
@@ -2123,8 +2108,7 @@ static BOOL WINAPI CRYPT_FormatNetscapeCertType(DWORD dwCertEncodingType,
netscapeCertTypeMap[i].str, MAX_STRING_RESOURCE_LEN);
stringsLoaded = TRUE;
}
- CRYPT_FormatBits(dwFormatStrType, bits->pbData[0],
- netscapeCertTypeMap,
+ CRYPT_FormatBits(bits->pbData[0], netscapeCertTypeMap,
sizeof(netscapeCertTypeMap) / sizeof(netscapeCertTypeMap[0]),
NULL, &bitStringLen, &first);
bytesNeeded += bitStringLen;
@@ -2146,8 +2130,7 @@ static BOOL WINAPI CRYPT_FormatNetscapeCertType(DWORD dwCertEncodingType,
bitStringLen = bytesNeeded;
first = TRUE;
- CRYPT_FormatBits(dwFormatStrType, bits->pbData[0],
- netscapeCertTypeMap,
+ CRYPT_FormatBits(bits->pbData[0], netscapeCertTypeMap,
sizeof(netscapeCertTypeMap) / sizeof(netscapeCertTypeMap[0]),
str, &bitStringLen, &first);
str += bitStringLen / sizeof(WCHAR) - 1;
More information about the wine-cvs
mailing list