Mesa (master): glsl: Fix printf_length() on MSVC.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Tue Feb 1 10:42:28 UTC 2011
Module: Mesa
Branch: master
Commit: 3c701f1d61b33a5ffaddd4199ac277da8e287f30
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3c701f1d61b33a5ffaddd4199ac277da8e287f30
Author: José Fonseca <jfonseca at vmware.com>
Date: Tue Feb 1 10:41:46 2011 +0000
glsl: Fix printf_length() on MSVC.
---
src/glsl/ralloc.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/src/glsl/ralloc.c b/src/glsl/ralloc.c
index fa2dd8b..3ba5d86 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;
More information about the mesa-commit
mailing list