msvcrt: Added fscanf_s(_l) implementation.
This commit is contained in:
parent
17f486baa4
commit
b38fcabfa0
|
@ -433,7 +433,7 @@
|
||||||
@ stub _freea_s
|
@ stub _freea_s
|
||||||
@ stub _freefls
|
@ stub _freefls
|
||||||
@ varargs _fscanf_l(ptr str ptr) msvcrt._fscanf_l
|
@ 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 _fseek_nolock
|
||||||
@ stub _fseeki64
|
@ stub _fseeki64
|
||||||
@ stub _fseeki64_nolock
|
@ stub _fseeki64_nolock
|
||||||
|
@ -1273,7 +1273,7 @@
|
||||||
@ stub freopen_s
|
@ stub freopen_s
|
||||||
@ cdecl frexp(double ptr) msvcrt.frexp
|
@ cdecl frexp(double ptr) msvcrt.frexp
|
||||||
@ varargs fscanf(ptr str) msvcrt.fscanf
|
@ 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 fseek(ptr long long) msvcrt.fseek
|
||||||
@ cdecl fsetpos(ptr ptr) msvcrt.fsetpos
|
@ cdecl fsetpos(ptr ptr) msvcrt.fsetpos
|
||||||
@ cdecl ftell(ptr) msvcrt.ftell
|
@ cdecl ftell(ptr) msvcrt.ftell
|
||||||
|
|
|
@ -425,7 +425,7 @@
|
||||||
@ stub _freea_s
|
@ stub _freea_s
|
||||||
@ stub _freefls
|
@ stub _freefls
|
||||||
@ varargs _fscanf_l(ptr str ptr) msvcrt._fscanf_l
|
@ 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 _fseek_nolock
|
||||||
@ stub _fseeki64
|
@ stub _fseeki64
|
||||||
@ stub _fseeki64_nolock
|
@ stub _fseeki64_nolock
|
||||||
|
@ -1257,7 +1257,7 @@
|
||||||
@ stub freopen_s
|
@ stub freopen_s
|
||||||
@ cdecl frexp(double ptr) msvcrt.frexp
|
@ cdecl frexp(double ptr) msvcrt.frexp
|
||||||
@ varargs fscanf(ptr str) msvcrt.fscanf
|
@ 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 fseek(ptr long long) msvcrt.fseek
|
||||||
@ cdecl fsetpos(ptr ptr) msvcrt.fsetpos
|
@ cdecl fsetpos(ptr ptr) msvcrt.fsetpos
|
||||||
@ cdecl ftell(ptr) msvcrt.ftell
|
@ cdecl ftell(ptr) msvcrt.ftell
|
||||||
|
|
|
@ -395,7 +395,8 @@
|
||||||
# stub _freea
|
# stub _freea
|
||||||
# stub _freea_s
|
# stub _freea_s
|
||||||
# stub _fscanf_l
|
# 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
|
# stub _fseeki64
|
||||||
@ cdecl _fsopen(str str long) MSVCRT__fsopen
|
@ cdecl _fsopen(str str long) MSVCRT__fsopen
|
||||||
@ cdecl _fstat(long ptr) MSVCRT__fstat
|
@ cdecl _fstat(long ptr) MSVCRT__fstat
|
||||||
|
@ -1203,7 +1204,7 @@
|
||||||
# stub freopen_s
|
# stub freopen_s
|
||||||
@ cdecl frexp(double ptr) MSVCRT_frexp
|
@ cdecl frexp(double ptr) MSVCRT_frexp
|
||||||
@ varargs fscanf(ptr str) MSVCRT_fscanf
|
@ 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 fseek(ptr long long) MSVCRT_fseek
|
||||||
@ cdecl fsetpos(ptr ptr) MSVCRT_fsetpos
|
@ cdecl fsetpos(ptr ptr) MSVCRT_fsetpos
|
||||||
@ cdecl ftell(ptr) MSVCRT_ftell
|
@ cdecl ftell(ptr) MSVCRT_ftell
|
||||||
|
@ -1282,12 +1283,6 @@
|
||||||
@ cdecl puts(str) MSVCRT_puts
|
@ cdecl puts(str) MSVCRT_puts
|
||||||
@ cdecl putwc(long ptr) MSVCRT_fputwc
|
@ cdecl putwc(long ptr) MSVCRT_fputwc
|
||||||
@ cdecl putwchar(long) _fputwchar
|
@ 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
|
@ cdecl qsort(ptr long long ptr) ntdll.qsort
|
||||||
# stub qsort_s
|
# stub qsort_s
|
||||||
@ cdecl raise(long) MSVCRT_raise
|
@ cdecl raise(long) MSVCRT_raise
|
||||||
|
|
|
@ -65,6 +65,9 @@ static int wchar2digit(MSVCRT_wchar_t c, int base) {
|
||||||
#undef SECURE
|
#undef SECURE
|
||||||
#include "scanf.h"
|
#include "scanf.h"
|
||||||
|
|
||||||
|
#define SECURE 1
|
||||||
|
#include "scanf.h"
|
||||||
|
|
||||||
/* vfwscanf_l */
|
/* vfwscanf_l */
|
||||||
#define WIDE_SCANF 1
|
#define WIDE_SCANF 1
|
||||||
#undef CONSOLE
|
#undef CONSOLE
|
||||||
|
@ -123,6 +126,35 @@ int CDECL MSVCRT__fscanf_l(MSVCRT_FILE *file, const char *format,
|
||||||
return res;
|
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.@)
|
* scanf (MSVCRT.@)
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue