Skip to content

Commit

Permalink
fast-import: die_nicely() back to vsnprintf (reverts part of ebaa79f)
Browse files Browse the repository at this point in the history
ebaa79f (Make report() from usage.c public as vreportf() and use it.,
2010-03-06) changed fast-import's die_nicely() to use vreportf().
Unfortunately this is not possible: we need the message again for
write_report(), and vreportf() uses vsnprintf(), which invalidates the
va_list.  As pointed out by Erik Faye-Lund, va_copy is C99 and thus
not an option.

So revert the part of ebaa79f that pertains to die_nicely().

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Thomas Rast authored and Junio C Hamano committed Jun 11, 2010
1 parent f6b6098 commit 3e33303
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions fast-import.c
Original file line number Diff line number Diff line change
Expand Up @@ -483,12 +483,14 @@ static void dump_marks(void);
static NORETURN void die_nicely(const char *err, va_list params)
{
static int zombie;
char message[2 * PATH_MAX];

vreportf("fatal: ", err, params);
vsnprintf(message, sizeof(message), err, params);
fputs("fatal: ", stderr);
fputs(message, stderr);
fputc('\n', stderr);

if (!zombie) {
char message[2 * PATH_MAX];

zombie = 1;
write_crash_report(message);
end_packfile();
Expand Down

0 comments on commit 3e33303

Please sign in to comment.