From ce05175372a9ddca1a225db0765ace1127a39293 Mon Sep 17 00:00:00 2001 From: Nicholas Date: Fri, 12 Nov 2021 09:22:01 -0800 Subject: chore: simplified organizational structure --- sys/base/string/split.c | 39 --------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 sys/base/string/split.c (limited to 'sys/base/string/split.c') diff --git a/sys/base/string/split.c b/sys/base/string/split.c deleted file mode 100644 index 2aa68b4..0000000 --- a/sys/base/string/split.c +++ /dev/null @@ -1,39 +0,0 @@ -#include "internal.h" - -// split will split the string by the given token. -// returns a stretchy buffer of strings that result from the partition. -// it is the caller's responsibility to clean the memory. -string* -str·split(string s, const byte* tok) -{ - string* fields = nil; - vlong start = 0; - - vlong sL = str·len(s); - vlong tokL = strlen(tok); - if (sL == 0 || tokL == 0) return nil; - - buffit(fields, 5); - - for (vlong i = 0; i < sL - tokL; i++) { - if ((tokL == 1 && s[i] == tokL) || !memcmp(s + i, tok, tokL)) { - bufpush(fields, str·makelen(s + start, i - start)); - if (fields[buflen(fields) - 1] == nil) goto cleanup; - - start = i + tokL; - i += tokL - 1; - } - } - - bufpush(fields, str·makelen(s + start, sL - start)); - - return fields; - -cleanup: - for (vlong i = 0; i < buflen(fields); i++) { - str·free(fields[i]); - } - buffree(fields); - return nil; -} - -- cgit v1.2.1