summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-04-18 14:14:53 -0700
committerJunio C Hamano <gitster@pobox.com>2011-04-18 14:14:53 -0700
commit60e199c4d577514ed810b4ed0b6072fb3dbab903 (patch)
treeda5810a834f4c5d8d986406866091ff5e6cee58d
parent4d8b32a2e1758236c4c1b714f179892e3bce982c (diff)
downloadgit-60e199c4d577514ed810b4ed0b6072fb3dbab903.tar.gz
Revert "run-command: prettify -D_FORTIFY_SOURCE workaround"
This reverts commit ebec842773932e6f853acac70c80f84209b5f83e, which somehow mistakenly thought that any non-zero return from write(2) is an error.
-rw-r--r--run-command.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/run-command.c b/run-command.c
index 8619c769a9..f91e446c86 100644
--- a/run-command.c
+++ b/run-command.c
@@ -67,26 +67,21 @@ static int child_notifier = -1;
static void notify_parent(void)
{
- /*
- * execvp failed. If possible, we'd like to let start_command
- * know, so failures like ENOENT can be handled right away; but
- * otherwise, finish_command will still report the error.
- */
- if (write(child_notifier, "", 1))
- ; /* yes, dear gcc -D_FORTIFY_SOURCE, there was an error. */
+ ssize_t unused;
+ unused = write(child_notifier, "", 1);
}
static NORETURN void die_child(const char *err, va_list params)
{
char msg[4096];
+ ssize_t unused;
int len = vsnprintf(msg, sizeof(msg), err, params);
if (len > sizeof(msg))
len = sizeof(msg);
- if (write(child_err, "fatal: ", 7) ||
- write(child_err, msg, len) ||
- write(child_err, "\n", 1))
- ; /* yes, gcc -D_FORTIFY_SOURCE, we know there was an error. */
+ unused = write(child_err, "fatal: ", 7);
+ unused = write(child_err, msg, len);
+ unused = write(child_err, "\n", 1);
exit(128);
}
#endif