diff options
-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 | /* |