Piotr Caban : msvcrt: Fix _stricmp behavior on characters that doesn' t fit into signed char.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Sep 3 15:09:21 CDT 2014


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Wed Sep  3 14:43:02 2014 +0200

msvcrt: Fix _stricmp behavior on characters that doesn't fit into signed char.

---

 dlls/msvcrt/string.c       | 2 +-
 dlls/msvcrt/tests/string.c | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/dlls/msvcrt/string.c b/dlls/msvcrt/string.c
index bacab00..be65675 100644
--- a/dlls/msvcrt/string.c
+++ b/dlls/msvcrt/string.c
@@ -1766,7 +1766,7 @@ int __cdecl MSVCRT__strnicmp_l(const char *s1, const char *s2,
         MSVCRT_size_t count, MSVCRT__locale_t locale)
 {
     MSVCRT_pthreadlocinfo locinfo;
-    char c1, c2;
+    int c1, c2;
 
     if(s1==NULL || s2==NULL)
         return MSVCRT__NLSCMPERROR;
diff --git a/dlls/msvcrt/tests/string.c b/dlls/msvcrt/tests/string.c
index 5b9d951..1788035 100644
--- a/dlls/msvcrt/tests/string.c
+++ b/dlls/msvcrt/tests/string.c
@@ -2548,6 +2548,8 @@ static void test__stricmp(void)
     ok(ret > 0, "_stricmp returned %d\n", ret);
     ret = _stricmp("\xa5", "\xb9");
     ok(ret == 0, "_stricmp returned %d\n", ret);
+    ret = _stricmp("a", "\xb9");
+    ok(ret < 0, "_stricmp returned %d\n", ret);
 
     setlocale(LC_ALL, "C");
 }




More information about the wine-cvs mailing list