Annotation of 43BSD/contrib/icon/functions/proc.c, revision 1.1

1.1     ! root        1: #include "../h/rt.h"
        !             2: #ifdef XPX
        !             3: /*
        !             4:  * proc(x,args) - convert x to a procedure if possible; use args to
        !             5:  *  resolve ambiguous string names.
        !             6:  */
        !             7: Xproc(nargs, arg2, arg1, arg0)
        !             8: int nargs;
        !             9: struct descrip arg2, arg1, arg0;
        !            10:    {
        !            11:    
        !            12:    /*
        !            13:     * If x is already a proc, just return it in arg0.
        !            14:     */
        !            15:    arg0 = arg1;
        !            16:    DeRef(arg0)
        !            17:    if (!QUAL(arg0) && TYPE(arg0) == T_PROC)
        !            18:       return;
        !            19:    /*
        !            20:     * args defaults to 1.
        !            21:     */
        !            22:    defshort(&arg2, 1);
        !            23:    /*
        !            24:     * Attempt to convert arg0 to a procedure descriptor using args to
        !            25:     *  discriminate between procedures with the same names.  Fail if
        !            26:     *  the conversion isn't successful.
        !            27:     */
        !            28:    if (strprc(&arg0,INTVAL(arg2)))
        !            29:       return;
        !            30:    else
        !            31:       fail();
        !            32:    }
        !            33: 
        !            34: Procblock(proc,2)
        !            35: 
        !            36: #else XPX
        !            37: char junk;                     /* prevent null object file */
        !            38: #endif XPX

unix.superglobalmegacorp.com

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