From: Thomas Rast Date: Fri, 11 Jun 2010 15:02:50 +0000 (+0200) Subject: fast-import: die_nicely() back to vsnprintf (reverts part of ebaa79f) X-Git-Tag: v1.7.2-rc0~31^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/3e333036ccbb97fddf54bd8fe74b12ba46f1687b fast-import: die_nicely() back to vsnprintf (reverts part of ebaa79f) 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 Signed-off-by: Junio C Hamano --- diff --git a/fast-import.c b/fast-import.c index f2ef20cbf0..309f2c58a2 100644 --- a/fast-import.c +++ b/fast-import.c @@ -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();