| --- a/coreutils/echo.c 2014-09-28 20:44:19.024670523 -0700 |
| +++ b/coreutils/echo.c 2014-09-28 20:46:14.278666374 -0700 |
| @@ -31,6 +31,7 @@ |
| |
| int echo_main(int argc UNUSED_PARAM, char **argv) |
| { |
| + int ret; |
| const char *arg; |
| #if !ENABLE_FEATURE_FANCY_ECHO |
| enum { |
| @@ -101,7 +102,9 @@ |
| |
| if (!eflag) { |
| /* optimization for very common case */ |
| - fputs(arg, stdout); |
| + ret = fputs(arg, stdout); |
| + if (ret == EOF) |
| + perror("echo failed"); |
| } else while ((c = *arg++)) { |
| if (c == eflag) { /* Check for escape seq. */ |
| if (*arg == 'c') { |
| @@ -141,7 +144,11 @@ |
| bb_putchar('\n'); |
| } |
| ret: |
| - return fflush_all(); |
| + errno = 0; |
| + ret = fflush_all(); |
| + if (errno) |
| + perror("echo failed"); |
| + return ret; |
| } |
| |
| /*- |