Module: wine Branch: master Commit: ad9ab7c40b219836cbf36d9c7355557e3c54395e URL: http://source.winehq.org/git/wine.git/?a=commit;h=ad9ab7c40b219836cbf36d9c73...
Author: Rafał Harabień rafalh1992@o2.pl Date: Tue Feb 9 14:29:07 2016 +0100
msvcr120: Implement atoll, _atoll_l, _wtoll, _wtoll_l.
Signed-off-by: Rafał Harabień rafalh1992@o2.pl Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
.../api-ms-win-crt-convert-l1-1-0.spec | 8 ++++---- dlls/msvcr120/msvcr120.spec | 8 ++++---- dlls/msvcr120_app/msvcr120_app.spec | 8 ++++---- dlls/msvcrt/string.c | 16 ++++++++++++++++ dlls/msvcrt/wcs.c | 16 ++++++++++++++++ dlls/ucrtbase/ucrtbase.spec | 8 ++++---- 6 files changed, 48 insertions(+), 16 deletions(-)
diff --git a/dlls/api-ms-win-crt-convert-l1-1-0/api-ms-win-crt-convert-l1-1-0.spec b/dlls/api-ms-win-crt-convert-l1-1-0/api-ms-win-crt-convert-l1-1-0.spec index 319bff5..6ac93d3 100644 --- a/dlls/api-ms-win-crt-convert-l1-1-0/api-ms-win-crt-convert-l1-1-0.spec +++ b/dlls/api-ms-win-crt-convert-l1-1-0/api-ms-win-crt-convert-l1-1-0.spec @@ -10,7 +10,7 @@ @ stub _atol_l @ cdecl _atoldbl(ptr str) ucrtbase._atoldbl @ stub _atoldbl_l -@ stub _atoll_l +@ cdecl -ret64 _atoll_l(str ptr) ucrtbase._atoll_l @ cdecl _ecvt(double long ptr ptr) ucrtbase._ecvt @ cdecl _ecvt_s(str long double long ptr ptr) ucrtbase._ecvt_s @ cdecl _fcvt(double long ptr ptr) ucrtbase._fcvt @@ -75,12 +75,12 @@ @ cdecl _wtoi_l(wstr ptr) ucrtbase._wtoi_l @ cdecl _wtol(wstr) ucrtbase._wtol @ cdecl _wtol_l(wstr ptr) ucrtbase._wtol_l -@ stub _wtoll -@ stub _wtoll_l +@ cdecl -ret64 _wtoll(wstr) ucrtbase._wtoll +@ cdecl -ret64 _wtoll_l(wstr ptr) ucrtbase._wtoll_l @ cdecl atof(str) ucrtbase.atof @ cdecl atoi(str) ucrtbase.atoi @ cdecl atol(str) ucrtbase.atol -@ stub atoll +@ cdecl -ret64 atoll(str) ucrtbase.atoll @ cdecl btowc(long) ucrtbase.btowc @ stub c16rtomb @ stub c32rtomb diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 9931820..5f6533c 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1040,7 +1040,7 @@ @ stub _atol_l @ cdecl _atoldbl(ptr str) MSVCRT__atoldbl @ stub _atoldbl_l -@ stub _atoll_l +@ cdecl -ret64 _atoll_l(str ptr) MSVCRT__atoll_l @ cdecl _beep(long long) MSVCRT__beep @ cdecl _beginthread(ptr long ptr) @ cdecl _beginthreadex(ptr long ptr ptr long ptr) @@ -1999,8 +1999,8 @@ @ cdecl _wtoi_l(wstr ptr) MSVCRT__wtoi_l @ cdecl _wtol(wstr) MSVCRT__wtol @ cdecl _wtol_l(wstr ptr) MSVCRT__wtol_l -@ stub _wtoll -@ stub _wtoll_l +@ cdecl -ret64 _wtoll(wstr) MSVCRT__wtoll +@ cdecl -ret64 _wtoll_l(wstr ptr) MSVCRT__wtoll_l @ cdecl _wunlink(wstr) MSVCRT__wunlink @ cdecl _wutime32(wstr ptr) @ cdecl _wutime64(wstr ptr) @@ -2032,7 +2032,7 @@ @ cdecl atof(str) MSVCRT_atof @ cdecl atoi(str) MSVCRT_atoi @ cdecl atol(str) ntdll.atol -@ stub atoll +@ cdecl -ret64 atoll(str) MSVCRT_atoll @ cdecl bsearch(ptr ptr long long ptr) MSVCRT_bsearch @ cdecl bsearch_s(ptr ptr long long ptr ptr) MSVCRT_bsearch_s @ cdecl btowc(long) MSVCRT_btowc diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index 50066ed..f938eff 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -1011,7 +1011,7 @@ @ stub _atol_l @ cdecl _atoldbl(ptr str) msvcr120._atoldbl @ stub _atoldbl_l -@ stub _atoll_l +@ cdecl -ret64 _atoll_l(str ptr) msvcr120._atoll_l @ cdecl _byteswap_uint64(int64) msvcr120._byteswap_uint64 @ cdecl _byteswap_ulong(long) msvcr120._byteswap_ulong @ cdecl _byteswap_ushort(long) msvcr120._byteswap_ushort @@ -1665,8 +1665,8 @@ @ cdecl _wtoi_l(wstr ptr) msvcr120._wtoi_l @ cdecl _wtol(wstr) msvcr120._wtol @ cdecl _wtol_l(wstr ptr) msvcr120._wtol_l -@ stub _wtoll -@ stub _wtoll_l +@ cdecl -ret64 _wtoll(wstr) msvcr120._wtoll +@ cdecl -ret64 _wtoll_l(wstr ptr) msvcr120._wtoll_l @ cdecl _wunlink(wstr) msvcr120._wunlink @ cdecl _wutime32(wstr ptr) msvcr120._wutime32 @ cdecl _wutime64(wstr ptr) msvcr120._wutime64 @@ -1698,7 +1698,7 @@ @ cdecl atof(str) msvcr120.atof @ cdecl atoi(str) msvcr120.atoi @ cdecl atol(str) msvcr120.atol -@ stub atoll +@ cdecl -ret64 atoll(str) msvcr120.atoll @ cdecl bsearch(ptr ptr long long ptr) msvcr120.bsearch @ cdecl bsearch_s(ptr ptr long long ptr ptr) msvcr120.bsearch_s @ cdecl btowc(long) msvcr120.btowc diff --git a/dlls/msvcrt/string.c b/dlls/msvcrt/string.c index f44ac52..59da5bd 100644 --- a/dlls/msvcrt/string.c +++ b/dlls/msvcrt/string.c @@ -1018,6 +1018,22 @@ int CDECL MSVCRT_atoi(const char *str) #endif
/****************************************************************** + * _atoll_l (MSVCR120.@) + */ +MSVCRT_longlong CDECL MSVCRT__atoll_l(const char* str, MSVCRT__locale_t locale) +{ + return MSVCRT_strtoi64_l(str, NULL, 10, locale); +} + +/****************************************************************** + * atoll (MSVCR120.@) + */ +MSVCRT_longlong CDECL MSVCRT_atoll(const char* str) +{ + return MSVCRT__atoll_l(str, NULL); +} + +/****************************************************************** * _strtol_l (MSVCRT.@) */ MSVCRT_long CDECL MSVCRT__strtol_l(const char* nptr, diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c index 56625e9..b6946a3 100644 --- a/dlls/msvcrt/wcs.c +++ b/dlls/msvcrt/wcs.c @@ -2083,6 +2083,22 @@ MSVCRT_long __cdecl MSVCRT__wtol(const MSVCRT_wchar_t *str) }
/********************************************************************* + * _wtoll_l (MSVCR120.@) + */ +MSVCRT_longlong __cdecl MSVCRT__wtoll_l(const MSVCRT_wchar_t *str, MSVCRT__locale_t locale) +{ + return MSVCRT__wcstoi64_l(str, NULL, 10, locale); +} + +/********************************************************************* + * _wtoll (MSVCR120.@) + */ +MSVCRT_longlong __cdecl MSVCRT__wtoll(const MSVCRT_wchar_t *str) +{ + return MSVCRT__wtoll_l(str, NULL); +} + +/********************************************************************* * _wcstoui64_l (MSVCRT.@) * * FIXME: locale parameter is ignored diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index e809596..801cb99 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -201,7 +201,7 @@ @ stub _atol_l @ cdecl _atoldbl(ptr str) MSVCRT__atoldbl @ stub _atoldbl_l -@ stub _atoll_l +@ cdecl -ret64 _atoll_l(str ptr) MSVCRT__atoll_l @ cdecl _beep(long long) MSVCRT__beep @ cdecl _beginthread(ptr long ptr) @ cdecl _beginthreadex(ptr long ptr ptr long ptr) @@ -2141,8 +2141,8 @@ @ cdecl _wtoi_l(wstr ptr) MSVCRT__wtoi_l @ cdecl _wtol(wstr) MSVCRT__wtol @ cdecl _wtol_l(wstr ptr) MSVCRT__wtol_l -@ stub _wtoll -@ stub _wtoll_l +@ cdecl -ret64 _wtoll(wstr) MSVCRT__wtoll +@ cdecl -ret64 _wtoll_l(wstr ptr) MSVCRT__wtoll_l @ cdecl _wunlink(wstr) MSVCRT__wunlink @ cdecl _wutime32(wstr ptr) @ cdecl _wutime64(wstr ptr) @@ -2173,7 +2173,7 @@ @ cdecl atof(str) MSVCRT_atof @ cdecl atoi(str) MSVCRT_atoi @ cdecl atol(str) ntdll.atol -@ stub atoll +@ cdecl -ret64 atoll(str) MSVCRT_atoll @ cdecl bsearch(ptr ptr long long ptr) MSVCRT_bsearch @ cdecl bsearch_s(ptr ptr long long ptr ptr) MSVCRT_bsearch_s @ cdecl btowc(long) MSVCRT_btowc