Missing patch
This commit is contained in:
parent
fda1bd8fdb
commit
489cd6256f
53
mingw-w64-crt-add-vsprintf_s-wrapper.patch
Normal file
53
mingw-w64-crt-add-vsprintf_s-wrapper.patch
Normal file
@ -0,0 +1,53 @@
|
||||
--- mingw-w64-crt/Makefile.am.orig 2013-03-04 19:48:33.103373245 +0100
|
||||
+++ mingw-w64-crt/Makefile.am 2013-03-04 19:49:42.175932725 +0100
|
||||
@@ -244,6 +244,7 @@
|
||||
secapi/_vcprintf_s.c secapi/_vcprintf_s_l.c \
|
||||
secapi/_cwprintf_s.c secapi/_cwprintf_s_l.c \
|
||||
secapi/_vcwprintf_s.c secapi/_vcwprintf_s_l.c \
|
||||
+ secapi/vsprintf_s.c \
|
||||
secapi/_access_s.c secapi/_waccess_s.c \
|
||||
secapi/_chsize_s.c secapi/_mktemp_s.c secapi/_wmktemp_s.c \
|
||||
secapi/_umask_s.c \
|
||||
--- /dev/null 2013-03-03 23:07:12.487394095 +0100
|
||||
+++ mingw-w64-crt/secapi/vsprintf_s.c 2013-03-04 19:48:26.188317233 +0100
|
||||
@@ -0,0 +1,40 @@
|
||||
+#include <windows.h>
|
||||
+#include <malloc.h>
|
||||
+#include <errno.h>
|
||||
+
|
||||
+HMODULE __mingw_get_msvcrt_handle(void);
|
||||
+int __cdecl vsprintf (char *, const char *, va_list);
|
||||
+int __cdecl vsprintf_s (char *, size_t, const char *, va_list);
|
||||
+static int __cdecl _int_vsprintf_s (char *, size_t, const char *, va_list);
|
||||
+static int __cdecl _stub (char *, size_t, const char *, va_list);
|
||||
+
|
||||
+int __cdecl (*__MINGW_IMP_SYMBOL(vsprintf_s))(char *, size_t, const char *, va_list) =
|
||||
+ _stub;
|
||||
+
|
||||
+static int __cdecl
|
||||
+_stub (char *_DstBuf, size_t _Size, const char *_Format, va_list _ArgList)
|
||||
+{
|
||||
+ int __cdecl (*f)(char *, size_t, const char *, va_list) = __MINGW_IMP_SYMBOL(vsprintf_s);
|
||||
+
|
||||
+ if (f == _stub)
|
||||
+ {
|
||||
+ f = (int __cdecl (*)(char *, size_t, const char *, va_list))
|
||||
+ GetProcAddress (__mingw_get_msvcrt_handle (), "vprintf_s");
|
||||
+ if (!f)
|
||||
+ f = _int_vsprintf_s;
|
||||
+ __MINGW_IMP_SYMBOL(vsprintf_s) = f;
|
||||
+ }
|
||||
+ return (*f)(_DstBuf, _Size, _Format, _ArgList);
|
||||
+}
|
||||
+
|
||||
+int __cdecl
|
||||
+vsprintf_s (char *_DstBuf, size_t _Size, const char *_Format, va_list _ArgList)
|
||||
+{
|
||||
+ return _stub (_DstBuf, _Size, _Format, _ArgList);
|
||||
+}
|
||||
+
|
||||
+static int __cdecl
|
||||
+_int_vsprintf_s (char *_DstBuf, size_t _Size, const char *_Format, va_list _ArgList)
|
||||
+{
|
||||
+ return vsprintf (_DstBuf, _Format, _ArgList);
|
||||
+}
|
||||
Loading…
Reference in New Issue
Block a user