diff options
| author | spl3g <spleefer6@yandex.ru> | 2025-03-22 21:41:16 +0300 |
|---|---|---|
| committer | spl3g <spleefer6@yandex.ru> | 2025-03-22 21:41:16 +0300 |
| commit | 62454373db4cd2add82ded0cf7b21f7d69ade597 (patch) | |
| tree | 1627133fe4567e9a3abb707af5e7289353410d5f /lib/const_strings.c | |
| parent | ef5f52fb739c9f0d71c579f08363ef0dfd5c227d (diff) | |
Reorganize the lib
Diffstat (limited to 'lib/const_strings.c')
| -rw-r--r-- | lib/const_strings.c | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/lib/const_strings.c b/lib/const_strings.c deleted file mode 100644 index 2d743b1..0000000 --- a/lib/const_strings.c +++ /dev/null @@ -1,86 +0,0 @@ -#include "const_strings.h" - -const_string cs_from_parts(const char* data, int len) { - const_string str; - str.data = data; - str.len = len; - - return str; -} - -const_string cs_from_cstr(const char* cstr) { - return cs_from_parts(cstr, strlen(cstr)); -} - -const_string cs_slice(const_string src, int from, int to) { - if (from > src.len) { - return src; - } - - int new_from; - if (from <= 0) { - new_from = 1; - } - new_from -= 1; - - int new_len; - if (to > src.len) { - new_len = src.len; - } else { - new_len = to; - } - - return cs_from_parts(src.data + new_from, new_len); -} - -const_string cs_chop_delim(const_string *str, char delim) { - int n; - for (n = 0; n < str->len && str->data[n] != delim; n++) {} - - const_string result = cs_from_parts(str->data, n); - - if (n < str->len) { - str->len -= n + 1; - str->data += n + 1; - } else { - str->len -= n; - str->data += n; - } - - return result; -} - -bool cs_try_chop_delim(const_string *str, char delim, const_string *dst) { - const_string str_copy = *str; - const_string tmp = cs_chop_delim(&str_copy, delim); - if (str_copy.len == 0) { - return false; - } - *str = str_copy; - *dst = tmp; - return true; -} - -int cs_find_delim(const_string str, char delim) { - int n; - for (n = 0; n < str.len && str.data[n] != delim; n++) {} - - if (n < str.len) { - return n; - } - return -1; -} - -bool cs_eq(const_string str1, const_string str2) { - if (str1.len != str2.len) { - return false; - } - return memcmp(str1.data, str2.data, str1.len) == 0; -} - -void cs_print(char *format, const_string str) { - char buf[str.len + 1]; - memcpy(buf, str.data, str.len); - buf[str.len] = '\0'; - printf(format, buf); -} |
