summaryrefslogtreecommitdiffstats
path: root/source/lib
diff options
context:
space:
mode:
Diffstat (limited to 'source/lib')
-rw-r--r--source/lib/debug.c36
1 files changed, 31 insertions, 5 deletions
diff --git a/source/lib/debug.c b/source/lib/debug.c
index 4270150d156..24f508c0b40 100644
--- a/source/lib/debug.c
+++ b/source/lib/debug.c
@@ -383,6 +383,22 @@ va_dcl
return( 0 );
} /* Debug1 */
+
+/* ************************************************************************** **
+ * Print the buffer content via Debug1(), then reset the buffer.
+ *
+ * Input: none
+ * Output: none
+ *
+ * ************************************************************************** **
+ */
+static void bufr_print( void )
+ {
+ format_bufr[format_pos] = '\0';
+ (void)Debug1( "%s", format_bufr );
+ format_pos = 0;
+ } /* bufr_print */
+
/* ************************************************************************** **
* Format the debug message text.
*
@@ -420,11 +436,7 @@ static void format_debug_text( char *msg )
/* If a newline is encountered, print & restart. */
if( '\n' == msg[i] )
- {
- format_bufr[format_pos] = '\0';
- (void)Debug1( "%s", format_bufr );
- format_pos = 0;
- }
+ bufr_print();
}
/* Just to be safe... */
@@ -432,6 +444,20 @@ static void format_debug_text( char *msg )
} /* format_debug_text */
/* ************************************************************************** **
+ * Flush debug output, including the format buffer content.
+ *
+ * Input: none
+ * Output: none
+ *
+ * ************************************************************************** **
+ */
+void dbgflush( void )
+ {
+ bufr_print();
+ (void)fflush( dbf );
+ } /* dbgflush */
+
+/* ************************************************************************** **
* Print a Debug Header.
*
* Input: level - Debug level of the message (not the system-wide debug