Mercurial > hg > toybox
changeset 1535:b50de98c9708 draft
O_CLOEXEC was confusing the O_RDONLY test in loopfiles(), resulting in attempts to read from stdout instead of stdin for "-" or no arguments.
author | Rob Landley <rob@landley.net> |
---|---|
date | Mon, 27 Oct 2014 18:08:59 -0500 |
parents | 83cac28515a3 |
children | 1d996b0a11c0 |
files | lib/lib.c |
diffstat | 1 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/lib.c Sun Oct 26 13:34:33 2014 -0500 +++ b/lib/lib.c Mon Oct 27 18:08:59 2014 -0500 @@ -437,12 +437,12 @@ int fd; // If no arguments, read from stdin. - if (!*argv) function(flags ? 1 : 0, "-"); + if (!*argv) function((flags & O_ACCMODE) != O_RDONLY ? 1 : 0, "-"); else do { // Filename "-" means read from stdin. // Inability to open a file prints a warning, but doesn't exit. - if (!strcmp(*argv,"-")) fd=0; + if (!strcmp(*argv, "-")) fd=0; else if (0>(fd = open(*argv, flags, permissions)) && !failok) { perror_msg("%s", *argv); toys.exitval = 1;