1*14480Ssam #ifndef lint 2*14480Ssam static char sccsid[] = "@(#)string.c 4.2 08/11/83"; 3*14480Ssam #endif 46706Smckusick 56706Smckusick # 66706Smckusick /* 76706Smckusick * UNIX shell 86706Smckusick * 96706Smckusick * S. R. Bourne 106706Smckusick * Bell Telephone Laboratories 116706Smckusick * 126706Smckusick */ 136706Smckusick 146706Smckusick #include "defs.h" 156706Smckusick 166706Smckusick 176706Smckusick /* ======== general purpose string handling ======== */ 186706Smckusick 196706Smckusick movstr(a,b)206706SmckusickSTRING movstr(a,b) 216706Smckusick REG STRING a, b; 226706Smckusick { 236706Smckusick WHILE *b++ = *a++ DONE 246706Smckusick return(--b); 256706Smckusick } 266706Smckusick any(c,s)276706SmckusickINT any(c,s) 286706Smckusick REG CHAR c; 296706Smckusick STRING s; 306706Smckusick { 316706Smckusick REG CHAR d; 326706Smckusick 336706Smckusick WHILE d = *s++ 346706Smckusick DO IF d==c 356706Smckusick THEN return(TRUE); 366706Smckusick FI 376706Smckusick OD 386706Smckusick return(FALSE); 396706Smckusick } 406706Smckusick cf(s1,s2)416706SmckusickINT cf(s1, s2) 426706Smckusick REG STRING s1, s2; 436706Smckusick { 446706Smckusick WHILE *s1++ == *s2 456706Smckusick DO IF *s2++==0 466706Smckusick THEN return(0); 476706Smckusick FI 486706Smckusick OD 496706Smckusick return(*--s1 - *s2); 506706Smckusick } 516706Smckusick length(as)526706SmckusickINT length(as) 536706Smckusick STRING as; 546706Smckusick { 556706Smckusick REG STRING s; 566706Smckusick 576706Smckusick IF s=as THEN WHILE *s++ DONE FI 586706Smckusick return(s-as); 596706Smckusick } 60