|  | --- 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; | 
|  | } | 
|  |  | 
|  | /*- |