[PATCH] ucrtbase: Add partial strtold implementation.
Gijs Vermeulen
gijsvrm at gmail.com
Sun Oct 4 19:07:43 CDT 2020
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49873
Signed-off-by: Gijs Vermeulen <gijsvrm at gmail.com>
---
.../api-ms-win-crt-convert-l1-1-0.spec | 2 +-
.../api-ms-win-crt-private-l1-1-0.spec | 2 +-
dlls/msvcr120/msvcr120.spec | 2 +-
dlls/msvcr120_app/msvcr120_app.spec | 2 +-
dlls/msvcrt/string.c | 13 +++++++++++++
dlls/ucrtbase/ucrtbase.spec | 4 ++--
6 files changed, 19 insertions(+), 6 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 a67828e6d22..f3585ccf3b0 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
@@ -96,7 +96,7 @@
@ cdecl strtof(str ptr) ucrtbase.strtof
@ cdecl -ret64 strtoimax(str ptr long) ucrtbase.strtoimax
@ cdecl strtol(str ptr long) ucrtbase.strtol
-@ stub strtold
+@ cdecl strtold(str ptr) ucrtbase.strtold
@ cdecl -ret64 strtoll(str ptr long) ucrtbase.strtoll
@ cdecl strtoul(str ptr long) ucrtbase.strtoul
@ cdecl -ret64 strtoull(str ptr long) ucrtbase.strtoull
diff --git a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
index 87dc6585f3c..fe5d0c4b11d 100644
--- a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
@@ -1126,7 +1126,7 @@
@ cdecl _o_strtok(str str) ucrtbase._o_strtok
@ cdecl _o_strtok_s(ptr str ptr) ucrtbase._o_strtok_s
@ cdecl _o_strtol(str ptr long) ucrtbase._o_strtol
-@ stub _o_strtold
+@ cdecl _o_strtold(str ptr) ucrtbase._o_strtold
@ cdecl -ret64 _o_strtoll(str ptr long) ucrtbase._o_strtoll
@ cdecl _o_strtoul(str ptr long) ucrtbase._o_strtoul
@ cdecl -ret64 _o_strtoull(str ptr long) ucrtbase._o_strtoull
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 0d38f97fffe..3a45084d8b0 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -2391,7 +2391,7 @@
@ cdecl strtok(str str) MSVCRT_strtok
@ cdecl strtok_s(ptr str ptr) MSVCRT_strtok_s
@ cdecl strtol(str ptr long) MSVCRT_strtol
-@ stub strtold
+@ cdecl strtold(str ptr) MSVCRT_strtold
@ cdecl -ret64 strtoll(str ptr long) MSVCRT_strtoi64
@ cdecl strtoul(str ptr long) MSVCRT_strtoul
@ cdecl -ret64 strtoull(str ptr long) MSVCRT_strtoui64
diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec
index 2013b06cc7c..a50697c5e41 100644
--- a/dlls/msvcr120_app/msvcr120_app.spec
+++ b/dlls/msvcr120_app/msvcr120_app.spec
@@ -2054,7 +2054,7 @@
@ cdecl strtok(str str) msvcr120.strtok
@ cdecl strtok_s(ptr str ptr) msvcr120.strtok_s
@ cdecl strtol(str ptr long) msvcr120.strtol
-@ stub strtold
+@ cdecl strtold(str ptr) msvcr120.strtold
@ cdecl -ret64 strtoll(str ptr long) msvcr120.strtoll
@ cdecl strtoul(str ptr long) msvcr120.strtoul
@ cdecl -ret64 strtoull(str ptr long) msvcr120.strtoull
diff --git a/dlls/msvcrt/string.c b/dlls/msvcrt/string.c
index 3343f1e3ccf..abf1c867a16 100644
--- a/dlls/msvcrt/string.c
+++ b/dlls/msvcrt/string.c
@@ -1058,6 +1058,19 @@ double CDECL MSVCRT_strtod( const char *str, char **end )
#if _MSVCR_VER>=120
+/*********************************************************************
+ * strtold (MSVCR120.@)
+ */
+long double CDECL MSVCRT_strtold( const char *str, char **end )
+{
+#ifdef HAVE_STRTOLD
+ return strtold( str, end );
+#else
+ FIXME( "strtold not available!\n" );
+ return 0;
+#endif
+}
+
/*********************************************************************
* strtof_l (MSVCR120.@)
*/
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index f556b9e1c3d..18afedfdf5b 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -1791,7 +1791,7 @@
@ cdecl _o_strtok(str str) MSVCRT_strtok
@ cdecl _o_strtok_s(ptr str ptr) MSVCRT_strtok_s
@ cdecl _o_strtol(str ptr long) MSVCRT_strtol
-@ stub _o_strtold
+@ cdecl _o_strtold(str ptr) MSVCRT_strtold
@ cdecl -ret64 _o_strtoll(str ptr long) MSVCRT_strtoi64
@ cdecl _o_strtoul(str ptr long) MSVCRT_strtoul
@ cdecl -ret64 _o_strtoull(str ptr long) MSVCRT_strtoui64
@@ -2522,7 +2522,7 @@
@ cdecl strtok(str str) MSVCRT_strtok
@ cdecl strtok_s(ptr str ptr) MSVCRT_strtok_s
@ cdecl strtol(str ptr long) MSVCRT_strtol
-@ stub strtold
+@ cdecl strtold(str ptr) MSVCRT_strtold
@ cdecl -ret64 strtoll(str ptr long) MSVCRT_strtoi64
@ cdecl strtoul(str ptr long) MSVCRT_strtoul
@ cdecl -ret64 strtoull(str ptr long) MSVCRT_strtoui64
--
2.28.0
More information about the wine-devel
mailing list