Commit 3b994417 authored by Piotr Caban's avatar Piotr Caban Committed by Alexandre Julliard

msvcrt: Added _fwscanf_s(_l) implementation.

parent 2c07fad6
...@@ -459,7 +459,7 @@ ...@@ -459,7 +459,7 @@
@ stub _fwprintf_s_l @ stub _fwprintf_s_l
@ stub _fwrite_nolock @ stub _fwrite_nolock
@ varargs _fwscanf_l(ptr wstr ptr) msvcrt._fwscanf_l @ varargs _fwscanf_l(ptr wstr ptr) msvcrt._fwscanf_l
@ stub _fwscanf_s_l @ varargs _fwscanf_s_l(ptr wstr ptr) msvcrt._fwscanf_s_l
@ cdecl _gcvt(double long str) msvcrt._gcvt @ cdecl _gcvt(double long str) msvcrt._gcvt
@ stub _gcvt_s @ stub _gcvt_s
@ stub _get_amblksiz @ stub _get_amblksiz
...@@ -1281,7 +1281,7 @@ ...@@ -1281,7 +1281,7 @@
@ stub fwprintf_s @ stub fwprintf_s
@ cdecl fwrite(ptr long long ptr) msvcrt.fwrite @ cdecl fwrite(ptr long long ptr) msvcrt.fwrite
@ varargs fwscanf(ptr wstr) msvcrt.fwscanf @ varargs fwscanf(ptr wstr) msvcrt.fwscanf
@ stub fwscanf_s @ varargs fwscanf_s(ptr wstr) msvcrt.fwscanf_s
@ cdecl getc(ptr) msvcrt.getc @ cdecl getc(ptr) msvcrt.getc
@ cdecl getchar() msvcrt.getchar @ cdecl getchar() msvcrt.getchar
@ cdecl getenv(str) msvcrt.getenv @ cdecl getenv(str) msvcrt.getenv
......
...@@ -451,7 +451,7 @@ ...@@ -451,7 +451,7 @@
@ stub _fwprintf_s_l @ stub _fwprintf_s_l
@ stub _fwrite_nolock @ stub _fwrite_nolock
@ varargs _fwscanf_l(ptr wstr ptr) msvcrt._fwscanf_l @ varargs _fwscanf_l(ptr wstr ptr) msvcrt._fwscanf_l
@ stub _fwscanf_s_l @ varargs _fwscanf_s_l(ptr wstr ptr) msvcrt._fwscanf_s_l
@ cdecl _gcvt(double long str) msvcrt._gcvt @ cdecl _gcvt(double long str) msvcrt._gcvt
@ stub _gcvt_s @ stub _gcvt_s
@ stub _get_amblksiz @ stub _get_amblksiz
...@@ -1265,7 +1265,7 @@ ...@@ -1265,7 +1265,7 @@
@ stub fwprintf_s @ stub fwprintf_s
@ cdecl fwrite(ptr long long ptr) msvcrt.fwrite @ cdecl fwrite(ptr long long ptr) msvcrt.fwrite
@ varargs fwscanf(ptr wstr) msvcrt.fwscanf @ varargs fwscanf(ptr wstr) msvcrt.fwscanf
@ stub fwscanf_s @ varargs fwscanf_s(ptr wstr) msvcrt.fwscanf_s
@ cdecl getc(ptr) msvcrt.getc @ cdecl getc(ptr) msvcrt.getc
@ cdecl getchar() msvcrt.getchar @ cdecl getchar() msvcrt.getchar
@ cdecl getenv(str) msvcrt.getenv @ cdecl getenv(str) msvcrt.getenv
......
...@@ -421,7 +421,7 @@ ...@@ -421,7 +421,7 @@
# stub _fwprintf_p_l # stub _fwprintf_p_l
# stub _fwprintf_s_l # stub _fwprintf_s_l
@ varargs _fwscanf_l(ptr wstr ptr) MSVCRT__fwscanf_l @ varargs _fwscanf_l(ptr wstr ptr) MSVCRT__fwscanf_l
# stub _fwscanf_s_l @ varargs _fwscanf_s_l(ptr wstr ptr) MSVCRT__fwscanf_s_l
@ cdecl _gcvt(double long str) @ cdecl _gcvt(double long str)
# stub _gcvt_s # stub _gcvt_s
# stub _get_doserrno # stub _get_doserrno
...@@ -1212,7 +1212,7 @@ ...@@ -1212,7 +1212,7 @@
# stub fwprintf_s # stub fwprintf_s
@ cdecl fwrite(ptr long long ptr) MSVCRT_fwrite @ cdecl fwrite(ptr long long ptr) MSVCRT_fwrite
@ varargs fwscanf(ptr wstr) MSVCRT_fwscanf @ varargs fwscanf(ptr wstr) MSVCRT_fwscanf
# stub fwscanf_s @ varargs fwscanf_s(ptr wstr) MSVCRT_fwscanf_s
@ cdecl getc(ptr) MSVCRT_getc @ cdecl getc(ptr) MSVCRT_getc
@ cdecl getchar() MSVCRT_getchar @ cdecl getchar() MSVCRT_getchar
@ cdecl getenv(str) MSVCRT_getenv @ cdecl getenv(str) MSVCRT_getenv
......
...@@ -65,6 +65,7 @@ static int wchar2digit(MSVCRT_wchar_t c, int base) { ...@@ -65,6 +65,7 @@ static int wchar2digit(MSVCRT_wchar_t c, int base) {
#undef SECURE #undef SECURE
#include "scanf.h" #include "scanf.h"
/* vfscanf_l */
#define SECURE 1 #define SECURE 1
#include "scanf.h" #include "scanf.h"
...@@ -75,6 +76,10 @@ static int wchar2digit(MSVCRT_wchar_t c, int base) { ...@@ -75,6 +76,10 @@ static int wchar2digit(MSVCRT_wchar_t c, int base) {
#undef SECURE #undef SECURE
#include "scanf.h" #include "scanf.h"
/* vfwscanf_s_l */
#define SECURE 1
#include "scanf.h"
/* vsscanf_l */ /* vsscanf_l */
#undef WIDE_SCANF #undef WIDE_SCANF
#undef CONSOLE #undef CONSOLE
...@@ -241,6 +246,35 @@ int CDECL MSVCRT__fwscanf_l(MSVCRT_FILE *file, const MSVCRT_wchar_t *format, ...@@ -241,6 +246,35 @@ int CDECL MSVCRT__fwscanf_l(MSVCRT_FILE *file, const MSVCRT_wchar_t *format,
} }
/********************************************************************* /*********************************************************************
* fwscanf_s (MSVCRT.@)
*/
int CDECL MSVCRT_fwscanf_s(MSVCRT_FILE *file, const MSVCRT_wchar_t *format, ...)
{
__ms_va_list valist;
int res;
__ms_va_start(valist, format);
res = MSVCRT_vfwscanf_s_l(file, format, NULL, valist);
__ms_va_end(valist);
return res;
}
/*********************************************************************
* _fwscanf_s_l (MSVCRT.@)
*/
int CDECL MSVCRT__fwscanf_s_l(MSVCRT_FILE *file, const MSVCRT_wchar_t *format,
MSVCRT__locale_t locale, ...)
{
__ms_va_list valist;
int res;
__ms_va_start(valist, locale);
res = MSVCRT_vfwscanf_s_l(file, format, locale, valist);
__ms_va_end(valist);
return res;
}
/*********************************************************************
* wscanf (MSVCRT.@) * wscanf (MSVCRT.@)
*/ */
int CDECL MSVCRT_wscanf(const MSVCRT_wchar_t *format, ...) int CDECL MSVCRT_wscanf(const MSVCRT_wchar_t *format, ...)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment