[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