aboutsummaryrefslogtreecommitdiff
path: root/lib/splitmem.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/splitmem.c')
-rw-r--r--lib/splitmem.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/splitmem.c b/lib/splitmem.c
new file mode 100644
index 0000000..f5d13aa
--- /dev/null
+++ b/lib/splitmem.c
@@ -0,0 +1,18 @@
+unsigned int splitmem(char **v, char *s, char c) /*EXTRACT_INCL*/ {
+ if (v) {
+ char **w=v;
+ *w++=s;
+ for (;;) {
+ while (*s && *s!=c) s++;
+ if (*s==0) break;
+ *s=0;
+ *w++ = ++s;
+ }
+ *w=0;
+ return (w-v);
+ } else {
+ unsigned int n=1;
+ for (; *s; s++) if (*s==c) n++;
+ return n;
+ }
+}