From 4d0a008e5d0f5984fa6c8088cbe0f0be3702dace Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Wed, 17 Oct 2018 15:22:51 +0200 Subject: [PATCH] msvcrt: Don't forward _atoi64 to ntdll. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45922 Signed-off-by: Piotr Caban Signed-off-by: Alexandre Julliard --- .../api-ms-win-crt-convert-l1-1-0.spec | 2 +- dlls/msvcr100/msvcr100.spec | 4 ++-- dlls/msvcr110/msvcr110.spec | 4 ++-- dlls/msvcr120/msvcr120.spec | 4 ++-- dlls/msvcr120_app/msvcr120_app.spec | 2 +- dlls/msvcr70/msvcr70.spec | 2 +- dlls/msvcr80/msvcr80.spec | 4 ++-- dlls/msvcr90/msvcr90.spec | 4 ++-- dlls/msvcrt/msvcrt.spec | 4 ++-- dlls/msvcrt/string.c | 8 ++++++++ dlls/ucrtbase/ucrtbase.spec | 4 ++-- 11 files changed, 25 insertions(+), 17 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 f8e1b8ed604..a72ec0a4706 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 @@ -5,7 +5,7 @@ @ cdecl _atoflt(ptr str) ucrtbase._atoflt @ cdecl _atoflt_l(ptr str ptr) ucrtbase._atoflt_l @ cdecl -ret64 _atoi64(str) ucrtbase._atoi64 -@ cdecl _atoi64_l(str ptr) ucrtbase._atoi64_l +@ cdecl -ret64 _atoi64_l(str ptr) ucrtbase._atoi64_l @ cdecl _atoi_l(str ptr) ucrtbase._atoi_l @ cdecl _atol_l(str ptr) ucrtbase._atol_l @ cdecl _atoldbl(ptr str) ucrtbase._atoldbl diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index d7f90e68903..78af262d45f 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -696,8 +696,8 @@ @ cdecl _atof_l(str ptr) MSVCRT__atof_l @ cdecl _atoflt(ptr str) MSVCRT__atoflt @ cdecl _atoflt_l(ptr str ptr) MSVCRT__atoflt_l -@ cdecl -ret64 _atoi64(str) ntdll._atoi64 -@ cdecl _atoi64_l(str ptr) MSVCRT__atoi64_l +@ cdecl -ret64 _atoi64(str) MSVCRT__atoi64 +@ cdecl -ret64 _atoi64_l(str ptr) MSVCRT__atoi64_l @ cdecl _atoi_l(str ptr) MSVCRT__atoi_l @ cdecl _atol_l(str ptr) MSVCRT__atol_l @ cdecl _atoldbl(ptr str) MSVCRT__atoldbl diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 113b606cc03..d944012701c 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1044,8 +1044,8 @@ @ cdecl _atof_l(str ptr) MSVCRT__atof_l @ cdecl _atoflt(ptr str) MSVCRT__atoflt @ cdecl _atoflt_l(ptr str ptr) MSVCRT__atoflt_l -@ cdecl -ret64 _atoi64(str) ntdll._atoi64 -@ cdecl _atoi64_l(str ptr) MSVCRT__atoi64_l +@ cdecl -ret64 _atoi64(str) MSVCRT__atoi64 +@ cdecl -ret64 _atoi64_l(str ptr) MSVCRT__atoi64_l @ cdecl _atoi_l(str ptr) MSVCRT__atoi_l @ cdecl _atol_l(str ptr) MSVCRT__atol_l @ cdecl _atoldbl(ptr str) MSVCRT__atoldbl diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 2725e013877..b5b273d2828 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1034,8 +1034,8 @@ @ cdecl _atof_l(str ptr) MSVCRT__atof_l @ cdecl _atoflt(ptr str) MSVCRT__atoflt @ cdecl _atoflt_l(ptr str ptr) MSVCRT__atoflt_l -@ cdecl -ret64 _atoi64(str) ntdll._atoi64 -@ cdecl _atoi64_l(str ptr) MSVCRT__atoi64_l +@ cdecl -ret64 _atoi64(str) MSVCRT__atoi64 +@ cdecl -ret64 _atoi64_l(str ptr) MSVCRT__atoi64_l @ cdecl _atoi_l(str ptr) MSVCRT__atoi_l @ cdecl _atol_l(str ptr) MSVCRT__atol_l @ cdecl _atoldbl(ptr str) MSVCRT__atoldbl diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index 22539e15d80..e926bbbf487 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -1006,7 +1006,7 @@ @ cdecl _atoflt(ptr str) msvcr120._atoflt @ cdecl _atoflt_l(ptr str ptr) msvcr120._atoflt_l @ cdecl -ret64 _atoi64(str) msvcr120._atoi64 -@ cdecl _atoi64_l(str ptr) msvcr120._atoi64_l +@ cdecl -ret64 _atoi64_l(str ptr) msvcr120._atoi64_l @ cdecl _atoi_l(str ptr) msvcr120._atoi_l @ cdecl _atol_l(str ptr) msvcr120._atol_l @ cdecl _atoldbl(ptr str) msvcr120._atoldbl diff --git a/dlls/msvcr70/msvcr70.spec b/dlls/msvcr70/msvcr70.spec index a31cd1bc803..aad93a75fe2 100644 --- a/dlls/msvcr70/msvcr70.spec +++ b/dlls/msvcr70/msvcr70.spec @@ -235,7 +235,7 @@ @ cdecl _amsg_exit(long) @ cdecl _assert(str str long) MSVCRT__assert @ cdecl _atodbl(ptr str) MSVCRT__atodbl -@ cdecl -ret64 _atoi64(str) ntdll._atoi64 +@ cdecl -ret64 _atoi64(str) MSVCRT__atoi64 @ cdecl _atoldbl(ptr str) MSVCRT__atoldbl @ cdecl _beep(long long) MSVCRT__beep @ cdecl _beginthread(ptr long ptr) diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index b563427dade..703bf85f8e8 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -360,8 +360,8 @@ @ cdecl _atof_l(str ptr) MSVCRT__atof_l @ cdecl _atoflt(ptr str) MSVCRT__atoflt @ cdecl _atoflt_l(ptr str ptr) MSVCRT__atoflt_l -@ cdecl -ret64 _atoi64(str) ntdll._atoi64 -@ cdecl _atoi64_l(str ptr) MSVCRT__atoi64_l +@ cdecl -ret64 _atoi64(str) MSVCRT__atoi64 +@ cdecl -ret64 _atoi64_l(str ptr) MSVCRT__atoi64_l @ cdecl _atoi_l(str ptr) MSVCRT__atoi_l @ cdecl _atol_l(str ptr) MSVCRT__atol_l @ cdecl _atoldbl(ptr str) MSVCRT__atoldbl diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index a73500509a4..9b86c534a35 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -344,8 +344,8 @@ @ cdecl _atof_l(str ptr) MSVCRT__atof_l @ cdecl _atoflt(ptr str) MSVCRT__atoflt @ cdecl _atoflt_l(ptr str ptr) MSVCRT__atoflt_l -@ cdecl -ret64 _atoi64(str) ntdll._atoi64 -@ cdecl _atoi64_l(str ptr) MSVCRT__atoi64_l +@ cdecl -ret64 _atoi64(str) MSVCRT__atoi64 +@ cdecl -ret64 _atoi64_l(str ptr) MSVCRT__atoi64_l @ cdecl _atoi_l(str ptr) MSVCRT__atoi_l @ cdecl _atol_l(str ptr) MSVCRT__atol_l @ cdecl _atoldbl(ptr str) MSVCRT__atoldbl diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 4dee1a68ab1..a08093ae997 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -331,8 +331,8 @@ @ cdecl _atodbl_l(ptr str ptr) MSVCRT__atodbl_l @ cdecl _atof_l(str ptr) MSVCRT__atof_l @ cdecl _atoflt_l(ptr str ptr) MSVCRT__atoflt_l -@ cdecl -ret64 _atoi64(str) ntdll._atoi64 -@ cdecl _atoi64_l(str ptr) MSVCRT__atoi64_l +@ cdecl -ret64 _atoi64(str) MSVCRT__atoi64 +@ cdecl -ret64 _atoi64_l(str ptr) MSVCRT__atoi64_l @ cdecl _atoi_l(str ptr) MSVCRT__atoi_l @ cdecl _atol_l(str ptr) MSVCRT__atol_l @ cdecl _atoldbl(ptr str) MSVCRT__atoldbl diff --git a/dlls/msvcrt/string.c b/dlls/msvcrt/string.c index b58d56bd208..56447a7f413 100644 --- a/dlls/msvcrt/string.c +++ b/dlls/msvcrt/string.c @@ -1079,6 +1079,14 @@ __int64 CDECL MSVCRT__atoi64_l(const char *str, MSVCRT__locale_t locale) return MSVCRT_strtoi64_l(str, NULL, 10, locale); } +/****************************************************************** + * _atoi64 (MSVCRT.@) + */ +__int64 CDECL MSVCRT__atoi64(const char *str) +{ + return MSVCRT_strtoi64_l(str, NULL, 10, NULL); +} + /****************************************************************** * _atol_l (MSVCRT.@) */ diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index 422315b789f..0cec3904a99 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -195,8 +195,8 @@ @ cdecl _atof_l(str ptr) MSVCRT__atof_l @ cdecl _atoflt(ptr str) MSVCRT__atoflt @ cdecl _atoflt_l(ptr str ptr) MSVCRT__atoflt_l -@ cdecl -ret64 _atoi64(str) ntdll._atoi64 -@ cdecl _atoi64_l(str ptr) MSVCRT__atoi64_l +@ cdecl -ret64 _atoi64(str) MSVCRT__atoi64 +@ cdecl -ret64 _atoi64_l(str ptr) MSVCRT__atoi64_l @ cdecl _atoi_l(str ptr) MSVCRT__atoi_l @ cdecl _atol_l(str ptr) MSVCRT__atol_l @ cdecl _atoldbl(ptr str) MSVCRT__atoldbl