Piotr Caban : msvcrt: Added _atoi_l implementation.
Alexandre Julliard
julliard at winehq.org
Wed Dec 12 15:14:54 CST 2012
Module: wine
Branch: master
Commit: b5cf3057e97aa18f4525bd4819855efb60e09836
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b5cf3057e97aa18f4525bd4819855efb60e09836
Author: Piotr Caban <piotr at codeweavers.com>
Date: Wed Dec 12 11:16:19 2012 +0100
msvcrt: Added _atoi_l implementation.
---
dlls/msvcr100/msvcr100.spec | 2 +-
dlls/msvcr80/msvcr80.spec | 2 +-
dlls/msvcr90/msvcr90.spec | 2 +-
dlls/msvcrt/msvcrt.spec | 2 +-
dlls/msvcrt/string.c | 17 +++++++++++++++++
5 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index c57b43d..44123a3 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -693,7 +693,7 @@
@ cdecl _atoflt_l(ptr str ptr) msvcrt._atoflt_l
@ cdecl -ret64 _atoi64(str) msvcrt._atoi64
@ stub _atoi64_l
-@ stub _atoi_l
+@ cdecl _atoi_l(str ptr) msvcrt._atoi_l
@ stub _atol_l
@ cdecl _atoldbl(ptr str) msvcrt._atoldbl
@ stub _atoldbl_l
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index 8c53751..91fe34a 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -349,7 +349,7 @@
@ cdecl _atoflt_l(ptr str ptr) msvcrt._atoflt_l
@ cdecl -ret64 _atoi64(str) msvcrt._atoi64
@ stub _atoi64_l
-@ stub _atoi_l
+@ cdecl _atoi_l(str ptr) msvcrt._atoi_l
@ stub _atol_l
@ cdecl _atoldbl(ptr str) msvcrt._atoldbl
@ stub _atoldbl_l
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 500ed27..ae3dfa2 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -341,7 +341,7 @@
@ cdecl _atoflt_l(ptr str ptr) msvcrt._atoflt_l
@ cdecl -ret64 _atoi64(str) msvcrt._atoi64
@ stub _atoi64_l
-@ stub _atoi_l
+@ cdecl _atoi_l(str ptr) msvcrt._atoi_l
@ stub _atol_l
@ cdecl _atoldbl(ptr str) msvcrt._atoldbl
@ stub _atoldbl_l
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 239e820..6d46f82 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -306,7 +306,7 @@
@ cdecl _atoflt_l(ptr str ptr) MSVCRT__atoflt_l
@ cdecl -ret64 _atoi64(str) ntdll._atoi64
# stub -ret64 _atoi64_l(str ptr)
-# stub _atoi_l(str ptr)
+@ cdecl _atoi_l(str ptr) MSVCRT__atoi_l
# stub _atol_l(str ptr)
@ cdecl _atoldbl(ptr str) MSVCRT__atoldbl
# stub _atoldbl_l(ptr str ptr)
diff --git a/dlls/msvcrt/string.c b/dlls/msvcrt/string.c
index ad33f6a..1e46488 100644
--- a/dlls/msvcrt/string.c
+++ b/dlls/msvcrt/string.c
@@ -915,6 +915,23 @@ __int64 CDECL MSVCRT_strtoi64(const char *nptr, char **endptr, int base)
}
/*********************************************************************
+ * _atoi_l (MSVCRT.@)
+ */
+int MSVCRT__atoi_l(const char *str, MSVCRT__locale_t locale)
+{
+ __int64 ret = MSVCRT_strtoi64_l(str, NULL, 10, locale);
+
+ if(ret > INT_MAX) {
+ ret = INT_MAX;
+ *MSVCRT__errno() = MSVCRT_ERANGE;
+ } else if(ret < INT_MIN) {
+ ret = INT_MIN;
+ *MSVCRT__errno() = MSVCRT_ERANGE;
+ }
+ return ret;
+}
+
+/*********************************************************************
* _strtoui64_l (MSVCRT.@)
*
* FIXME: locale parameter is ignored
More information about the wine-cvs
mailing list