1: #include "../h/rt.h"
2:
3: /*
4: * cvcset(d, cs, csbuf) - convert d to a cset and
5: * make cs point to it, using csbuf as a buffer if necessary.
6: */
7:
8: cvcset(d, cs, csbuf)
9: register struct descrip *d;
10: int **cs, *csbuf;
11: {
12: register char *s;
13: register int l;
14: char sbuf[MAXSTRING];
15:
16: DeRef(*d)
17:
18: if (!QUAL(*d) && TYPE(*d) == T_CSET) {
19: *cs = BLKLOC(*d)->cset.bits;
20: return (T_CSET);
21: }
22:
23: if (cvstr(d, sbuf) == NULL)
24: return (NULL);
25:
26: for (l = 0; l < CSETSIZE; l++)
27: csbuf[l] = 0;
28:
29: s = STRLOC(*d);
30: l = STRLEN(*d);
31: while (l--) {
32: setb(*s, csbuf);
33: s++;
34: }
35: *cs = csbuf;
36: return (1);
37: }
Defined functions
cvcset
defined in line
8; used 1 times