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