diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-03-10 15:23:01 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-03-10 15:23:01 -0500 |
commit | eadbc96110328dd5ccab01c9e4dfb478aa0a1c6b (patch) | |
tree | 835b877e5e01adb9a437b31db55de6063f303d4f /gcc | |
parent | 4b19dee8c649b7083f946f242dba1a02ffedd40d (diff) | |
download | gcc-eadbc96110328dd5ccab01c9e4dfb478aa0a1c6b.zip gcc-eadbc96110328dd5ccab01c9e4dfb478aa0a1c6b.tar.gz gcc-eadbc96110328dd5ccab01c9e4dfb478aa0a1c6b.tar.bz2 |
(dup2): Catch dup() failure. Return correct value.
From-SVN: r6740
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/collect2.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/collect2.c b/gcc/collect2.c index 8256d87..9f097a9 100644 --- a/gcc/collect2.c +++ b/gcc/collect2.c @@ -277,14 +277,14 @@ dup2 (oldfd, newfd) int fd; if (oldfd == newfd) - return 0; + return oldfd; close (newfd); - while ((fd = dup (oldfd)) != newfd) /* good enough for low fd's */ + while ((fd = dup (oldfd)) != newfd && fd >= 0) /* good enough for low fd's */ fdtmp[fdx++] = fd; while (fdx > 0) close (fdtmp[--fdx]); - return 0; + return fd; } #endif |