Mesa (master): mesa: fix up error/warning/debug output newlines

Brian Paul brianp at kemper.freedesktop.org
Fri Apr 24 16:50:55 UTC 2009


Module: Mesa
Branch: master
Commit: 1c9786894cc3ce66665ca507a6daf6a829e5af89
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1c9786894cc3ce66665ca507a6daf6a829e5af89

Author: Brian Paul <brianp at vmware.com>
Date:   Fri Apr 24 10:46:40 2009 -0600

mesa: fix up error/warning/debug output newlines

As of commit 23ad86cfb91c294ce85a3116d4b825aaa3988a6e all messages go
through output_if_debug().

Add new parameter to output_if_debug() to indicate whether to emit a newline.

_mesa_warning() and _mesa_error() calls should not end their strings with \n.
_mesa_debug() calls should end their text with \n.

---

 src/mesa/main/context.c |    2 +-
 src/mesa/main/imports.c |   35 ++++++++++++++++++++++++++---------
 2 files changed, 27 insertions(+), 10 deletions(-)

diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 5726dbd..4469c8e 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -434,7 +434,7 @@ one_time_init( GLcontext *ctx )
       }
 
 #if defined(DEBUG) && defined(__DATE__) && defined(__TIME__)
-      _mesa_debug(ctx, "Mesa %s DEBUG build %s %s",
+      _mesa_debug(ctx, "Mesa %s DEBUG build %s %s\n",
                   MESA_VERSION_STRING, __DATE__, __TIME__);
 #endif
 
diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c
index 2ac93a5..8797f36 100644
--- a/src/mesa/main/imports.c
+++ b/src/mesa/main/imports.c
@@ -980,7 +980,8 @@ _mesa_vsprintf( char *str, const char *fmt, va_list args )
 /*@{*/
 
 static void
-output_if_debug(const char *prefixString, const char *outputString)
+output_if_debug(const char *prefixString, const char *outputString,
+                GLboolean newline)
 {
    static int debug = -1;
 
@@ -1004,16 +1005,19 @@ output_if_debug(const char *prefixString, const char *outputString)
 
    /* Now only print the string if we're required to do so. */
    if (debug) {
-      fprintf(stderr, "%s: %s\n", prefixString, outputString);
+      fprintf(stderr, "%s: %s", prefixString, outputString);
+      if (newline)
+         fprintf(stderr, "\n");
    }
 }
 
+
 /**
  * Report a warning (a recoverable error condition) to stderr if
  * either DEBUG is defined or the MESA_DEBUG env var is set.
  *
  * \param ctx GL context.
- * \param fmtString printf() alike format string.
+ * \param fmtString printf()-like format string.
  */
 void
 _mesa_warning( GLcontext *ctx, const char *fmtString, ... )
@@ -1025,11 +1029,12 @@ _mesa_warning( GLcontext *ctx, const char *fmtString, ... )
    (void) vsnprintf( str, MAXSTRING, fmtString, args );
    va_end( args );
 
-   output_if_debug("Mesa warning", str);
+   output_if_debug("Mesa warning", str, GL_TRUE);
 }
 
+
 /**
- * Report an internla implementation problem.
+ * Report an internal implementation problem.
  * Prints the message to stderr via fprintf().
  *
  * \param ctx GL context.
@@ -1050,8 +1055,9 @@ _mesa_problem( const GLcontext *ctx, const char *fmtString, ... )
    fprintf(stderr, "Please report at bugzilla.freedesktop.org\n");
 }
 
+
 /**
- * Record an OpenGL state error.  These usually occur when the users
+ * Record an OpenGL state error.  These usually occur when the user
  * passes invalid parameters to a GL function.
  *
  * If debugging is enabled (either at compile-time via the DEBUG macro, or
@@ -1123,11 +1129,22 @@ _mesa_error( GLcontext *ctx, GLenum error, const char *fmtString, ... )
 	    errstr = "unknown";
 	    break;
       }
-      _mesa_debug(ctx, "User error: %s in %s\n", errstr, where);
+
+      {
+         char s[MAXSTRING], s2[MAXSTRING];
+         va_list args;
+         va_start(args, fmtString);
+         vsnprintf(s, MAXSTRING, fmtString, args);
+         va_end(args);
+
+         snprintf(s2, MAXSTRING, "%s in %s", errstr, s);
+         output_if_debug("Mesa: User error", s2, GL_TRUE);
+      }
    }
 
    _mesa_record_error(ctx, error);
-}  
+}
+
 
 /**
  * Report debug information.  Print error message to stderr via fprintf().
@@ -1145,7 +1162,7 @@ _mesa_debug( const GLcontext *ctx, const char *fmtString, ... )
    va_start(args, fmtString);
    vsnprintf(s, MAXSTRING, fmtString, args);
    va_end(args);
-   output_if_debug("Mesa", s);
+   output_if_debug("Mesa", s, GL_FALSE);
 #endif /* DEBUG */
    (void) ctx;
    (void) fmtString;




More information about the mesa-commit mailing list