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

1.1     ! root        1: #include "../h/rt.h"
        !             2: #ifdef SETS
        !             3: 
        !             4: /*
        !             5:  * member(S,x) - returns x if x is a member of set S otherwise fails.
        !             6:  */
        !             7: 
        !             8: Xmember(nargs,arg2,arg1,arg0)
        !             9: int nargs;
        !            10: struct descrip arg2, arg1, arg0;
        !            11:    {
        !            12:    int res;
        !            13:    extern struct descrip *memb();
        !            14: 
        !            15:    DeRef(arg1)
        !            16:    DeRef(arg2)
        !            17:    if (QUAL(arg1) || TYPE(arg1) != T_SET)
        !            18:       runerr(119,&arg1);       /* S is not a set  */
        !            19:    /* If arg2 is a member of set arg1 then "res" will have the
        !            20:     * value 1 otherwise it will have the value 0.
        !            21:     */
        !            22:    memb(BLKLOC(arg1),&arg2,hash(&arg2),&res);
        !            23:    if (res == 1) {             /* It is a member. */
        !            24:       arg0 = arg2;             /* Return the member if it is in arg1. */
        !            25:       return;
        !            26:       }
        !            27:    fail();
        !            28:    }
        !            29: 
        !            30: Procblock(member,2)
        !            31: 
        !            32: #else SETS
        !            33: char junk;                     /* prevent null object file */
        !            34: #endif SETS

unix.superglobalmegacorp.com

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