Louis Lenders : msvcrt: Add _atoldbl.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Dec 19 10:04:57 CST 2006


Module: wine
Branch: master
Commit: 6c04a187d24a396b0a141ddf96959f6c7c834c6e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=6c04a187d24a396b0a141ddf96959f6c7c834c6e

Author: Louis Lenders <xerox_xerox2000 at yahoo.co.uk>
Date:   Sun Dec 17 17:56:50 2006 +0000

msvcrt: Add _atoldbl.

---

 configure               |    2 ++
 configure.ac            |    1 +
 dlls/msvcrt/msvcrt.h    |    2 ++
 dlls/msvcrt/msvcrt.spec |    2 +-
 dlls/msvcrt/string.c    |   18 ++++++++++++++++++
 include/config.h.in     |    3 +++
 6 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/configure b/configure
index b60889d..6779121 100755
--- a/configure
+++ b/configure
@@ -15845,6 +15845,7 @@ fi
 
 
 
+
 for ac_func in \
 	_pclose \
 	_popen \
@@ -15910,6 +15911,7 @@ for ac_func in \
 	strcasecmp \
 	strerror \
 	strncasecmp \
+	strtold \
 	tcgetattr \
 	timegm \
 	usleep \
diff --git a/configure.ac b/configure.ac
index f44e3eb..efbf32d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1228,6 +1228,7 @@ AC_CHECK_FUNCS(\
 	strcasecmp \
 	strerror \
 	strncasecmp \
+	strtold \
 	tcgetattr \
 	timegm \
 	usleep \
diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h
index 0066e3d..3a50af2 100644
--- a/dlls/msvcrt/msvcrt.h
+++ b/dlls/msvcrt/msvcrt.h
@@ -70,6 +70,8 @@ typedef void (*MSVCRT__beginthread_start
 typedef unsigned int (__stdcall *MSVCRT__beginthreadex_start_routine_t)(void *);
 typedef int (*MSVCRT__onexit_t)(void);
 
+typedef struct {long double x;} _LDOUBLE;
+
 struct MSVCRT_tm {
     int tm_sec;
     int tm_min;
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 59e21f6..7712045 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -166,7 +166,7 @@
 @ cdecl _assert(str str long) MSVCRT__assert
 @ stub _atodbl #(ptr str)
 @ cdecl -ret64 _atoi64(str) ntdll._atoi64
-@ stub _atoldbl #(ptr str)
+@ cdecl _atoldbl(ptr str) MSVCRT__atoldbl
 @ cdecl _beep(long long)
 @ cdecl _beginthread (ptr long ptr)
 @ cdecl _beginthreadex (ptr long ptr ptr long ptr)
diff --git a/dlls/msvcrt/string.c b/dlls/msvcrt/string.c
index 6dfce9a..ec4bd70 100644
--- a/dlls/msvcrt/string.c
+++ b/dlls/msvcrt/string.c
@@ -21,6 +21,9 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
+#define _ISOC99_SOURCE
+#include "config.h"
+
 #include <stdlib.h>
 #include "msvcrt.h"
 #include "wine/debug.h"
@@ -184,3 +187,18 @@ int CDECL MSVCRT__stricoll( const char*
   TRACE("str1 %s str2 %s\n", debugstr_a(str1), debugstr_a(str2));
   return lstrcmpiA( str1, str2 );
 }
+
+/********************************************************************
+ *		_atoldbl (MSVCRT.@)
+ */
+int CDECL MSVCRT__atoldbl(_LDOUBLE * value, char * str)
+{
+  /* FIXME needs error checking for huge/small values */
+#ifdef HAVE_STRTOLD
+  TRACE("str %s value %p\n",str,value);
+  value->x = strtold(str,0);
+#else
+  FIXME("stub, str %s value %p\n",str,value);
+#endif
+  return 0;
+}
diff --git a/include/config.h.in b/include/config.h.in
index 11bd3bb..6f5387a 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -666,6 +666,9 @@
 /* Define to 1 if you have the `strncasecmp' function. */
 #undef HAVE_STRNCASECMP
 
+/* Define to 1 if you have the `strtold' function. */
+#undef HAVE_STRTOLD
+
 /* Define to 1 if `direction' is member of `struct ff_effect'. */
 #undef HAVE_STRUCT_FF_EFFECT_DIRECTION
 




More information about the wine-cvs mailing list