bb_full_fd_action was incorrectly returning an error message causing
authorGlenn L McGrath <bug1@ihug.co.nz>
Mon, 23 Feb 2004 08:11:07 +0000 (08:11 -0000)
committerGlenn L McGrath <bug1@ihug.co.nz>
Mon, 23 Feb 2004 08:11:07 +0000 (08:11 -0000)
major breaking.

libbb/copyfd.c

index 9ab83728ce83b648f1148d83a28e59392a51de18..00115e2c9e9ed57832771a5b1c8d7ab5896665d8 100644 (file)
@@ -50,8 +50,8 @@ static size_t bb_full_fd_action(int src_fd, int dst_fd, const size_t size)
                }
 
                read_actual = safe_read(src_fd, buffer, read_try);
-               if ((read_actual > 0) && (dst_fd >= 0)) {
-                       if (bb_full_write(dst_fd, buffer, (size_t) read_actual) != read_actual) {
+               if (read_actual > 0) {
+                       if ((dst_fd >= 0) && (bb_full_write(dst_fd, buffer, (size_t) read_actual) != read_actual)) {
                                bb_perror_msg(bb_msg_write_error);      /* match Read error below */
                                break;
                        }