Alexandre Julliard : kernel32/tests: Get rid of Unicode helper functions.
Alexandre Julliard
julliard at winehq.org
Tue Nov 19 16:35:21 CST 2019
Module: wine
Branch: master
Commit: e8ef4c0f53720243f8bccfdfec7f87cf75e0ed7c
URL: https://source.winehq.org/git/wine.git/?a=commit;h=e8ef4c0f53720243f8bccfdfec7f87cf75e0ed7c
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Nov 19 15:36:22 2019 +0100
kernel32/tests: Get rid of Unicode helper functions.
---
dlls/kernel32/tests/locale.c | 57 +++++++++++++-------------------------------
1 file changed, 16 insertions(+), 41 deletions(-)
diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c
index 9a13693443..aaaf09cf5c 100644
--- a/dlls/kernel32/tests/locale.c
+++ b/dlls/kernel32/tests/locale.c
@@ -48,33 +48,6 @@ static const WCHAR fooW[] = {'f','o','o',0};
static const WCHAR emptyW[] = {0};
static const WCHAR invalidW[] = {'i','n','v','a','l','i','d',0};
-static inline unsigned int strlenW( const WCHAR *str )
-{
- const WCHAR *s = str;
- while (*s) s++;
- return s - str;
-}
-
-static inline int strncmpW( const WCHAR *str1, const WCHAR *str2, int n )
-{
- if (n <= 0) return 0;
- while ((--n > 0) && *str1 && (*str1 == *str2)) { str1++; str2++; }
- return *str1 - *str2;
-}
-
-static inline WCHAR *strchrW( const WCHAR *str, WCHAR ch )
-{
- do { if (*str == ch) return (WCHAR *)str; } while (*str++);
- return NULL;
-}
-
-static inline BOOL isdigitW( WCHAR wc )
-{
- WORD type;
- GetStringTypeW( CT_CTYPE1, &wc, 1, &type );
- return type & C1_DIGIT;
-}
-
/* Some functions are only in later versions of kernel32.dll */
static WORD enumCount;
@@ -171,7 +144,7 @@ static void InitFunctionPointers(void)
MultiByteToWideChar(CP_ACP,0,y,-1,Expected,ARRAY_SIZE(Expected)); \
SetLastError(0xdeadbeef); buffer[0] = '\0'
#define EXPECT_LENW ok(ret == lstrlenW(Expected)+1, "Expected Len %d, got %d\n", lstrlenW(Expected)+1, ret)
-#define EXPECT_EQW ok(strncmpW(buffer, Expected, strlenW(Expected)) == 0, "Bad conversion\n")
+#define EXPECT_EQW ok(wcsncmp(buffer, Expected, lstrlenW(Expected)) == 0, "Bad conversion\n")
#define NUO LOCALE_NOUSEROVERRIDE
@@ -681,7 +654,7 @@ static void test_GetTimeFormatEx(void)
STRINGSW("m1s2m3s4", ""); /* TIME_NOMINUTESORSECONDS/complex format */
ret = pGetTimeFormatEx(localeW, TIME_NOMINUTESORSECONDS, &curtime, input, buffer, ARRAY_SIZE(buffer));
- ok(ret == strlenW(buffer)+1, "Expected ret != 0, got %d, error %d\n", ret, GetLastError());
+ ok(ret == lstrlenW(buffer)+1, "Expected ret != 0, got %d, error %d\n", ret, GetLastError());
EXPECT_LENW; EXPECT_EQW;
STRINGSW("", "8:56 AM"); /* TIME_NOSECONDS/Default format */
@@ -701,7 +674,7 @@ static void test_GetTimeFormatEx(void)
STRINGSW("s1s2s3", ""); /* Duplicate tokens */
ret = pGetTimeFormatEx(localeW, TIME_NOSECONDS, &curtime, input, buffer, ARRAY_SIZE(buffer));
- ok(ret == strlenW(buffer)+1, "Expected ret != 0, got %d, error %d\n", ret, GetLastError());
+ ok(ret == lstrlenW(buffer)+1, "Expected ret != 0, got %d, error %d\n", ret, GetLastError());
EXPECT_LENW; EXPECT_EQW;
STRINGSW("t/tt", "A/AM"); /* AM time marker */
@@ -3346,6 +3319,7 @@ static void test_FoldStringA(void)
static void test_FoldStringW(void)
{
int ret;
+ WORD type;
unsigned int i, j;
WCHAR src[256], dst[256], ch, prev_ch = 1;
static const DWORD badFlags[] =
@@ -3564,10 +3538,11 @@ static void test_FoldStringW(void)
ret = pFoldStringW(MAP_FOLDDIGITS, src, -1, dst, 256);
ok(ret == 2, "Expected ret == 2, got %d, error %d\n", ret, GetLastError());
- ok(dst[0] == ch || strchrW(outOfSequenceDigits, ch) ||
+ ok(dst[0] == ch || wcschr(outOfSequenceDigits, ch) ||
(ch >= 0xa8e0 && ch <= 0xa8e9), /* combining Devanagari on Win8 */
"MAP_FOLDDIGITS: ch 0x%04x Expected unchanged got %04x\n", ch, dst[0]);
- ok(!isdigitW(ch) || strchrW(outOfSequenceDigits, ch) ||
+ GetStringTypeW( CT_CTYPE1, &ch, 1, &type );
+ ok(!(type & C1_DIGIT) || wcschr(outOfSequenceDigits, ch) ||
broken( ch >= 0xbf0 && ch <= 0xbf2 ), /* win2k */
"char %04x should not be a digit\n", ch );
}
@@ -3595,7 +3570,7 @@ static void test_FoldStringW(void)
broken( dst[0] == ch ) || /* old Windows versions don't have all mappings */
(digitRanges[j] == 0x3020 && dst[0] == ch) || /* Hangzhou not present in all Windows versions */
(digitRanges[j] == 0x0F29 && dst[0] == ch) || /* Tibetan not present in all Windows versions */
- strchrW(noDigitAvailable, c),
+ wcschr(noDigitAvailable, c),
"MAP_FOLDDIGITS: ch %04x Expected %04x got %04x\n",
ch, '0' + digitRanges[j] - ch, dst[0]);
}
@@ -5908,22 +5883,22 @@ static void test_NormalizeString(void)
if (dstlen)
{
dstlen = pNormalizeString( norm_forms[i], ptest->str, -1, dst, dstlen );
- ok(dstlen == strlenW( dst )+1, "%s:%d: Copied length differed: was %d, should be %d\n",
- wine_dbgstr_w(ptest->str), i, dstlen, strlenW( dst )+1);
- str_cmp = strncmpW( ptest->expected[i], dst, dstlen+1 );
+ ok(dstlen == lstrlenW( dst )+1, "%s:%d: Copied length differed: was %d, should be %d\n",
+ wine_dbgstr_w(ptest->str), i, dstlen, lstrlenW( dst )+1);
+ str_cmp = wcsncmp( ptest->expected[i], dst, dstlen+1 );
todo_wine_if(ptest->todo[i])
ok( str_cmp == 0, "%s:%d: string incorrect got %s expect %s\n", wine_dbgstr_w(ptest->str), i,
wine_dbgstr_w(dst), wine_dbgstr_w(ptest->expected[i]) );
}
- dstlen = pNormalizeString( norm_forms[i], ptest->str, strlenW(ptest->str), NULL, 0 );
+ dstlen = pNormalizeString( norm_forms[i], ptest->str, lstrlenW(ptest->str), NULL, 0 );
if (dstlen)
{
memset(dst, 0, sizeof(dst));
- dstlen = pNormalizeString( norm_forms[i], ptest->str, strlenW(ptest->str), dst, dstlen );
- ok(dstlen == strlenW( dst ), "%s:%d: Copied length differed: was %d, should be %d\n",
- wine_dbgstr_w(ptest->str), i, dstlen, strlenW( dst ));
- str_cmp = strncmpW( ptest->expected[i], dst, dstlen );
+ dstlen = pNormalizeString( norm_forms[i], ptest->str, lstrlenW(ptest->str), dst, dstlen );
+ ok(dstlen == lstrlenW( dst ), "%s:%d: Copied length differed: was %d, should be %d\n",
+ wine_dbgstr_w(ptest->str), i, dstlen, lstrlenW( dst ));
+ str_cmp = wcsncmp( ptest->expected[i], dst, dstlen );
todo_wine_if(ptest->todo[i])
ok( str_cmp == 0, "%s:%d: string incorrect got %s expect %s\n", wine_dbgstr_w(ptest->str), i,
wine_dbgstr_w(dst), wine_dbgstr_w(ptest->expected[i]) );
More information about the wine-cvs
mailing list