(append_string): handle NULL strings by printing `(null)'

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9392 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
2000-12-15 14:04:42 +00:00
parent bb929ceafd
commit 9e16596a07

View File

@@ -214,28 +214,31 @@ append_string (struct state *state,
int prec, int prec,
int flags) int flags)
{ {
if(prec != -1) if(arg == NULL)
width -= prec; arg = (unsigned char*)"(null)";
else
width -= strlen((char *)arg); if(prec != -1)
if(!(flags & minus_flag)) width -= prec;
while(width-- > 0) else
if((*state->append_char) (state, ' ')) width -= strlen((char *)arg);
return 1; if(!(flags & minus_flag))
if (prec != -1) { while(width-- > 0)
while (*arg && prec--) if((*state->append_char) (state, ' '))
if ((*state->append_char) (state, *arg++)) return 1;
return 1; if (prec != -1) {
} else { while (*arg && prec--)
while (*arg) if ((*state->append_char) (state, *arg++))
if ((*state->append_char) (state, *arg++)) return 1;
return 1; } else {
} while (*arg)
if(flags & minus_flag) if ((*state->append_char) (state, *arg++))
while(width-- > 0) return 1;
if((*state->append_char) (state, ' ')) }
return 1; if(flags & minus_flag)
return 0; while(width-- > 0)
if((*state->append_char) (state, ' '))
return 1;
return 0;
} }
static int static int