[PATCH v3] ucrtbase: Implement vsscanf
Martin Storsjo
martin at martin.st
Thu Oct 29 05:39:44 CDT 2015
Signed-off-by: Martin Storsjo <martin at martin.st>
---
This currently only implements the legacy mode (which should
behave the same as the old msvcrt versions).
v2: Added a FIXME if used with unhandled options.
v3: Wrapped the long line, fixed the function name in the comment
above it.
---
.../api-ms-win-crt-stdio-l1-1-0.spec | 2 +-
dlls/msvcrt/scanf.c | 15 +++++++++++++++
dlls/ucrtbase/Makefile.in | 1 +
dlls/ucrtbase/ucrtbase.spec | 2 +-
4 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/dlls/api-ms-win-crt-stdio-l1-1-0/api-ms-win-crt-stdio-l1-1-0.spec b/dlls/api-ms-win-crt-stdio-l1-1-0/api-ms-win-crt-stdio-l1-1-0.spec
index 75549a7..2db8222 100644
--- a/dlls/api-ms-win-crt-stdio-l1-1-0/api-ms-win-crt-stdio-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-stdio-l1-1-0/api-ms-win-crt-stdio-l1-1-0.spec
@@ -14,7 +14,7 @@
@ cdecl __stdio_common_vsprintf(int64 ptr long ptr ptr ptr) ucrtbase.__stdio_common_vsprintf
@ stub __stdio_common_vsprintf_p
@ cdecl __stdio_common_vsprintf_s(int64 ptr long ptr ptr ptr) ucrtbase.__stdio_common_vsprintf_s
-@ stub __stdio_common_vsscanf
+@ cdecl __stdio_common_vsscanf(int64 ptr long ptr ptr ptr) ucrtbase.__stdio_common_vsscanf
@ cdecl __stdio_common_vswprintf(int64 ptr long ptr ptr ptr) ucrtbase.__stdio_common_vswprintf
@ stub __stdio_common_vswprintf_p
@ stub __stdio_common_vswprintf_s
diff --git a/dlls/msvcrt/scanf.c b/dlls/msvcrt/scanf.c
index 5dc6915..9a0150f 100644
--- a/dlls/msvcrt/scanf.c
+++ b/dlls/msvcrt/scanf.c
@@ -661,6 +661,21 @@ int CDECL MSVCRT__snscanf_s_l(char *input, MSVCRT_size_t length,
return res;
}
+
+/*********************************************************************
+ * __stdio_common_vsscanf (MSVCRT.@)
+ */
+int CDECL MSVCRT__stdio_common_vsscanf(unsigned __int64 options,
+ const char *input, MSVCRT_size_t length,
+ const char *format,
+ MSVCRT__locale_t locale,
+ __ms_va_list valist)
+{
+ if (options != 2)
+ FIXME("options %s not handled\n", wine_dbgstr_longlong(options));
+ return MSVCRT_vsnscanf_l(input, length, format, locale, valist);
+}
+
/*********************************************************************
* _snwscanf (MSVCRT.@)
*/
diff --git a/dlls/ucrtbase/Makefile.in b/dlls/ucrtbase/Makefile.in
index 9e672f3..c1677ca 100644
--- a/dlls/ucrtbase/Makefile.in
+++ b/dlls/ucrtbase/Makefile.in
@@ -25,6 +25,7 @@ C_SRCS = \
mbcs.c \
misc.c \
process.c \
+ scanf.c \
string.c \
thread.c \
time.c \
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index c19c864..0e1a191 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -159,7 +159,7 @@
@ cdecl __stdio_common_vsprintf(int64 ptr long ptr ptr ptr) MSVCRT__stdio_common_vsprintf
@ stub __stdio_common_vsprintf_p
@ cdecl __stdio_common_vsprintf_s(int64 ptr long ptr ptr ptr) MSVCRT__stdio_common_vsprintf_s
-@ stub __stdio_common_vsscanf
+@ cdecl __stdio_common_vsscanf(int64 ptr long ptr ptr ptr) MSVCRT__stdio_common_vsscanf
@ cdecl __stdio_common_vswprintf(int64 ptr long ptr ptr ptr) MSVCRT__stdio_common_vswprintf
@ stub __stdio_common_vswprintf_p
@ stub __stdio_common_vswprintf_s
--
1.8.1.2
More information about the wine-patches
mailing list