msvcrt: Added fscanf_s(_l) implementation.

This commit is contained in:
Piotr Caban 2010-04-22 13:51:41 +02:00 committed by Alexandre Julliard
parent 17f486baa4
commit b38fcabfa0
4 changed files with 39 additions and 12 deletions

View File

@ -433,7 +433,7 @@
@ stub _freea_s
@ stub _freefls
@ varargs _fscanf_l(ptr str ptr) msvcrt._fscanf_l
@ stub _fscanf_s_l
@ varargs _fscanf_s_l(ptr str ptr) msvcrt._fscanf_s_l
@ stub _fseek_nolock
@ stub _fseeki64
@ stub _fseeki64_nolock
@ -1273,7 +1273,7 @@
@ stub freopen_s
@ cdecl frexp(double ptr) msvcrt.frexp
@ varargs fscanf(ptr str) msvcrt.fscanf
@ stub fscanf_s
@ varargs fscanf_s(ptr str) msvcrt.fscanf_s
@ cdecl fseek(ptr long long) msvcrt.fseek
@ cdecl fsetpos(ptr ptr) msvcrt.fsetpos
@ cdecl ftell(ptr) msvcrt.ftell

View File

@ -425,7 +425,7 @@
@ stub _freea_s
@ stub _freefls
@ varargs _fscanf_l(ptr str ptr) msvcrt._fscanf_l
@ stub _fscanf_s_l
@ varargs _fscanf_s_l(ptr str ptr) msvcrt._fscanf_s_l
@ stub _fseek_nolock
@ stub _fseeki64
@ stub _fseeki64_nolock
@ -1257,7 +1257,7 @@
@ stub freopen_s
@ cdecl frexp(double ptr) msvcrt.frexp
@ varargs fscanf(ptr str) msvcrt.fscanf
@ stub fscanf_s
@ varargs fscanf_s(ptr str) msvcrt.fscanf_s
@ cdecl fseek(ptr long long) msvcrt.fseek
@ cdecl fsetpos(ptr ptr) msvcrt.fsetpos
@ cdecl ftell(ptr) msvcrt.ftell

View File

@ -395,7 +395,8 @@
# stub _freea
# stub _freea_s
# stub _fscanf_l
# stub _fscanf_s_l
@ varargs _fscanf_l(ptr str ptr) MSVCRT__fscanf_l
@ varargs _fscanf_s_l(ptr str ptr) MSVCRT__fscanf_s_l
# stub _fseeki64
@ cdecl _fsopen(str str long) MSVCRT__fsopen
@ cdecl _fstat(long ptr) MSVCRT__fstat
@ -1203,7 +1204,7 @@
# stub freopen_s
@ cdecl frexp(double ptr) MSVCRT_frexp
@ varargs fscanf(ptr str) MSVCRT_fscanf
# stub fscanf_s
@ varargs fscanf_s(ptr str) MSVCRT_fscanf_s
@ cdecl fseek(ptr long long) MSVCRT_fseek
@ cdecl fsetpos(ptr ptr) MSVCRT_fsetpos
@ cdecl ftell(ptr) MSVCRT_ftell
@ -1282,12 +1283,6 @@
@ cdecl puts(str) MSVCRT_puts
@ cdecl putwc(long ptr) MSVCRT_fputwc
@ cdecl putwchar(long) _fputwchar
# stub _free_dbg
# stub _freea
# stub _freea_s
@ varargs _fscanf_l(ptr str ptr) MSVCRT__fscanf_l
# stub _fscanf_s_l
# stub _fseeki64
@ cdecl qsort(ptr long long ptr) ntdll.qsort
# stub qsort_s
@ cdecl raise(long) MSVCRT_raise

View File

@ -65,6 +65,9 @@ static int wchar2digit(MSVCRT_wchar_t c, int base) {
#undef SECURE
#include "scanf.h"
#define SECURE 1
#include "scanf.h"
/* vfwscanf_l */
#define WIDE_SCANF 1
#undef CONSOLE
@ -123,6 +126,35 @@ int CDECL MSVCRT__fscanf_l(MSVCRT_FILE *file, const char *format,
return res;
}
/*********************************************************************
* fscanf_s (MSVCRT.@)
*/
int CDECL MSVCRT_fscanf_s(MSVCRT_FILE *file, const char *format, ...)
{
__ms_va_list valist;
int res;
__ms_va_start(valist, format);
res = MSVCRT_vfscanf_s_l(file, format, NULL, valist);
__ms_va_end(valist);
return res;
}
/*********************************************************************
* _fscanf_s_l (MSVCRT.@)
*/
int CDECL MSVCRT__fscanf_s_l(MSVCRT_FILE *file, const char *format,
MSVCRT__locale_t locale, ...)
{
__ms_va_list valist;
int res;
__ms_va_start(valist, locale);
res = MSVCRT_vfscanf_s_l(file, format, locale, valist);
__ms_va_end(valist);
return res;
}
/*********************************************************************
* scanf (MSVCRT.@)
*/