centralize flushing of unfinished debug lines

This commit is contained in:
Oswald Buddenhagen 2011-04-11 10:45:46 +02:00 committed by Oswald Buddenhagen
parent d2bed4990d
commit 6b3b6f12bb
3 changed files with 14 additions and 13 deletions

View File

@ -400,6 +400,7 @@ void infon( const char *, ... );
void warn( const char *, ... );
void error( const char *, ... );
void sys_error( const char *, ... );
void flushn( void );
char *next_arg( char ** );

View File

@ -1733,7 +1733,7 @@ sync_bail2( sync_vars_t *svars )
free( svars->nname );
free( svars->jname );
free( svars->dname );
error( "" );
flushn();
sync_deref( svars );
}

View File

@ -34,6 +34,15 @@
int DFlags, Ontty;
static int need_nl;
void
flushn( void )
{
if (need_nl) {
putchar( '\n' );
need_nl = 0;
}
}
void
debug( const char *msg, ... )
{
@ -96,10 +105,7 @@ warn( const char *msg, ... )
va_list va;
if (!(DFlags & VERYQUIET)) {
if (need_nl) {
putchar( '\n' );
need_nl = 0;
}
flushn();
va_start( va, msg );
vfprintf( stderr, msg, va );
va_end( va );
@ -111,10 +117,7 @@ error( const char *msg, ... )
{
va_list va;
if (need_nl) {
putchar( '\n' );
need_nl = 0;
}
flushn();
va_start( va, msg );
vfprintf( stderr, msg, va );
va_end( va );
@ -126,10 +129,7 @@ sys_error( const char *msg, ... )
va_list va;
char buf[1024];
if (need_nl) {
putchar( '\n' );
need_nl = 0;
}
flushn();
va_start( va, msg );
if ((unsigned)vsnprintf( buf, sizeof(buf), msg, va ) >= sizeof(buf))
oob();