Annotation of 43BSD/contrib/icon/functions/proc.c, revision 1.1.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.