|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.