catv: was abusing xopen, should not die on err, but warn only.
authorDenis Vlasenko <vda.linux@googlemail.com>
Tue, 12 Jun 2007 08:13:34 +0000 (08:13 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Tue, 12 Jun 2007 08:13:34 +0000 (08:13 -0000)
coreutils/catv.c

index cc61233e18bd5ee69ede128bf8dc479731e569e4..876b67a2ae1988cae94afdf3b3e4aa52e95f2fc1 100644 (file)
@@ -23,14 +23,20 @@ int catv_main(int argc, char **argv)
 #define CATV_OPT_t (1<<1)
 #define CATV_OPT_v (1<<2)
        flags ^= CATV_OPT_v;
-
        argv += optind;
+
+       /* Read from stdin if there's nothing else to do. */
+       fd = 0;
+       if (!argv[0])
+               goto jump_in;
        do {
-               /* Read from stdin if there's nothing else to do. */
-               fd = 0;
-               if (*argv && 0 > (fd = xopen(*argv, O_RDONLY)))
+               fd = open_or_warn(*argv, O_RDONLY);
+               if (fd < 0) {
                        retval = EXIT_FAILURE;
-               else for (;;) {
+                       continue;
+               }
+ jump_in:
+               for (;;) {
                        int i, res;
 
 #define read_buf bb_common_bufsiz1
@@ -46,10 +52,9 @@ int catv_main(int argc, char **argv)
                                        if (c == 127) {
                                                printf("^?");
                                                continue;
-                                       } else {
-                                               printf("M-");
-                                               c -= 128;
                                        }
+                                       printf("M-");
+                                       c -= 128;
                                }
                                if (c < 32) {
                                        if (c == 10) {