diff options
Diffstat (limited to 'otherlibs/unix/dup2.c')
-rw-r--r-- | otherlibs/unix/dup2.c | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/otherlibs/unix/dup2.c b/otherlibs/unix/dup2.c deleted file mode 100644 index e8fbc3647a..0000000000 --- a/otherlibs/unix/dup2.c +++ /dev/null @@ -1,37 +0,0 @@ -#include <mlvalues.h> -#include "unix.h" - -#ifdef HAS_DUP2 - -value unix_dup2(fd1, fd2) /* ML */ - value fd1, fd2; -{ - if (dup2(Int_val(fd1), Int_val(fd2)) == -1) uerror("dup2", Nothing); - return Val_unit; -} - -#else - -static int do_dup2(fd1, fd2) - int fd1, fd2; -{ - int fd; - int res; - - fd = dup(fd1); - if (fd == -1) return -1; - if (fd == fd2) return 0; - res = do_dup2(fd1, fd2); - close(fd); - return res; -} - -value unix_dup2(fd1, fd2) /* ML */ - value fd1, fd2; -{ - close(Int_val(fd2)); - if (do_dup2(Int_val(fd1), Int_val(fd2)) == -1) uerror("dup2", Nothing); - return Val_unit; -} - -#endif |