msvcrt.wcstod

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Implemented msvcrt.wcstod:

Changelog:
- implemented wcstod as a function converting the parameters to multibyte
and then calling strtod. There should be no loss of accuracy from the
conversion
? wine/programs/winetest/Makefile
Index: wine/dlls/msvcrt/msvcrt.spec
===================================================================
RCS file: /home/wine/wine/dlls/msvcrt/msvcrt.spec,v
retrieving revision 1.52
diff -u -r1.52 msvcrt.spec
--- wine/dlls/msvcrt/msvcrt.spec	12 Nov 2002 23:20:31 -0000	1.52
+++ wine/dlls/msvcrt/msvcrt.spec	12 Nov 2002 23:37:44 -0000
@@ -753,7 +753,7 @@
 @ forward -noimport wcsrchr ntdll.wcsrchr
 @ forward -noimport wcsspn ntdll.wcsspn
 @ forward -noimport wcsstr ntdll.wcsstr
-@ stub wcstod #(wstr ptr)
+@ cdecl wcstod(wstr ptr) wcstod
 @ forward -noimport wcstok ntdll.wcstok
 @ forward -noimport wcstol ntdll.wcstol
 @ forward -noimport wcstombs ntdll.wcstombs
Index: wine/dlls/msvcrt/wcs.c
===================================================================
RCS file: /home/wine/wine/dlls/msvcrt/wcs.c,v
retrieving revision 1.11
diff -u -r1.11 wcs.c
--- wine/dlls/msvcrt/wcs.c	20 May 2002 18:02:47 -0000	1.11
+++ wine/dlls/msvcrt/wcs.c	12 Nov 2002 23:37:44 -0000
@@ -386,3 +386,28 @@
   return out;
 }
 
+/*********************************************************************
+ *		wcstod (MSVCRT.@)
+ *
+ * Should lose no accuracy by converting to normal string to do
+ * the conversion
+ */
+double wcstod( const WCHAR *nptr, WCHAR **endptr )
+{
+  const unsigned int len = strlenW(nptr);
+  char *nptra = MSVCRT_calloc(len + 1,1);
+  char *endptra;
+
+  if (nptra && WideCharToMultiByte(CP_ACP,0,nptr,len,nptra,len,NULL,NULL))
+  {
+    double retval = strtod(nptra,&endptra);
+    if (endptr != NULL)
+    	*endptr = nptr + (int)(endptra - nptra);
+    MSVCRT_free(nptra);
+    return retval;
+  }
+
+  MSVCRT__set_errno(GetLastError());
+  return 0.0;
+}
+

[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux