From: Rafał Harabień Subject: [PATCH] msvcr120: Implement atoll, _atoll_l, _wtoll, _wtoll_l. Message-Id: <1454883828-31569-1-git-send-email-rafalh1992@o2.pl> Date: Sun, 7 Feb 2016 23:23:48 +0100 --- dlls/msvcr120/msvcr120.spec | 8 ++++---- dlls/msvcr120_app/msvcr120_app.spec | 8 ++++---- dlls/msvcrt/string.c | 16 ++++++++++++++++ dlls/msvcrt/wcs.c | 16 ++++++++++++++++ 4 files changed, 40 insertions(+), 8 deletions(-) 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..b5ee29d 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 (MSVCRT.@) + */ +MSVCRT_longlong CDECL MSVCRT__atoll_l(const char* str, MSVCRT__locale_t locale) +{ + return MSVCRT_strtoi64_l(str, NULL, 10, locale); +} + +/****************************************************************** + * atoll (MSVCRT.@) + */ +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..f3e1932 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 (MSVCRT.@) + */ +MSVCRT_longlong __cdecl MSVCRT__wtoll_l(const MSVCRT_wchar_t *str, MSVCRT__locale_t locale) +{ + return MSVCRT__wcstoi64_l(str, NULL, 10, locale); +} + +/********************************************************************* + * _wtoll (MSVCRT.@) + */ +MSVCRT_longlong __cdecl MSVCRT__wtoll(const MSVCRT_wchar_t *str) +{ + return MSVCRT__wtoll_l(str, NULL); +} + +/********************************************************************* * _wcstoui64_l (MSVCRT.@) * * FIXME: locale parameter is ignored -- 1.9.1