summaryrefslogtreecommitdiff
path: root/usr.bin/file/file.c
diff options
context:
space:
mode:
authorBryan Steele <brynet@cvs.openbsd.org>2017-06-28 17:14:16 +0000
committerBryan Steele <brynet@cvs.openbsd.org>2017-06-28 17:14:16 +0000
commit4873ff3fb97b60abf53d690b7ca9b3bd0f5c4ee8 (patch)
treed51e376b8ba745f69d0ccc0a9de47cba345a4f78 /usr.bin/file/file.c
parentfff79b468219a645ef89a426751a9f6dd79575bd (diff)
Fix stdin file read support, accidentally broken in my last commit.
Diffstat (limited to 'usr.bin/file/file.c')
-rw-r--r--usr.bin/file/file.c8
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