From a48e5792bb26f95c18055f58d602ac279ebd4002 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Sun, 23 Dec 2012 01:25:27 -0600 Subject: Elie De Brauwer pointed out that xputs() isn't reliably reporting errors because there's no flush. Rather than change the output granularity, flush before exit and check errors there. (We still need xputc() doing it so "yes" doesn't continue forever.) --- main.c | 1 + 1 file changed, 1 insertion(+) (limited to 'main.c') diff --git a/main.c b/main.c index 829b787a..0cd1cb23 100644 --- a/main.c +++ b/main.c @@ -102,6 +102,7 @@ void toy_exec(char *argv[]) if (!which) return; toy_init(which, argv); toys.which->toy_main(); + if (fflush(NULL) || ferror(stdout)) perror_exit("write"); exit(toys.exitval); } -- cgit v1.2.3