[0.4.14][CRT] Fix 2 MSVC compiler warnings CORE-17812
authorJoachim Henze <Joachim.Henze@reactos.org>
Mon, 11 Oct 2021 19:59:46 +0000 (21:59 +0200)
committerJoachim Henze <Joachim.Henze@reactos.org>
Mon, 11 Oct 2021 19:59:46 +0000 (21:59 +0200)
observed with MSVC2010SP1 16.0.40219.1 in rls-config several times:
sdk\lib\crt\string\wtoi64.c(28) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
sdk\lib\crt\string\wtoi64.c(194) : warning C4146: unary minus operator applied to unsigned type, result still unsigned

the fix is a PARTIAL port of 0.4.15-dev-2951-g 5d8e834897781944dcaf80de6c3df9c2c51212c7

and while touching the file
fix another white-space-glitch.
in sum that brings us 100% in sync in this file to
current master head 0.4.15-dev-3264-g570cedf.

sdk/lib/crt/string/wtoi64.c

index 94684fa..5940993 100644 (file)
@@ -6,7 +6,7 @@
  */
 __int64 CDECL _wtoi64_l(const wchar_t *str, _locale_t locale)
 {
-    ULONGLONG RunningTotal = 0;
+    LONGLONG RunningTotal = 0;
     BOOL bMinus = FALSE;
 
     while (iswctype((int)*str, _SPACE)) {
@@ -104,7 +104,7 @@ __int64 CDECL _wcstoi64_l(const wchar_t *nptr,
             ret = _I64_MIN;
 #ifndef _LIBCNT_
             *_errno() = ERANGE;
-#endif            
+#endif
         } else
             ret = ret*base + v;
     }
@@ -191,7 +191,7 @@ unsigned __int64 CDECL _wcstoui64_l(const wchar_t *nptr,
     if(endptr)
         *endptr = (wchar_t*)nptr;
 
-    return negative ? -ret : ret;
+    return negative ? -(__int64)ret : ret;
 }
 
 /*********************************************************************