From 7cf23a7957aa63069c2ab52e2482840539cd0892 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Wed, 3 Sep 2014 14:43:02 +0200 Subject: [PATCH] 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 bacab00c9a6..be65675af7d 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 5b9d95186ee..17880351b51 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"); }