BSD 3 development
[unix-history] / usr / src / cmd / sh / string.c
CommitLineData
42d6e430
BJ
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
16STRING movstr(a,b)
17 REG STRING a, b;
18{
19 WHILE *b++ = *a++ DONE
20 return(--b);
21}
22
23INT 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
37INT 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
48INT 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}