|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T b
Length: 1154 (0x482) Types: TextFile Names: »brkstring.c«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit └─⟦3658e588a⟧ »EurOpenD3/mail/mh/mh-6.7.tar.Z« └─⟦c75e36ecb⟧ └─⟦this⟧ »mh-6.7/sbr/brkstring.c«
/* brkstring.c - break string into an array of strings */ #include "../h/mh.h" static char *broken[MAXARGS+1]; /* array of substring start addresses */ static brkany(); char **brkstring (strg, brksep, brkterm) register char *strg; register char *brksep, *brkterm; { register int bi; register char c, *sp; sp = strg; /* scan string, replacing separators with zeroes */ for (bi = 0; bi < MAXARGS; bi++) { /* and entering start addrs in "broken" */ while (brkany (c = *sp, brksep)) *sp++ = 0; if (!c || brkany (c, brkterm)) { *sp = 0; broken[bi] = 0; return broken; /* terminator found, finish up */ } broken[bi] = sp; /* set next start addr */ while ((c = *++sp) && !brkany (c, brksep) && !brkany (c, brkterm)) continue; } broken[MAXARGS] = 0; /* reached limit of MAXARGS substrings */ return broken; } static brkany (chr, strg) /* returns 1 if chr in strg, 0 otherwise */ register char chr, *strg; { register char *sp; if (strg) for (sp = strg; *sp; sp++) if (chr == *sp) return 1; return 0; }