|  | /* ts.c: minor string processing subroutines */ | 
|  | #include "t.h" | 
|  |  | 
|  | int | 
|  | match (char *s1, char *s2) | 
|  | { | 
|  | while (*s1 == *s2) | 
|  | if (*s1++ == '\0') | 
|  | return(1); | 
|  | else | 
|  | s2++; | 
|  | return(0); | 
|  | } | 
|  |  | 
|  |  | 
|  | int | 
|  | prefix(char *small, char *big) | 
|  | { | 
|  | int	c; | 
|  |  | 
|  | while ((c = *small++) == *big++) | 
|  | if (c == 0) | 
|  | return(1); | 
|  | return(c == 0); | 
|  | } | 
|  |  | 
|  |  | 
|  | int | 
|  | letter (int ch) | 
|  | { | 
|  | if (ch >= 'a' && ch <= 'z') | 
|  | return(1); | 
|  | if (ch >= 'A' && ch <= 'Z') | 
|  | return(1); | 
|  | return(0); | 
|  | } | 
|  |  | 
|  |  | 
|  | int | 
|  | numb(char *str) | 
|  | { | 
|  | /* convert to integer */ | 
|  | int	k; | 
|  | for (k = 0; *str >= '0' && *str <= '9'; str++) | 
|  | k = k * 10 + *str - '0'; | 
|  | return(k); | 
|  | } | 
|  |  | 
|  |  | 
|  | int | 
|  | digit(int x) | 
|  | { | 
|  | return(x >= '0' && x <= '9'); | 
|  | } | 
|  |  | 
|  |  | 
|  | int | 
|  | max(int a, int b) | 
|  | { | 
|  | return( a > b ? a : b); | 
|  | } | 
|  |  | 
|  |  | 
|  | void | 
|  | tcopy (char *s, char *t) | 
|  | { | 
|  | while (*s++ = *t++) | 
|  | ; | 
|  | } | 
|  |  | 
|  |  |