> Those macros for narrow functions seem missing.

Thanks. Updated patch file is attached.
From 8dbd873345ecfffe481a7c5fa02a0e3a8a645720 Mon Sep 17 00:00:00 2001
From: Biswapriyo Nath <[email protected]>
Date: Thu, 7 Sep 2023 05:09:40 +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 |  6 ++++
 mingw-w64-headers/crt/sec_api/wchar_s.h | 21 +++++++++++++
 mingw-w64-headers/crt/wchar.h           |  6 ++++
 4 files changed, 75 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..22e368b 100644
--- a/mingw-w64-headers/crt/sec_api/tchar_s.h
+++ b/mingw-w64-headers/crt/sec_api/tchar_s.h
@@ -45,6 +45,9 @@ extern "C" {
 #define _stscanf_s_l _swscanf_s_l
 #define _sntscanf_s _snwscanf_s
 #define _sntscanf_s_l _snwscanf_s_l
+#define _vtscanf_s vwscanf_s
+#define _vftscanf_s vfwscanf_s
+#define _vstscanf_s vswscanf_s
 
 #define _cgetts_s _cgetws_s
 #define _getts_s _getws_s
@@ -137,6 +140,9 @@ extern "C" {
 #define _stscanf_s_l _sscanf_s_l
 #define _sntscanf_s _snscanf_s
 #define _sntscanf_s_l _snscanf_s_l
+#define _vtscanf_s vscanf_s
+#define _vftscanf_s vfscanf_s
+#define _vstscanf_s vsscanf_s
 
 #define _getts_s gets_s
 #define _cgetts_s _cgets_s
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