diff options
Diffstat (limited to 'source/lib')
-rw-r--r-- | source/lib/debug.c | 36 |
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 |