msvcp90: Added _Stoullx implementation.

This commit is contained in:
Piotr Caban 2012-06-20 13:15:29 +02:00 committed by Alexandre Julliard
parent d1b67cea3b
commit bb6bb0e394
2 changed files with 42 additions and 4 deletions

View File

@ -3936,6 +3936,44 @@ LONG __cdecl _Stolx(const char *buf, char **buf_end, int base, int *err)
return i;
}
unsigned __int64 __cdecl _Stoull(const char *buf, char **buf_end, int base)
{
return _strtoui64(buf, buf_end, base);
}
unsigned __int64 __cdecl _Stoullx(const char *buf, char **buf_end, int base, int *err)
{
unsigned __int64 ret;
*err = *_errno();
*_errno() = 0;
ret = _strtoui64(buf, buf_end, base);
if(*_errno()) {
*err = *_errno();
}else {
*_errno() = *err;
*err = 0;
}
return ret;
}
ULONG __cdecl _Stoul(const char *buf, char **buf_end, int base)
{
int err;
unsigned __int64 i = _Stoullx(buf[0]=='-' ? buf+1 : buf, buf_end, base, &err);
if(!err && i!=(unsigned __int64)((ULONG)i))
*_errno() = ERANGE;
return buf[0]=='-' ? -i : i;
}
ULONG __cdecl _Stoulx(const char *buf, char **buf_end, int base, int *err)
{
unsigned __int64 i = _Stoullx(buf[0]=='-' ? buf+1 : buf, buf_end, base, err);
if(!*err && i!=(unsigned __int64)((ULONG)i))
*err = ERANGE;
return buf[0]=='-' ? -i : i;
}
/* ?id@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2V0locale@2@A */
locale_id num_get_wchar_id = {0};
/* ?id@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A */

View File

@ -5792,10 +5792,10 @@
@ cdecl -ret64 _Stoll(ptr ptr long)
@ cdecl -ret64 _Stollx(ptr ptr long ptr)
@ cdecl _Stolx(ptr ptr long ptr)
@ stub _Stoul
@ stub _Stoull
@ stub _Stoullx
@ stub _Stoulx
@ cdecl _Stoul(ptr ptr long)
@ cdecl -ret64 _Stoull(ptr ptr long)
@ cdecl -ret64 _Stoullx(ptr ptr long ptr)
@ cdecl _Stoulx(ptr ptr long ptr)
@ cdecl _Strcoll(ptr ptr ptr ptr ptr)
@ stub _Strxfrm
@ cdecl _Tolower(long ptr)