=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cut/cut.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- src/usr.bin/cut/cut.c 2013/11/23 17:30:29 1.16 +++ src/usr.bin/cut/cut.c 2014/02/01 23:34:49 1.17 @@ -1,4 +1,4 @@ -/* $OpenBSD: cut.c,v 1.16 2013/11/23 17:30:29 deraadt Exp $ */ +/* $OpenBSD: cut.c,v 1.17 2014/02/01 23:34:49 sobrado Exp $ */ /* $NetBSD: cut.c,v 1.9 1995/09/02 05:59:23 jtc Exp $ */ /* @@ -59,7 +59,7 @@ { FILE *fp; void (*fcn)(FILE *, char *); - int ch; + int ch, eval = 0; setlocale (LC_ALL, ""); @@ -104,14 +104,21 @@ if (*argv) for (; *argv; ++argv) { - if (!(fp = fopen(*argv, "r"))) - err(1, "%s", *argv); - fcn(fp, *argv); - (void)fclose(fp); + if (strcmp(*argv, "-") == 0) + fcn(stdin, "stdin"); + else { + if ((fp = fopen(*argv, "r"))) { + fcn(fp, *argv); + (void)fclose(fp); + } else { + eval = 1; + warn("%s", *argv); + } + } } else fcn(stdin, "stdin"); - exit(0); + exit(eval); } int autostart, autostop, maxval;