From 88cc41c5cab6d1121b60790052d196d8299b3efe Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath <[email protected]> Date: Tue, 5 Sep 2023 14:31:48 +0000 Subject: [PATCH] headers: Add missing crt stdio functions
Required for https://github.com/openjdk/jdk/blob/jdk-22%2B13/src/java.base/windows/native/libsyslookup/syslookup.c Signed-off-by: Biswapriyo Nath <[email protected]> --- mingw-w64-headers/crt/sec_api/stdio_s.h | 42 +++++++++++++++++++++++++ mingw-w64-headers/crt/sec_api/tchar_s.h | 3 ++ mingw-w64-headers/crt/sec_api/wchar_s.h | 21 +++++++++++++ mingw-w64-headers/crt/wchar.h | 6 ++++ 4 files changed, 72 insertions(+) diff --git a/mingw-w64-headers/crt/sec_api/stdio_s.h b/mingw-w64-headers/crt/sec_api/stdio_s.h index 23e4e22..320defe 100644 --- a/mingw-w64-headers/crt/sec_api/stdio_s.h +++ b/mingw-w64-headers/crt/sec_api/stdio_s.h @@ -42,6 +42,21 @@ extern "C" { return __stdio_common_vfscanf(_CRT_INTERNAL_SCANF_SECURECRT, _File, _Format, _Locale, _ArgList); } + __mingw_ovr int __cdecl vfscanf_s(FILE *_File, const char *_Format, va_list _ArgList) + { + return _vfscanf_s_l(_File, _Format, NULL, _ArgList); + } + + __mingw_ovr int __cdecl _vscanf_s_l(const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfscanf_s_l(stdin, _Format, _Locale, _ArgList); + } + + __mingw_ovr int __cdecl vscanf_s(const char *_Format, va_list _ArgList) + { + return _vfscanf_s_l(stdin, _Format, NULL, _ArgList); + } + __mingw_ovr int __cdecl _fscanf_s_l(FILE *_File, const char *_Format, _locale_t _Locale, ...) { __builtin_va_list _ArgList; @@ -86,6 +101,12 @@ extern "C" { { return __stdio_common_vfscanf(0, _File, _Format, _Locale, _ArgList); } + + __mingw_ovr int __cdecl _vscanf_l(const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfscanf_l(stdin, _Format, _Locale, _ArgList); + } + __mingw_ovr int __cdecl _fscanf_l(FILE *_File, const char *_Format, _locale_t _Locale, ...) { __builtin_va_list _ArgList; @@ -592,6 +613,21 @@ extern "C" { return __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS | _CRT_INTERNAL_SCANF_SECURECRT, _File, _Format, _Locale, _ArgList); } + __mingw_ovr int __cdecl vfwscanf_s(FILE* _File, const wchar_t *_Format, va_list _ArgList) + { + return _vfwscanf_s_l(_File, _Format, NULL, _ArgList); + } + + __mingw_ovr int __cdecl _vwscanf_s_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfwscanf_s_l(stdin, _Format, _Locale, _ArgList); + } + + __mingw_ovr int __cdecl vwscanf_s(const wchar_t *_Format, va_list _ArgList) + { + return _vfwscanf_s_l(stdin, _Format, NULL, _ArgList); + } + __mingw_ovr int __cdecl _fwscanf_s_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, ...) { __builtin_va_list _ArgList; @@ -636,6 +672,12 @@ extern "C" { { return __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS | _CRT_INTERNAL_SCANF_SECURECRT, _Src, (size_t)-1, _Format, _Locale, _ArgList); } + + __mingw_ovr int __cdecl vswscanf_s(const wchar_t *_Src, const wchar_t *_Format, va_list _ArgList) + { + return _vswscanf_s_l(_Src, _Format, NULL, _ArgList); + } + __mingw_ovr int __cdecl _swscanf_s_l(const wchar_t *_Src, const wchar_t *_Format, _locale_t _Locale, ...) { __builtin_va_list _ArgList; diff --git a/mingw-w64-headers/crt/sec_api/tchar_s.h b/mingw-w64-headers/crt/sec_api/tchar_s.h index 4f2afd4..07539cb 100644 --- a/mingw-w64-headers/crt/sec_api/tchar_s.h +++ b/mingw-w64-headers/crt/sec_api/tchar_s.h @@ -39,10 +39,13 @@ extern "C" { #define _tscanf_s_l _wscanf_s_l #define _tcscanf_s _cwscanf_s #define _tcscanf_s_l _cwscanf_s_l +#define _vtscanf_s vwscanf_s #define _ftscanf_s fwscanf_s #define _ftscanf_s_l _fwscanf_s_l +#define _vftscanf_s vfwscanf_s #define _stscanf_s swscanf_s #define _stscanf_s_l _swscanf_s_l +#define _vstscanf_s vswscanf_s #define _sntscanf_s _snwscanf_s #define _sntscanf_s_l _snwscanf_s_l diff --git a/mingw-w64-headers/crt/sec_api/wchar_s.h b/mingw-w64-headers/crt/sec_api/wchar_s.h index c4dffe4..de932a8 100644 --- a/mingw-w64-headers/crt/sec_api/wchar_s.h +++ b/mingw-w64-headers/crt/sec_api/wchar_s.h @@ -53,6 +53,21 @@ extern "C" { return __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS | _CRT_INTERNAL_SCANF_SECURECRT, _File, _Format, _Locale, _ArgList); } + __mingw_ovr int __cdecl vfwscanf_s(FILE* _File, const wchar_t *_Format, va_list _ArgList) + { + return _vfwscanf_s_l(_File, _Format, NULL, _ArgList); + } + + __mingw_ovr int __cdecl _vwscanf_s_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfwscanf_s_l(stdin, _Format, _Locale, _ArgList); + } + + __mingw_ovr int __cdecl vwscanf_s(const wchar_t *_Format, va_list _ArgList) + { + return _vfwscanf_s_l(stdin, _Format, NULL, _ArgList); + } + __mingw_ovr int __cdecl _fwscanf_s_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, ...) { __builtin_va_list _ArgList; @@ -97,6 +112,12 @@ extern "C" { { return __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS | _CRT_INTERNAL_SCANF_SECURECRT, _Src, (size_t)-1, _Format, _Locale, _ArgList); } + + __mingw_ovr int __cdecl vswscanf_s(const wchar_t *_Src, const wchar_t *_Format, va_list _ArgList) + { + return _vswscanf_s_l(_Src, _Format, NULL, _ArgList); + } + __mingw_ovr int __cdecl _swscanf_s_l(const wchar_t *_Src, const wchar_t *_Format, _locale_t _Locale, ...) { __builtin_va_list _ArgList; diff --git a/mingw-w64-headers/crt/wchar.h b/mingw-w64-headers/crt/wchar.h index 4d2b4f5..652b663 100644 --- a/mingw-w64-headers/crt/wchar.h +++ b/mingw-w64-headers/crt/wchar.h @@ -890,6 +890,12 @@ int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builti { return __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _File, _Format, _Locale, _ArgList); } + + __mingw_ovr int __cdecl _vwscanf_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfwscanf_l(stdin, _Format, _Locale, _ArgList); + } + __mingw_ovr int __cdecl _fwscanf_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, ...) { __builtin_va_list _ArgList; -- 2.42.0
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
