[PATCH] msvcr120: Implement atoll, _atoll_l, _wtoll, _wtoll_l.
Rafał Harabień
rafalh1992 at o2.pl
Sun Feb 7 16:23:48 CST 2016
---
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
More information about the wine-patches
mailing list