From 7f08248c2e2d7e862e88db2d0008efca3c276512 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Tue, 1 Nov 2011 06:58:29 +0000 Subject: [PATCH] ralloc: Use _vscprintf on MinGW. MinGW uses MSVC's runtime DLLs for most of C runtime's functions, and there has same semantics for vsnprintf. Not sure how this worked until now -- maybe one of the internal vsnprintf implementations was taking precedence. --- src/glsl/ralloc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/glsl/ralloc.c b/src/glsl/ralloc.c index f5f3934..91e4bab 100644 --- a/src/glsl/ralloc.c +++ b/src/glsl/ralloc.c @@ -33,6 +33,12 @@ #include #endif +/* Some versions of MinGW are missing _vscprintf's declaration, although they + * still provide the symbol in the import library. */ +#ifdef __MINGW32__ +_CRTIMP int _vscprintf(const char *format, va_list argptr); +#endif + #include "ralloc.h" #ifdef __GNUC__ @@ -397,7 +403,7 @@ printf_length(const char *fmt, va_list untouched_args) va_list args; va_copy(args, untouched_args); -#ifdef _MSC_VER +#ifdef _WIN32 /* We need to use _vcsprintf to calculate the size as vsnprintf returns -1 * if the number of characters to write is greater than count. */ -- 2.7.4