blind

suckless command-line video editing utility
git clone git://git.suckless.org/blind
Log | Files | Refs | README | LICENSE

commit 77edf68c1a986fa3f80f5d5c986a736cbb5d24c4
parent dac6950d9e556d5521ad7913d27a6cf83e2a90a1
Author: Mattias Andrée <maandree@kth.se>
Date:   Sun, 30 Apr 2017 14:00:19 +0200

Do not reopen /dev/std{in,out,err} when specified explicitly

Signed-off-by: Mattias Andrée <maandree@kth.se>

Diffstat:
Msrc/util.c | 9++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/util.c b/src/util.c @@ -234,9 +234,16 @@ int xenopen(int status, const char *path, int flags, int mode, ...) { int fd; - if (!strncmp(path, "/dev/fd/", sizeof("/dev/fd/") - 1)) + if (!strncmp(path, "/dev/fd/", sizeof("/dev/fd/") - 1)) { if (!toi(path + sizeof("/dev/fd/") - 1, 0, INT_MAX, &fd)) return fd; + } else if (!strcmp(path, "/dev/stdin")) { + return STDIN_FILENO; + } else if (!strcmp(path, "/dev/stdout")) { + return STDOUT_FILENO; + } else if (!strcmp(path, "/dev/stderr")) { + return STDERR_FILENO; + } fd = open(path, flags, mode); if (fd < 0) enprintf(status, "open %s:", path);