Missing patch

This commit is contained in:
Erik van Pienbroek 2013-04-03 22:52:38 +02:00
parent fda1bd8fdb
commit 489cd6256f

View 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);
+}