From: "Shawn O. Pearce" <spearce@spearce.org>
To: Alex Riesen <raa.lkml@gmail.com>
Cc: Johannes Sixt <J.Sixt@eudaptics.com>,
Junio C Hamano <gitster@pobox.com>,
git@vger.kernel.org
Subject: Re: va_copy is not available on all systems.
Date: Mon, 20 Aug 2007 23:38:14 -0400 [thread overview]
Message-ID: <20070821033813.GF27913@spearce.org> (raw)
In-Reply-To: <20070820191509.GB5544@steel.home>
Alex Riesen <raa.lkml@gmail.com> wrote:
> Johannes Sixt, Mon, Aug 20, 2007 15:16:56 +0200:
> > Since va_copy() must be provided by the compiler, we don't have a
> > reasonable chance to provide a working definition in git_compat_util.h.
>
> Maybe we don't have to:
>
> Subject: [PATCH] Avoid using va_copy in fast-import: it seem to be unportable
Thanks Alex. This feels more like the right solution to the problem.
I made a few minor edits, any comment?
-->8--
From: Alex Riesen <raa.lkml@gmail.com>
Subject: [PATCH] Avoid using va_copy in fast-import: it seems to be unportable.
[sp: minor change to use fputs, thus reducing the patch size]
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
---
fast-import.c | 13 ++++++-------
1 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/fast-import.c b/fast-import.c
index 2d5224c..078079d 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -375,7 +375,7 @@ static void write_branch_report(FILE *rpt, struct branch *b)
fputc('\n', rpt);
}
-static void write_crash_report(const char *err, va_list params)
+static void write_crash_report(const char *err)
{
char *loc = git_path("fast_import_crash_%d", getpid());
FILE *rpt = fopen(loc, "w");
@@ -397,7 +397,7 @@ static void write_crash_report(const char *err, va_list params)
fputc('\n', rpt);
fputs("fatal: ", rpt);
- vfprintf(rpt, err, params);
+ fputs(err, rpt);
fputc('\n', rpt);
fputc('\n', rpt);
@@ -442,18 +442,17 @@ static void write_crash_report(const char *err, va_list params)
static NORETURN void die_nicely(const char *err, va_list params)
{
static int zombie;
- va_list x_params;
+ char message[2 * PATH_MAX];
- va_copy(x_params, params);
+ vsnprintf(message, sizeof(message), err, params);
fputs("fatal: ", stderr);
- vfprintf(stderr, err, params);
+ fputs(message, stderr);
fputc('\n', stderr);
if (!zombie) {
zombie = 1;
- write_crash_report(err, x_params);
+ write_crash_report(message);
}
- va_end(x_params);
exit(128);
}
--
1.5.3.rc5.40.g2f82
--
Shawn.
next prev parent reply other threads:[~2007-08-21 3:38 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-20 13:16 va_copy is not available on all systems Johannes Sixt
2007-08-20 13:39 ` Michael Poole
2007-08-20 19:15 ` Alex Riesen
2007-08-21 3:38 ` Shawn O. Pearce [this message]
2007-08-21 4:53 ` Junio C Hamano
2007-08-21 18:37 ` Alex Riesen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070821033813.GF27913@spearce.org \
--to=spearce@spearce.org \
--cc=J.Sixt@eudaptics.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=raa.lkml@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.