From e1c7a1f7ce03c1e69e008378e90523e85e1c6e8f Mon Sep 17 00:00:00 2001 From: Hua Meng <161220092@smail.nju.edu.cn> Date: Mon, 26 Mar 2018 21:20:48 +0200 Subject: [PATCH] msvcrt: Implement _atoi64_l. Signed-off-by: Hua Meng <161220092@smail.nju.edu.cn> Signed-off-by: Piotr Caban Signed-off-by: Alexandre Julliard --- .../api-ms-win-crt-convert-l1-1-0.spec | 2 +- dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr110/msvcr110.spec | 2 +- dlls/msvcr120/msvcr120.spec | 2 +- dlls/msvcr120_app/msvcr120_app.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/msvcrt.spec | 2 +- dlls/msvcrt/string.c | 8 ++++++++ dlls/ucrtbase/ucrtbase.spec | 2 +- 10 files changed, 17 insertions(+), 9 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 aa2f513ee2d..f8e1b8ed604 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 -@ stub _atoi64_l +@ cdecl _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 150f235ed25..44269879364 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -697,7 +697,7 @@ @ cdecl _atoflt(ptr str) MSVCRT__atoflt @ cdecl _atoflt_l(ptr str ptr) MSVCRT__atoflt_l @ cdecl -ret64 _atoi64(str) ntdll._atoi64 -@ stub _atoi64_l +@ cdecl _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 d151480fb5b..27b3508e033 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1045,7 +1045,7 @@ @ cdecl _atoflt(ptr str) MSVCRT__atoflt @ cdecl _atoflt_l(ptr str ptr) MSVCRT__atoflt_l @ cdecl -ret64 _atoi64(str) ntdll._atoi64 -@ stub _atoi64_l +@ cdecl _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 5b136003d41..254040a4bf5 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1035,7 +1035,7 @@ @ cdecl _atoflt(ptr str) MSVCRT__atoflt @ cdecl _atoflt_l(ptr str ptr) MSVCRT__atoflt_l @ cdecl -ret64 _atoi64(str) ntdll._atoi64 -@ stub _atoi64_l +@ cdecl _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 c60160dd15f..473905530e6 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 -@ stub _atoi64_l +@ cdecl _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/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 4c7177ce78c..0df1f0adb75 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -361,7 +361,7 @@ @ cdecl _atoflt(ptr str) MSVCRT__atoflt @ cdecl _atoflt_l(ptr str ptr) MSVCRT__atoflt_l @ cdecl -ret64 _atoi64(str) ntdll._atoi64 -@ stub _atoi64_l +@ cdecl _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 da9e0aec3ee..72381630cd5 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -345,7 +345,7 @@ @ cdecl _atoflt(ptr str) MSVCRT__atoflt @ cdecl _atoflt_l(ptr str ptr) MSVCRT__atoflt_l @ cdecl -ret64 _atoi64(str) ntdll._atoi64 -@ stub _atoi64_l +@ cdecl _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 5fe99770b14..4dee1a68ab1 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -332,7 +332,7 @@ @ cdecl _atof_l(str ptr) MSVCRT__atof_l @ cdecl _atoflt_l(ptr str ptr) MSVCRT__atoflt_l @ cdecl -ret64 _atoi64(str) ntdll._atoi64 -# stub -ret64 _atoi64_l(str ptr) +@ cdecl _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 50c146f4ea0..c8cd390688f 100644 --- a/dlls/msvcrt/string.c +++ b/dlls/msvcrt/string.c @@ -1068,6 +1068,14 @@ int CDECL MSVCRT_atoi(const char *str) } #endif +/****************************************************************** + * _atoi64_l (MSVCRT.@) + */ +__int64 CDECL MSVCRT__atoi64_l(const char *str, MSVCRT__locale_t locale) +{ + return MSVCRT_strtoi64_l(str, NULL, 10, locale); +} + /****************************************************************** * _atol_l (MSVCRT.@) */ diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index 63d040fe6fb..b12a1b134de 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -196,7 +196,7 @@ @ cdecl _atoflt(ptr str) MSVCRT__atoflt @ cdecl _atoflt_l(ptr str ptr) MSVCRT__atoflt_l @ cdecl -ret64 _atoi64(str) ntdll._atoi64 -@ stub _atoi64_l +@ cdecl _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