Fix cprintf bug, plus minor cleanup & better error messages.
authorSteve Reinhardt <stever@eecs.umich.edu>
Sun, 11 Jan 2004 23:09:27 +0000 (15:09 -0800)
committerSteve Reinhardt <stever@eecs.umich.edu>
Sun, 11 Jan 2004 23:09:27 +0000 (15:09 -0800)
commit7e07aa9300f75bb4bbdacf97dce45213e7fa69c0
tree872a0cffb21ed08dbb9b8e1de2f694e4013c5257
parent54b6d8c5a8a4abd47536bf50c6f04c5535036752
Fix cprintf bug, plus minor cleanup & better error messages.

base/cprintf.cc:
    Fix bug where a call with a format string with no specifiers
    but one or more arguments would crash.  Old code tried to print
    extra args using last available format, but in this case there
    was no format, hence the problem.  Now we just print "<extra arg>"
    for each extra arg.

    Also reorganized code a bit to make scope of fmt variable
    match the scope in which you can be confident it's meaningful.
base/cprintf.hh:
    Print specific error message instead of calling format_invalid().
base/cprintf_formats.hh:
    Clear Format object in constructor.
    Use specific error messages instead of format_invalid() function.

--HG--
extra : convert_revision : 87d5e902174e3eb2583131d056742af166540db0
base/cprintf.cc
base/cprintf.hh
base/cprintf_formats.hh