From: Detlef Riekenberg Subject: [PATCH] kernel32/tests: Use case insensitive compare for filename Message-Id: <1475848909-5559-1-git-send-email-wine.dev@web.de> Date: Fri, 7 Oct 2016 16:01:49 +0200 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 -- 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