|
|
1.1 ! root 1: #include "../h/rt.h" ! 2: ! 3: /* ! 4: * x := y - assign y to x. ! 5: */ ! 6: ! 7: asgn(nargs, arg2, arg1, arg0) ! 8: int nargs; ! 9: struct descrip arg2, arg1, arg0; ! 10: { ! 11: DclSave ! 12: SetBound; ! 13: /* ! 14: * Make sure that x is a variable. ! 15: */ ! 16: if (QUAL(arg1) || !VAR(arg1)) ! 17: runerr(111, &arg1); ! 18: /* ! 19: * Return value is the variable being assigned to. ! 20: */ ! 21: arg0 = arg1; ! 22: DeRef(arg2) ! 23: /* ! 24: * doasgn does all the work. ! 25: */ ! 26: doasgn(&arg1, &arg2); ! 27: ClearBound; ! 28: } ! 29: ! 30: Opblock(asgn,2,":=")
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.