From 3c701f1d61b33a5ffaddd4199ac277da8e287f30 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Tue, 1 Feb 2011 10:41:46 +0000 Subject: [PATCH] glsl: Fix printf_length() on MSVC. --- src/glsl/ralloc.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/glsl/ralloc.c b/src/glsl/ralloc.c index fa2dd8b01e6..3ba5d86cd9c 100644 --- a/src/glsl/ralloc.c +++ b/src/glsl/ralloc.c @@ -392,7 +392,15 @@ printf_length(const char *fmt, va_list untouched_args) va_list args; va_copy(args, untouched_args); +#ifdef _MSC_VER + /* We need to use _vcsprintf to calculate the size as vsnprintf returns -1 + * if the number of characters to write is greater than count. + */ + size = _vscprintf(fmt, args); + (void)junk; +#else size = vsnprintf(&junk, 1, fmt, args); +#endif assert(size >= 0); return size; -- 2.30.2