strcasecmp does not exist on Windows

Francois Gouget fgouget at
Wed Aug 11 09:55:30 CDT 2004

strcasecmp() does not exist on Windows so I replaced it with
lstrcmpiA(). Hopefully that's a suitable replacement. Unfortunately it's
not enough to get this test to compile with the Windows headers (but I
have another path in the works that should solve most of the other
issues with the ntdll tests).


 * dlls/ntdll/tests/path.c

   Replace strcasecmp() with lstrcmpiA() to help compilation with
Windows headers.

Index: dlls/ntdll/tests/path.c
RCS file: /var/cvs/wine/dlls/ntdll/tests/path.c,v
retrieving revision 1.9
diff -u -r1.9 path.c
--- dlls/ntdll/tests/path.c	14 May 2004 22:10:24 -0000	1.9
+++ dlls/ntdll/tests/path.c	10 Aug 2004 15:22:14 -0000
@@ -273,12 +273,12 @@
         ok( ret == len, "Wrong result %ld/%d for \"%s\"\n", ret, len, test->path );
         ok(pRtlUnicodeToMultiByteN(rbufferA,MAX_PATH,&reslen,rbufferW,MAX_PATH) == STATUS_SUCCESS,
            "RtlUnicodeToMultiByteN failed\n");
-        ok(strcasecmp(rbufferA,test->rname) == 0, "Got \"%s\" expected \"%s\"\n",rbufferA,test->rname);
+        ok(lstrcmpiA(rbufferA,test->rname) == 0, "Got \"%s\" expected \"%s\"\n",rbufferA,test->rname);
         if (file_part)
             ok(pRtlUnicodeToMultiByteN(rfileA,MAX_PATH,&reslen,file_part,MAX_PATH) == STATUS_SUCCESS,
                "RtlUnicodeToMultiByteN failed\n");
-            ok(test->rfile && !strcasecmp(rfileA,test->rfile), "Got \"%s\" expected \"%s\"\n",rfileA,test->rfile);
+            ok(test->rfile && !lstrcmpiA(rfileA,test->rfile), "Got \"%s\" expected \"%s\"\n",rfileA,test->rfile);

Francois Gouget         fgouget at
     The software said it requires Win95 or better, so I installed Linux.

More information about the wine-patches mailing list