diff options
author | Sergey Babkin <babkin@FreeBSD.org> | 2002-02-04 03:38:09 +0000 |
---|---|---|
committer | Sergey Babkin <babkin@FreeBSD.org> | 2002-02-04 03:38:09 +0000 |
commit | 9406f87813b21716893655ec7bdcef380612bd3f (patch) | |
tree | 824be3077efd25002e885c63ca2538a63b692c78 | |
parent | 6229a3371d780ac428f43ce44ffc0058d1113fee (diff) | |
download | src-test2-9406f87813b21716893655ec7bdcef380612bd3f.tar.gz src-test2-9406f87813b21716893655ec7bdcef380612bd3f.zip |
Notes
-rw-r--r-- | bin/sh/redir.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/bin/sh/redir.c b/bin/sh/redir.c index ee893f40bef2..b51fa2b131cc 100644 --- a/bin/sh/redir.c +++ b/bin/sh/redir.c @@ -145,11 +145,8 @@ again: } if (!try) { sv->renamed[fd] = i; - close(fd); } INTON; - } else { - close(fd); } if (fd == 0) fd0_redirected++; @@ -186,6 +183,7 @@ openredirect(redir, memory) error("cannot open %s: %s", fname, errmsg(errno, E_OPEN)); movefd: if (f != fd) { + close(fd); copyfd(f, fd); close(f); } @@ -238,8 +236,10 @@ movefd: if (redir->ndup.dupfd >= 0) { /* if not ">&-" */ if (memory[redir->ndup.dupfd]) memory[fd] = 1; - else + else { + close(fd); copyfd(redir->ndup.dupfd, fd); + } } break; case NHERE: |