split: handle - as "use stdin". +13 bytes. Closes bug 741.
authorDenys Vlasenko <vda.linux@googlemail.com>
Thu, 26 Nov 2009 04:43:16 +0000 (05:43 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Thu, 26 Nov 2009 04:43:16 +0000 (05:43 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
coreutils/cksum.c
coreutils/split.c

index 3a77c753acf813d126a90847c1f903ed8e176228..8e65b1ca3b35b84093056c74857cd0eaaade6018 100644 (file)
@@ -4,8 +4,8 @@
  *
  * Copyright (C) 2006 by Rob Sullivan, with ideas from code by Walter Harms
  *
- * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */
-
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ */
 #include "libbb.h"
 
 int cksum_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
index 2191f30ea94727bcf114673a62c43b7518eeb183..c2f388501e003142841bb4ecdc5df9c7cf268898 100644 (file)
@@ -79,9 +79,13 @@ int split_main(int argc UNUSED_PARAM, char **argv)
 
        argv += optind;
        if (argv[0]) {
+               int fd;
                if (argv[1])
                        sfx = argv[1];
-               xmove_fd(xopen(argv[0], O_RDONLY), 0);
+               fd = open_or_warn_stdin(argv[0]);
+               if (fd == -1)
+                       return EXIT_FAILURE;
+               xmove_fd(fd, STDIN_FILENO);
        } else {
                argv[0] = (char *) bb_msg_standard_input;
        }