gallium: Bring latest fixes.
authorJosé Fonseca <jrfonseca@tungstengraphics.com>
Wed, 6 Feb 2008 16:07:49 +0000 (01:07 +0900)
committerBen Skeggs <skeggsb@gmail.com>
Fri, 15 Feb 2008 02:50:31 +0000 (13:50 +1100)
src/mesa/pipe/p_debug.h
src/mesa/pipe/util/p_debug.c

index b037eba2a35dc4f6180913a4813f6baab49209a8..2a11627b365ae1a07bb9d77288288b33ef9a00e1 100644 (file)
 #ifndef P_DEBUG_H_
 #define P_DEBUG_H_
 
+
+#include <stdarg.h>
+
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -55,8 +59,12 @@ extern "C" {
 
 
 void debug_printf(const char *format, ...);
+
+void debug_vprintf(const char *format, va_list ap);
+
 void debug_assert_fail(const char *expr, const char *file, unsigned line);
 
+
 /** Assert macro */
 #ifdef DEBUG
 #define debug_assert(expr) ((expr) ? (void)0 : debug_assert_fail(#expr, __FILE__, __LINE__))
@@ -66,7 +74,6 @@ void debug_assert_fail(const char *expr, const char *file, unsigned line);
 
 
 #ifdef assert
-#warning Standard C Library assert macro usage detected. 
 #undef assert
 #endif
 #define assert(expr) debug_assert(expr)
index 9303c970cca1e02fc298f1b1da3603baad6ab232..b9607a6ba7fc9f895154c1d68c8802674297de80 100644 (file)
 #include "pipe/p_compiler.h" 
 
 
-void debug_printf(const char *format, ...)
+void debug_vprintf(const char *format, va_list ap)
 {
-   va_list ap;
-   va_start( ap, format );  
 #ifdef WIN32
    EngDebugPrint("Gallium3D: ", (PCHAR)format, ap);
 #else
    vfprintf(stderr, format, ap);
 #endif
-   va_end( ap );
+}
+
+
+void debug_printf(const char *format, ...)
+{
+   va_list ap;
+   va_start(ap, format);
+   debug_vprintf(format, ap);
+   va_end(ap);
 }
 
 
@@ -65,6 +71,6 @@ static INLINE void debug_abort(void)
 
 void debug_assert_fail(const char *expr, const char *file, unsigned line) 
 {
-   debug_printf("%s:%i: Assertion `%s' failed.");
+   debug_printf("%s:%i: Assertion `%s' failed.\n", file, line, expr);
    debug_abort();
 }