[mingw-crt] Missing patch

Erik van Pienbroek epienbro at fedoraproject.org
Wed Apr 3 20:52:45 UTC 2013


commit 489cd6256f5067ff7f66b78940a79d35bc0134ef
Author: Erik van Pienbroek <epienbro at fedoraproject.org>
Date:   Wed Apr 3 22:52:38 2013 +0200

    Missing patch

 mingw-w64-crt-add-vsprintf_s-wrapper.patch |   53 ++++++++++++++++++++++++++++
 1 files changed, 53 insertions(+), 0 deletions(-)
---
diff --git a/mingw-w64-crt-add-vsprintf_s-wrapper.patch b/mingw-w64-crt-add-vsprintf_s-wrapper.patch
new file mode 100644
index 0000000..57e123b
--- /dev/null
+++ b/mingw-w64-crt-add-vsprintf_s-wrapper.patch
@@ -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);
++}


More information about the scm-commits mailing list