[PATCH] kernel32/tests: Use case insensitive compare for filename

Detlef Riekenberg wine.dev at web.de
Fri Oct 7 09:01:49 CDT 2016


There is also no need to compare every character seperate.

Fixes:
http://test.winehq.org/data/5d96ef42a58e09a2d6cf47a685abb3f42b513ceb/win7_dr-w7sp1-p6100-wow/kernel32:file.html

Introduced by:
http://source.winehq.org/git/wine.git/commitdiff/68b654ad2fe18aad6b9b0d0128656753f6639442

Signed-off-by: Detlef Riekenberg <wine.dev at web.de>
--
bye bye ... Detlef
---
 dlls/kernel32/tests/file.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/dlls/kernel32/tests/file.c b/dlls/kernel32/tests/file.c
index f039cf9..00e2a71 100644
--- a/dlls/kernel32/tests/file.c
+++ b/dlls/kernel32/tests/file.c
@@ -3834,6 +3834,7 @@ static void test_GetFileInformationByHandleEx(void)
 {
     int i;
     char tempPath[MAX_PATH], tempFileName[MAX_PATH], buffer[1024], *strPtr;
+    char astr[MAX_PATH];
     BOOL ret;
     DWORD ret2, written;
     HANDLE directory, file;
@@ -3967,9 +3968,14 @@ static void test_GetFileInformationByHandleEx(void)
     ok(strPtr != NULL, "GetFileInformationByHandleEx: Temp filename didn't contain backslash\n");
     ok(nameInfo->FileNameLength == strlen(strPtr) * 2,
         "GetFileInformationByHandleEx: Incorrect file name length\n");
-    for (i = 0; i < nameInfo->FileNameLength/2; i++)
-        ok(strPtr[i] == nameInfo->FileName[i], "Incorrect filename char %d: %c vs %c\n",
-            i, strPtr[i], nameInfo->FileName[i]);
+
+    WideCharToMultiByte(CP_ACP, 0, nameInfo->FileName, nameInfo->FileNameLength/2, astr, sizeof(astr), NULL, NULL);
+    if (nameInfo->FileNameLength < sizeof(astr))
+        astr[nameInfo->FileNameLength] = 0;
+    else
+        astr[sizeof(astr)-1] = 0;
+
+    ok(!lstrcmpiA(strPtr, astr), "got %s, expected %s\n", astr, strPtr);
 
     /* invalid classes */
     SetLastError(0xdeadbeef);
-- 
2.7.4




More information about the wine-patches mailing list