]>
diplodocus.org Git - nmh/blob - docs/historical/mh-nov-1983/subs/brkstring.c
2 char **brkstring(strg
,brksep
,brkterm
) /* returns pointer to static table of substring ptrs */
4 char *brksep
, *brkterm
;
7 register char c
, *bp
, *sp
;
8 static char *broken
[NSTR
+1]; /* static array of substring start addresses */
11 sp
= strg
; /* scan string, replacing separators with zeroes */
13 for (bi
=0; bi
<NSTR
; bi
++) { /* and entering start addrs in "broken" */
14 while (brkany(c
= *sp
, brksep
)) *sp
++ = 0;
15 if (!c
|| brkany(c
, brkterm
)) {
18 return(broken
); /* terminator found, finish up */
21 broken
[bi
] = sp
; /* set next start addr */
23 while ((c
= *++sp
) && !brkany(c
,brksep
) && !brkany(c
,brkterm
));
26 broken
[NSTR
] = 0; /* reached limit of NSTR substrings */
30 brkany (chr
,strg
) /* returns 1 if chr in strg, 0 otherwise */
35 for (sp
=strg
; *sp
; sp
++)
36 if (chr
== *sp
) return (1);