From 526d3c033cfb26d34b608ae0b5973dfad4f1b570 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Mon, 16 Nov 2015 22:01:01 +0000 Subject: [PATCH] [CRT] Import _snscanf() from Wine Staging 1.7.55. [MSVCRT] Export _snscanf(). CORE-10529 CORE-10536 svn path=/trunk/; revision=69905 --- reactos/dll/win32/msvcrt/msvcrt.spec | 2 +- reactos/lib/sdk/crt/string/scanf.c | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/reactos/dll/win32/msvcrt/msvcrt.spec b/reactos/dll/win32/msvcrt/msvcrt.spec index 2f663f85b94..28b9ef2669e 100644 --- a/reactos/dll/win32/msvcrt/msvcrt.spec +++ b/reactos/dll/win32/msvcrt/msvcrt.spec @@ -618,7 +618,7 @@ @ cdecl _setsystime(ptr long) @ cdecl _sleep(long) @ varargs _snprintf(ptr long str) -# stub _snscanf +@ varargs _snscanf(str long str) @ varargs _snwprintf(ptr long wstr) # stub _snwscanf @ varargs _sopen(str long long) diff --git a/reactos/lib/sdk/crt/string/scanf.c b/reactos/lib/sdk/crt/string/scanf.c index 338d55237e9..bb6f098967e 100644 --- a/reactos/lib/sdk/crt/string/scanf.c +++ b/reactos/lib/sdk/crt/string/scanf.c @@ -87,6 +87,14 @@ static int wchar2digit(wchar_t c, int base) { #undef SECURE #include "scanf.h" +/* vsnscanf_l */ +#undef WIDE_SCANF +#undef CONSOLE +#define STRING 1 +#define STRING_LEN 1 +#undef SECURE +#include "scanf.h" + #ifndef _LIBCNT_ /* vcscanf_l */ #undef WIDE_SCANF @@ -199,3 +207,17 @@ int CDECL _cscanf(const char *format, ...) return res; } #endif + +/********************************************************************* + * _snscanf (MSVCRT.@) + */ +int CDECL _snscanf(const char *input, size_t length, const char *format, ...) +{ + __ms_va_list valist; + int res; + + __ms_va_start(valist, format); + res = vsnscanf_l(input, length, format, NULL, valist); + __ms_va_end(valist); + return res; +}