diff --git a/src/isync.h b/src/isync.h index c9b5798..88ee199 100644 --- a/src/isync.h +++ b/src/isync.h @@ -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 ** ); diff --git a/src/sync.c b/src/sync.c index d72ae62..d8c9af8 100644 --- a/src/sync.c +++ b/src/sync.c @@ -1733,7 +1733,7 @@ sync_bail2( sync_vars_t *svars ) free( svars->nname ); free( svars->jname ); free( svars->dname ); - error( "" ); + flushn(); sync_deref( svars ); } diff --git a/src/util.c b/src/util.c index 11ce4fc..39df03d 100644 --- a/src/util.c +++ b/src/util.c @@ -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();