lineedit: do not hang on error, but return error indicator.
[oweals/busybox.git] / coreutils / tee.c
index 8a4128591c4b8af0adabad0afe2b765b78112f58..8db9042aadbe8f67366da9ead185a282260b69e3 100644 (file)
@@ -4,14 +4,13 @@
  *
  * Copyright (C) 2003  Manuel Novoa III  <mjn3@codepoet.org>
  *
- * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
 
 /* BB_AUDIT SUSv3 compliant */
 /* http://www.opengroup.org/onlinepubs/007904975/utilities/tee.html */
 
 #include "libbb.h"
-#include <signal.h>
 
 int tee_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int tee_main(int argc, char **argv)
@@ -55,12 +54,14 @@ int tee_main(int argc, char **argv)
                        *fp = fopen_or_warn(*argv, mode);
                        if (*fp == NULL) {
                                retval = EXIT_FAILURE;
+                               argv++;
                                continue;
                        }
                }
                *np = *argv++;
  GOT_NEW_FILE:
-               setbuf(*fp++, NULL);    /* tee must not buffer output. */
+               setbuf(*fp, NULL);      /* tee must not buffer output. */
+               fp++;
                np++;
        } while (*argv);
        /* names[0] will be filled later */