diff options
Diffstat (limited to 'coreutils/echo.c')
| -rw-r--r-- | coreutils/echo.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/coreutils/echo.c b/coreutils/echo.c index b3828894c..61ba060ec 100644 --- a/coreutils/echo.c +++ b/coreutils/echo.c | |||
| @@ -97,6 +97,7 @@ int echo_main(int argc UNUSED_PARAM, char **argv) | |||
| 97 | #else | 97 | #else |
| 98 | char nflag = 1; | 98 | char nflag = 1; |
| 99 | char eflag = 0; | 99 | char eflag = 0; |
| 100 | int err; | ||
| 100 | 101 | ||
| 101 | while ((arg = *++argv) != NULL) { | 102 | while ((arg = *++argv) != NULL) { |
| 102 | char n, e; | 103 | char n, e; |
| @@ -185,13 +186,12 @@ int echo_main(int argc UNUSED_PARAM, char **argv) | |||
| 185 | do_write: | 186 | do_write: |
| 186 | /* Careful to error out on partial writes too (think ENOSPC!) */ | 187 | /* Careful to error out on partial writes too (think ENOSPC!) */ |
| 187 | errno = 0; | 188 | errno = 0; |
| 188 | /*r =*/ full_write(STDOUT_FILENO, buffer, out - buffer); | 189 | err = full_write(STDOUT_FILENO, buffer, out - buffer) != out - buffer; |
| 189 | free(buffer); | 190 | if (err) { |
| 190 | if (/*WRONG:r < 0*/ errno) { | ||
| 191 | bb_simple_perror_msg(bb_msg_write_error); | 191 | bb_simple_perror_msg(bb_msg_write_error); |
| 192 | return 1; | ||
| 193 | } | 192 | } |
| 194 | return 0; | 193 | free(buffer); |
| 194 | return err; | ||
| 195 | } | 195 | } |
| 196 | 196 | ||
| 197 | /* | 197 | /* |
