diff options
Diffstat (limited to 'do/pipe')
-rw-r--r-- | do/pipe | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/do/pipe b/do/pipe deleted file mode 100644 index b3a6216d73..0000000000 --- a/do/pipe +++ /dev/null @@ -1,52 +0,0 @@ -#ifdef HAS_PIPE -void -do_pipe(TARG, rstab, wstab) -STR *TARG; -STAB *rstab; -STAB *wstab; -{ - register STIO *rstio; - register STIO *wstio; - int fd[2]; - - if (!rstab) - goto badexit; - if (!wstab) - goto badexit; - - rstio = stab_io(rstab); - wstio = stab_io(wstab); - - if (!rstio) - rstio = stab_io(rstab) = stio_new(); - else if (rstio->ifp) - do_close(rstab,FALSE); - if (!wstio) - wstio = stab_io(wstab) = stio_new(); - else if (wstio->ifp) - do_close(wstab,FALSE); - - if (pipe(fd) < 0) - goto badexit; - rstio->ifp = fdopen(fd[0], "r"); - wstio->ofp = fdopen(fd[1], "w"); - wstio->ifp = wstio->ofp; - rstio->type = '<'; - wstio->type = '>'; - if (!rstio->ifp || !wstio->ofp) { - if (rstio->ifp) fclose(rstio->ifp); - else close(fd[0]); - if (wstio->ofp) fclose(wstio->ofp); - else close(fd[1]); - goto badexit; - } - - str_sset(TARG,&str_yes); - return; - -badexit: - str_sset(TARG,&str_undef); - return; -} -#endif - |