Annotation of 43BSD/contrib/icon/operators/asgn.c, revision 1.1.1.1

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,":=")

unix.superglobalmegacorp.com

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