/* This software is licensed by the MIT License, see LICENSE file */ /* Copyright © 2022 Gregory Lirent */ #include "../../modules/libunic/include.h" #include "../../include/extra/string.h" #include "../__internal/include.h" #ifndef LIBCDSB_SRC_STRING_INCLUDE_H #define LIBCDSB_SRC_STRING_INCLUDE_H ainline(char* next_char(char* s)) { int cs = charsize(s); if (cs) return s + cs; return ++s; } ainline(char* prev_char(char* s)) { if (*(--s)&0x80) { char* p = s; while ((*(--p)&0xc0) == 0x80) {} if (charsize(p) == s - p) return p; } return s; } extern void libcdsb_string_replace(str_t* x, char* p, size_t n, const char* v, size_t vn); #ifdef string_replace #undef string_replace #endif #ifdef string_trim_spaces #undef string_trim_spaces #endif #define string_replace libcdsb_string_replace #define string_indexof_cstring libcdsb_string_indexof_cstring #define string_indexof_char libcdsb_string_indexof_char #define string_count_cstring libcdsb_string_count_cstring #define string_count_char libcdsb_string_count_char #define string_concat_cstring libcdsb_string_concat_cstring #define string_concat_char libcdsb_string_concat_char #define string_trim_spaces libcdsb_string_trim_spaces #define string_trim_cstring libcdsb_string_trim_cstring #define string_trim_char libcdsb_string_trim_char #define string_replace_cstring_cstring libcdsb_string_replace_cstring_cstring #define string_replace_cstring_char libcdsb_string_replace_cstring_char #define string_replace_char_cstring libcdsb_string_replace_char_cstring #define string_replace_char_char libcdsb_string_replace_char_char #define string_split_string libcdsb_string_split_string #define string_split_cstring libcdsb_string_split_cstring #define string_split_char libcdsb_string_split_char #define string_replace_cstring_cstring_r libcdsb_string_replace_r_cstring_cstring #define string_replace_cstring_char_r libcdsb_string_replace_r_cstring_char #define string_replace_char_cstring_r libcdsb_string_replace_r_char_cstring #endif /* LIBCDSB_SRC_STRING_INCLUDE_H */