diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2007-05-12 18:00:57 +1000 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2007-05-12 18:00:57 +1000 |
commit | f393ff40ef49c582f614ff44107d1132753693a1 (patch) | |
tree | e4b50109b87c269a41b0a9d924ea58c8a1edda12 /src/input.c | |
parent | [EVAL] Use dup2 instead of copyfd in evalbackcmd (diff) | |
download | dash-f393ff40ef49c582f614ff44107d1132753693a1.tar.gz dash-f393ff40ef49c582f614ff44107d1132753693a1.zip |
[REDIR] Replace copyfd by savefd and use dup2 elsewhere
There are two kinds of users to copyfd, those that want to copy an fd to an exact value and those that want to move an fd to a value >= 10. The former can simply use dup2 directly while the latter share a lot of common code that now constitutes savefd.
Diffstat (limited to '')
-rw-r--r-- | src/input.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/input.c b/src/input.c index 49a2972..7f99d4a 100644 --- a/src/input.c +++ b/src/input.c @@ -428,7 +428,6 @@ int setinputfile(const char *fname, int flags) { int fd; - int fd2; INTOFF; if ((fd = open(fname, O_RDONLY)) < 0) { @@ -436,11 +435,8 @@ setinputfile(const char *fname, int flags) goto out; sh_error("Can't open %s", fname); } - if (fd < 10) { - fd2 = copyfd(fd, 10); - close(fd); - fd = fd2; - } + if (fd < 10) + fd = savefd(fd); setinputfd(fd, flags & INPUT_PUSH_FILE); out: INTON; |