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