msvcrt: Add _strtol_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
oldstable
Piotr Caban 2015-12-21 11:22:45 +01:00 committed by Alexandre Julliard
parent ba21de83a6
commit 5e10634a5a
10 changed files with 21 additions and 12 deletions

View File

@ -34,7 +34,7 @@
@ cdecl -ret64 _strtoi64(str ptr long) ucrtbase._strtoi64
@ cdecl -ret64 _strtoi64_l(str ptr long ptr) ucrtbase._strtoi64_l
@ stub _strtoimax_l
@ stub _strtol_l
@ cdecl _strtol_l(str ptr long ptr) ucrtbase._strtol_l
@ stub _strtold_l
@ cdecl -ret64 _strtoll_l(str ptr long ptr) ucrtbase._strtoll_l
@ cdecl -ret64 _strtoui64(str ptr long) ucrtbase._strtoui64

View File

@ -1364,7 +1364,7 @@
@ cdecl _strtod_l(str ptr ptr) MSVCRT_strtod_l
@ cdecl -ret64 _strtoi64(str ptr long) MSVCRT_strtoi64
@ cdecl -ret64 _strtoi64_l(str ptr long ptr) MSVCRT_strtoi64_l
@ stub _strtol_l
@ cdecl _strtol_l(str ptr long ptr) MSVCRT__strtol_l
@ cdecl -ret64 _strtoui64(str ptr long) MSVCRT_strtoui64
@ cdecl -ret64 _strtoui64_l(str ptr long ptr) MSVCRT_strtoui64_l
@ cdecl _strtoul_l(str ptr long ptr) MSVCRT_strtoul_l

View File

@ -1722,7 +1722,7 @@
@ cdecl _strtod_l(str ptr ptr) MSVCRT_strtod_l
@ cdecl -ret64 _strtoi64(str ptr long) MSVCRT_strtoi64
@ cdecl -ret64 _strtoi64_l(str ptr long ptr) MSVCRT_strtoi64_l
@ stub _strtol_l
@ cdecl _strtol_l(str ptr long ptr) MSVCRT__strtol_l
@ cdecl -ret64 _strtoui64(str ptr long) MSVCRT_strtoui64
@ cdecl -ret64 _strtoui64_l(str ptr long ptr) MSVCRT_strtoui64_l
@ cdecl _strtoul_l(str ptr long ptr) MSVCRT_strtoul_l

View File

@ -1735,7 +1735,7 @@
@ cdecl -ret64 _strtoi64(str ptr long) MSVCRT_strtoi64
@ cdecl -ret64 _strtoi64_l(str ptr long ptr) MSVCRT_strtoi64_l
@ stub _strtoimax_l
@ stub _strtol_l
@ cdecl _strtol_l(str ptr long ptr) MSVCRT__strtol_l
@ stub _strtold_l
@ cdecl -ret64 _strtoll_l(str ptr long ptr) MSVCRT_strtoi64_l
@ cdecl -ret64 _strtoui64(str ptr long) MSVCRT_strtoui64

View File

@ -1446,7 +1446,7 @@
@ cdecl -ret64 _strtoi64(str ptr long) msvcr120._strtoi64
@ cdecl -ret64 _strtoi64_l(str ptr long ptr) msvcr120._strtoi64_l
@ stub _strtoimax_l
@ stub _strtol_l
@ cdecl _strtol_l(str ptr long ptr) msvcr120._strtol_l
@ stub _strtold_l
@ cdecl -ret64 _strtoll_l(str ptr long ptr) msvcr120._strtoll_l
@ cdecl -ret64 _strtoui64(str ptr long) msvcr120._strtoui64

View File

@ -1045,7 +1045,7 @@
@ cdecl _strtod_l(str ptr ptr) MSVCRT_strtod_l
@ cdecl -ret64 _strtoi64(str ptr long) MSVCRT_strtoi64
@ cdecl -ret64 _strtoi64_l(str ptr long ptr) MSVCRT_strtoi64_l
@ stub _strtol_l
@ cdecl _strtol_l(str ptr long ptr) MSVCRT__strtol_l
@ cdecl -ret64 _strtoui64(str ptr long) MSVCRT_strtoui64
@ cdecl -ret64 _strtoui64_l(str ptr long ptr) MSVCRT_strtoui64_l
@ cdecl _strtoul_l(str ptr long ptr) MSVCRT_strtoul_l

View File

@ -1019,7 +1019,7 @@
@ cdecl _strtod_l(str ptr ptr) MSVCRT_strtod_l
@ cdecl -ret64 _strtoi64(str ptr long) MSVCRT_strtoi64
@ cdecl -ret64 _strtoi64_l(str ptr long ptr) MSVCRT_strtoi64_l
@ stub _strtol_l
@ cdecl _strtol_l(str ptr long ptr) MSVCRT__strtol_l
@ cdecl -ret64 _strtoui64(str ptr long) MSVCRT_strtoui64
@ cdecl -ret64 _strtoui64_l(str ptr long ptr) MSVCRT_strtoui64_l
@ cdecl _strtoul_l(str ptr long ptr) MSVCRT_strtoul_l

View File

@ -980,7 +980,7 @@
@ cdecl _strtod_l(str ptr ptr) MSVCRT_strtod_l
@ cdecl -ret64 _strtoi64(str ptr long) MSVCRT_strtoi64
@ cdecl -ret64 _strtoi64_l(str ptr long ptr) MSVCRT_strtoi64_l
# stub _strtol_l(str ptr long ptr)
@ cdecl _strtol_l(str ptr long ptr) MSVCRT__strtol_l
@ cdecl -ret64 _strtoui64(str ptr long) MSVCRT_strtoui64
@ cdecl -ret64 _strtoui64_l(str ptr long ptr) MSVCRT_strtoui64_l
@ cdecl _strtoul_l(str ptr long ptr) MSVCRT_strtoul_l

View File

@ -1018,11 +1018,12 @@ int CDECL MSVCRT_atoi(const char *str)
#endif
/******************************************************************
* strtol (MSVCRT.@)
* _strtol_l (MSVCRT.@)
*/
MSVCRT_long CDECL MSVCRT_strtol(const char* nptr, char** end, int base)
MSVCRT_long CDECL MSVCRT__strtol_l(const char* nptr,
char** end, int base, MSVCRT__locale_t locale)
{
__int64 ret = MSVCRT_strtoi64_l(nptr, end, base, NULL);
__int64 ret = MSVCRT_strtoi64_l(nptr, end, base, locale);
if(ret > MSVCRT_LONG_MAX) {
ret = MSVCRT_LONG_MAX;
@ -1035,6 +1036,14 @@ MSVCRT_long CDECL MSVCRT_strtol(const char* nptr, char** end, int base)
return ret;
}
/******************************************************************
* strtol (MSVCRT.@)
*/
MSVCRT_long CDECL MSVCRT_strtol(const char* nptr, char** end, int base)
{
return MSVCRT__strtol_l(nptr, end, base, NULL);
}
/******************************************************************
* _strtoul_l (MSVCRT.@)
*/

View File

@ -1953,7 +1953,7 @@
@ cdecl -ret64 _strtoi64(str ptr long) MSVCRT_strtoi64
@ cdecl -ret64 _strtoi64_l(str ptr long ptr) MSVCRT_strtoi64_l
@ stub _strtoimax_l
@ stub _strtol_l
@ cdecl _strtol_l(str ptr long ptr) MSVCRT__strtol_l
@ stub _strtold_l
@ cdecl -ret64 _strtoll_l(str ptr long ptr) MSVCRT_strtoi64_l
@ cdecl -ret64 _strtoui64(str ptr long) MSVCRT_strtoui64