Pristine unpack of ftp://sunsite.icm.edu.pl/pub/unix/UnixArchive/Distributions/Resear...
[v7.git] / usr / src / cmd / sh / string.c
1 #
2 /*
3  * UNIX shell
4  *
5  * S. R. Bourne
6  * Bell Telephone Laboratories
7  *
8  */
9
10 #include        "defs.h"
11
12
13 /* ========     general purpose string handling ======== */
14
15
16 STRING  movstr(a,b)
17         REG STRING      a, b;
18 {
19         WHILE *b++ = *a++ DONE
20         return(--b);
21 }
22
23 INT     any(c,s)
24         REG CHAR        c;
25         STRING          s;
26 {
27         REG CHAR d;
28
29         WHILE d = *s++
30         DO      IF d==c
31                 THEN    return(TRUE);
32                 FI
33         OD
34         return(FALSE);
35 }
36
37 INT     cf(s1, s2)
38         REG STRING s1, s2;
39 {
40         WHILE *s1++ == *s2
41         DO      IF *s2++==0
42                 THEN    return(0);
43                 FI
44         OD
45         return(*--s1 - *s2);
46 }
47
48 INT     length(as)
49         STRING as;
50 {
51         REG STRING s;
52
53         IF s=as THEN WHILE *s++ DONE FI
54         return(s-as);
55 }