64 lines
2.2 KiB
C
64 lines
2.2 KiB
C
/* 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 */
|