Francois Gouget : kernel32: Avoid hardcoding the Unicode string literal lengths.

Alexandre Julliard julliard at winehq.org
Fri Dec 16 11:22:55 CST 2011


Module: wine
Branch: master
Commit: 632ac0b227ec9631543b36da8c990c8498a56c8e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=632ac0b227ec9631543b36da8c990c8498a56c8e

Author: Francois Gouget <fgouget at free.fr>
Date:   Fri Dec 16 13:08:23 2011 +0100

kernel32: Avoid hardcoding the Unicode string literal lengths.

---

 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 e66e9b8..2ca74c9 100644
--- a/dlls/kernel32/console.c
+++ b/dlls/kernel32/console.c
@@ -2430,8 +2430,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);




More information about the wine-cvs mailing list