kernel32: Avoid hardcoding the Unicode string literal lengths.
Francois Gouget
fgouget at free.fr
Fri Dec 16 06:08:23 CST 2011
Also mark a couple of strings as static const and simplify computing some buffer sizes.
---
dlls/kernel32/console.c | 3 +--
dlls/kernel32/tests/atom.c | 8 ++++----
dlls/kernel32/tests/codepage.c | 4 ++--
3 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/dlls/kernel32/console.c b/dlls/kernel32/console.c
index 4a4d009..5496f9d 100644
--- a/dlls/kernel32/console.c
+++ b/dlls/kernel32/console.c
@@ -2445,8 +2445,7 @@ BOOL WINAPI WriteConsoleW(HANDLE hConsoleOutput, LPCVOID lpBuffer, DWORD nNumber
break;
case '\t':
{
- WCHAR tmp[8] = {' ',' ',' ',' ',' ',' ',' ',' '};
-
+ static const WCHAR tmp[] = {' ',' ',' ',' ',' ',' ',' ',' '};
if (!write_block(hConsoleOutput, &csbi, mode, tmp,
((csbi.dwCursorPosition.X + 8) & ~7) - csbi.dwCursorPosition.X))
goto the_end;
diff --git a/dlls/kernel32/tests/atom.c b/dlls/kernel32/tests/atom.c
index 15ef04c..a0f99d1 100644
--- a/dlls/kernel32/tests/atom.c
+++ b/dlls/kernel32/tests/atom.c
@@ -168,11 +168,11 @@ static void test_get_atom_name(void)
if (unicode_OS)
{
- static const WCHAR sampleW[10] = {'.','.','.','.','.','.','.','.','.','.'};
+ static const WCHAR sampleW[] = {'.','.','.','.','.','.','.','.','.','.'};
for (i = 0; i < 10; i++) bufW[i] = '.';
ok( !GlobalGetAtomNameW( atom, bufW, 0 ), "succeeded\n" );
- ok( !memcmp( bufW, sampleW, 10 * sizeof(WCHAR) ), "should not touch buffer\n" );
+ ok( !memcmp( bufW, sampleW, sizeof(sampleW) ), "should not touch buffer\n" );
}
/* Test integer atoms */
@@ -442,11 +442,11 @@ static void test_local_get_atom_name(void)
if (unicode_OS)
{
- static const WCHAR sampleW[10] = {'.','.','.','.','.','.','.','.','.','.'};
+ static const WCHAR sampleW[] = {'.','.','.','.','.','.','.','.','.','.'};
for (i = 0; i < 10; i++) bufW[i] = '.';
ok( !GetAtomNameW( atom, bufW, 0 ), "succeeded\n" );
- ok( !memcmp( bufW, sampleW, 10 * sizeof(WCHAR) ), "should not touch buffer\n" );
+ ok( !memcmp( bufW, sampleW, sizeof(sampleW) ), "should not touch buffer\n" );
}
/* Test integer atoms */
diff --git a/dlls/kernel32/tests/codepage.c b/dlls/kernel32/tests/codepage.c
index 8f9c4e1..61bcf54 100644
--- a/dlls/kernel32/tests/codepage.c
+++ b/dlls/kernel32/tests/codepage.c
@@ -211,8 +211,8 @@ static void test_string_conversion(LPBOOL bUsedDefaultChar)
int ret;
WCHAR wc1 = 228; /* Western Windows-1252 character */
WCHAR wc2 = 1088; /* Russian Windows-1251 character not displayable for Windows-1252 */
- WCHAR wcs[5] = {'T', 'h', 1088, 'i', 0}; /* String with ASCII characters and a Russian character */
- WCHAR dbwcs[3] = {28953, 25152, 0}; /* String with Chinese (codepage 950) characters */
+ static const WCHAR wcs[] = {'T', 'h', 1088, 'i', 0}; /* String with ASCII characters and a Russian character */
+ static const WCHAR dbwcs[] = {28953, 25152, 0}; /* String with Chinese (codepage 950) characters */
SetLastError(0xdeadbeef);
ret = WideCharToMultiByte(1252, 0, &wc1, 1, &mbc, 1, NULL, bUsedDefaultChar);
--
1.7.7.3
More information about the wine-patches
mailing list