Workaround longstanding glibc/ld bug, ala http://sources.redhat.com/bugzilla/show_bug... 0.4.0
authorRob Landley <rob@landley.net>
Tue, 24 Jul 2012 04:38:34 +0000 (23:38 -0500)
committerRob Landley <rob@landley.net>
Tue, 24 Jul 2012 04:38:34 +0000 (23:38 -0500)
lib/lib.c
main.c

index 69029a2..e7dc45e 100644 (file)
--- 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 (file)
--- 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[])