summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2009-04-24 10:46:40 -0600
committerBrian Paul <[email protected]>2009-04-24 10:50:40 -0600
commit1c9786894cc3ce66665ca507a6daf6a829e5af89 (patch)
tree717a15137fb6d59e668acf12e09f0e9f0d780251
parent3321b6984ecd96ba466d8d010e390fff71a799d7 (diff)
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.
-rw-r--r--src/mesa/main/context.c2
-rw-r--r--src/mesa/main/imports.c35
2 files changed, 27 insertions, 10 deletions
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 5726dbd983e..4469c8e1fa1 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 2ac93a52371..8797f36695f 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;