Annotation of 3BSD/cmd/lisp/fpipe.c, revision 1.1

1.1     ! root        1: #include <stdio.h>
        !             2: FILE *_dofpip(iodes)
        !             3: int iodes;
        !             4: {
        !             5:        register FILE *p;
        !             6: 
        !             7:        for(p=_iob; (p->_flag&(_IOWRT|_IOREAD))!=0; p++)
        !             8:                if (p >= _iob+_NFILE)
        !             9:                        return(NULL);
        !            10:        p->_file = iodes;
        !            11:        p->_cnt = 0;
        !            12:        p->_base = p->_ptr = NULL;
        !            13:        return(p);
        !            14: }
        !            15: 
        !            16: FILE * fpipe(info)
        !            17: FILE *info[2];
        !            18: {
        !            19:        register FILE *p;
        !            20:        int descrips[2];
        !            21: 
        !            22:        if(0 > pipe(descrips)) return( (FILE *) -1);
        !            23: 
        !            24:        if(NULL==(p = _dofpip(descrips[0]))) return( (FILE *) -1);
        !            25:        p->_flag = (_IONBF|_IOREAD);
        !            26:        info[0] = p;
        !            27: 
        !            28:        if(NULL==(p = _dofpip(descrips[1]))) return( (FILE *) -1);
        !            29:        p->_flag = _IOWRT;
        !            30:        info[1] = p;
        !            31:        return((FILE *) 2); /*indicate sucess*/
        !            32: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.