diff --git a/sdk/lib/crt/string/wtoi64.c b/sdk/lib/crt/string/wtoi64.c index 94684fa0d3a..59409933c95 100644 --- a/sdk/lib/crt/string/wtoi64.c +++ b/sdk/lib/crt/string/wtoi64.c @@ -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; } /*********************************************************************