From 07d79af7182c130858a84274718f9d0c84d15109 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Mon, 23 Jul 2012 23:38:34 -0500 Subject: [PATCH] Workaround longstanding glibc/ld bug, ala http://sources.redhat.com/bugzilla/show_bug.cgi?id=3400, which prevents "./toybox | wc" from producing any output when toybox was statically linked. --- lib/lib.c | 2 +- main.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/lib.c b/lib/lib.c index 69029a2..e7dc45e 100644 --- a/lib/lib.c +++ b/lib/lib.c @@ -160,7 +160,7 @@ void xputs(char *s) void xputc(char c) { - if (EOF == fputc(c, stdout)) perror_exit("write"); + if (EOF == fputc(c, stdout) || fflush(stdout)) perror_exit("write"); } void xflush(void) diff --git a/main.c b/main.c index 1b1f0fc..f599418 100644 --- a/main.c +++ b/main.c @@ -133,12 +133,12 @@ void toybox_main(void) } len += printf("%s ",toy_list[i].name); if (len>65) { - putchar('\n'); + xputc('\n'); len=0; } } } - putchar('\n'); + xputc('\n'); } int main(int argc, char *argv[]) -- 2.7.4