diff options
author | Bryan Steele <brynet@cvs.openbsd.org> | 2017-06-28 17:14:16 +0000 |
---|---|---|
committer | Bryan Steele <brynet@cvs.openbsd.org> | 2017-06-28 17:14:16 +0000 |
commit | 4873ff3fb97b60abf53d690b7ca9b3bd0f5c4ee8 (patch) | |
tree | d51e376b8ba745f69d0ccc0a9de47cba345a4f78 /usr.bin | |
parent | fff79b468219a645ef89a426751a9f6dd79575bd (diff) |
Fix stdin file read support, accidentally broken in my last commit.
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/file/file.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/usr.bin/file/file.c b/usr.bin/file/file.c index d14e62ac0ee..bd1cddd29fe 100644 --- a/usr.bin/file/file.c +++ b/usr.bin/file/file.c @@ -1,4 +1,4 @@ -/* $OpenBSD: file.c,v 1.62 2017/06/28 15:42:49 deraadt Exp $ */ +/* $OpenBSD: file.c,v 1.63 2017/06/28 17:14:15 brynet Exp $ */ /* * Copyright (c) 2015 Nicholas Marriott <nicm@openbsd.org> @@ -217,12 +217,16 @@ prepare_input(struct input_file *inf, const char *path) { int fd, mode, error; + inf->path = path; + if (strcmp(path, "-") == 0) { if (fstat(STDIN_FILENO, &inf->sb) == -1) { inf->error = errno; inf->fd = -1; + return; } inf->fd = STDIN_FILENO; + return; } if (Lflag) @@ -232,6 +236,7 @@ prepare_input(struct input_file *inf, const char *path) if (error == -1) { inf->error = errno; inf->fd = -1; + return; } /* We don't need them, so don't open directories or symlinks. */ @@ -245,7 +250,6 @@ prepare_input(struct input_file *inf, const char *path) if (S_ISLNK(mode)) read_link(inf, path); inf->fd = fd; - inf->path = path; } static void |