aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/tbl/ts.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/tbl/ts.c')
-rw-r--r--src/cmd/tbl/ts.c71
1 files changed, 71 insertions, 0 deletions
diff --git a/src/cmd/tbl/ts.c b/src/cmd/tbl/ts.c
new file mode 100644
index 00000000..43cc84ec
--- /dev/null
+++ b/src/cmd/tbl/ts.c
@@ -0,0 +1,71 @@
+/* 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++)
+ ;
+}
+
+