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

Reply via email to