1 #include <precomp.h> 2 3 /* Based on Wine Staging 1.9.9 - dlls/msvcrt/string.c */ 4 /****************************************************************** 5 * _strtoul_l (MSVCRT.@) 6 */ 7 unsigned long CDECL _strtoul_l(const char* nptr, char** end, int base, _locale_t locale) 8 { 9 __int64 ret = _strtoi64_l(nptr, end, base, locale); 10 11 if(ret > ULONG_MAX) { 12 ret = ULONG_MAX; 13 #ifndef _LIBCNT_ 14 *_errno() = ERANGE; 15 #endif 16 }else if(ret < -(__int64)ULONG_MAX) { 17 ret = 1; 18 #ifndef _LIBCNT_ 19 *_errno() = ERANGE; 20 #endif 21 } 22 23 return ret; 24 } 25 26 /****************************************************************** 27 * strtoul (MSVCRT.@) 28 */ 29 unsigned long CDECL strtoul(const char* nptr, char** end, int base) 30 { 31 return _strtoul_l(nptr, end, base, NULL); 32 } 33