gallium: Use the custom snprintf implementation everywhere (for Win32).
authorJosé Fonseca <jrfonseca@tungstengraphics.com>
Wed, 2 Apr 2008 01:21:24 +0000 (10:21 +0900)
committerJosé Fonseca <jrfonseca@tungstengraphics.com>
Sat, 5 Apr 2008 04:45:40 +0000 (13:45 +0900)
Because winddk's implemenation does not handle floats.

src/gallium/auxiliary/util/p_debug.c
src/gallium/include/pipe/p_util.h

index 5447bbb6f55041e60c3ae6d54693c40b6edb00b7..090e3b7794d4e048a714af409ee3ecfa302f185d 100644 (file)
 
 #ifdef WIN32
 static INLINE void 
-rpl_EngDebugPrint(const char *format, ...)
+_EngDebugPrint(const char *format, ...)
 {
    va_list ap;
    va_start(ap, format);
    EngDebugPrint("", (PCHAR)format, ap);
    va_end(ap);
 }
-
-int rpl_vsnprintf(char *, size_t, const char *, va_list);
-int rpl_snprintf(char *str, size_t size, const char *format, ...);
-#define vsnprintf rpl_vsnprintf
-#define snprintf rpl_snprintf
 #endif
 
 
@@ -65,8 +60,8 @@ void _debug_vprintf(const char *format, va_list ap)
    /* EngDebugPrint does not handle float point arguments, so we need to use
     * our own vsnprintf implementation */
    char buf[512 + 1];
-   rpl_vsnprintf(buf, sizeof(buf), format, ap);
-   rpl_EngDebugPrint("%s", buf);
+   vsnprintf(buf, sizeof(buf), format, ap);
+   _EngDebugPrint("%s", buf);
 #else
    /* TODO: Implement debug print for WINCE */
 #endif
index 1e7b8181f9e70d57a3197c944c56e8ad58637f29..8e3aaee496fb3061e5ab388a66a8f528cc0c0837 100644 (file)
@@ -32,6 +32,7 @@
 #include "p_debug.h"
 #include "p_pointer.h"
 #include <math.h>
+#include <stdarg.h>
 
 
 #ifdef __cplusplus
@@ -137,6 +138,14 @@ REALLOC( void *old_ptr, unsigned old_size, unsigned new_size )
 #define GETENV( X ) debug_get_option( X, NULL )
 
 
+#ifdef WIN32
+int rpl_vsnprintf(char *, size_t, const char *, va_list);
+int rpl_snprintf(char *str, size_t size, const char *format, ...);
+#define vsnprintf rpl_vsnprintf
+#define snprintf rpl_snprintf
+#endif
+
+
 /**
  * Return memory on given byte alignment
  */