/* from Dale Schumacher's dLibs library */ /* these will have to be adjusted at some time ++jrb */ /* use these with caution, TOS 1.4 still has double re-direction bug! */ #include #include #include #include #include int dup(handle) int handle; { register int rv; rv = Fdup(handle); if(( rv < (__SMALLEST_VALID_HANDLE)) || (__OPEN_INDEX(rv) >= __NHANDLES) ) { errno = -rv; rv = -1; } else { __open_stat[__OPEN_INDEX(rv)] = __open_stat[__OPEN_INDEX(handle)]; } return(rv); } int dup2(handle1, handle2) int handle1, handle2; { int rv; close(handle2); rv = Fforce(handle2, handle1); if ((rv < 0) || (__OPEN_INDEX(handle2) >= __NHANDLES)) errno = -rv; else __open_stat[__OPEN_INDEX(handle2)] = __open_stat[__OPEN_INDEX(handle1)]; return (rv < 0) ? -1 : handle2; }