|
|
1.1 root 1: #
2: /*
3: *
4: * S. R. Bourne
5: * Bell Telephone Laboratories
6: *
7: */
8:
9: #include "defs.h"
10:
11:
12: /* ======== general purpose string handling ======== */
13:
14:
15: STRING movstr(a,b)
16: REG STRING a, b;
17: {
18: WHILE *b++ = *a++ DONE
19: return(--b);
20: }
21:
22: INT any(c,s)
23: REG CHAR c;
24: STRING s;
25: {
26: REG CHAR d;
27:
28: WHILE d = *s++
29: DO IF d==c
30: THEN return(TRUE);
31: FI
32: OD
33: return(FALSE);
34: }
35:
36: INT cf(s1, s2)
37: REG STRING s1, s2;
38: {
39: WHILE *s1++ == *s2
40: DO IF *s2++==0
41: THEN return(0);
42: FI
43: OD
44: return(*--s1 - *s2);
45: }
46:
47: INT length(as)
48: STRING as;
49: {
50: REG STRING s;
51:
52: IF s=as THEN WHILE *s++ DONE FI
53: return(s-as);
54: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.