Refactor string symbols
This commit is contained in:
parent
4d50d639cc
commit
51c1fbf52d
@ -27,9 +27,10 @@ extern size_t string_align_center(vtype_string* x, size_t padsize, int padchr) L
|
|||||||
extern size_t string_align_right (vtype_string* x, size_t padsize, int padchr) LIBCDSB_nt__ LIBCDSB_nn1__;
|
extern size_t string_align_right (vtype_string* x, size_t padsize, int padchr) LIBCDSB_nt__ LIBCDSB_nn1__;
|
||||||
extern size_t string_align_left (vtype_string* x, size_t padsize, int padchr) LIBCDSB_nt__ LIBCDSB_nn1__;
|
extern size_t string_align_left (vtype_string* x, size_t padsize, int padchr) LIBCDSB_nt__ LIBCDSB_nn1__;
|
||||||
|
|
||||||
|
|
||||||
extern int string_compare_case_insensitive(const vtype_string* s0, const vtype_string* s1) LIBCDSB_cmpattr__;
|
extern int string_compare_case_insensitive(const vtype_string* s0, const vtype_string* s1) LIBCDSB_cmpattr__;
|
||||||
|
|
||||||
|
extern void libcdsb_string_replace(vtype_string* x, char* dest, size_t dest_nmemb, const char* src, size_t nmemb);
|
||||||
|
|
||||||
/*#####################################################################################################################*/
|
/*#####################################################################################################################*/
|
||||||
|
|
||||||
inline vtype_array libcdsb_string_split_string (const vtype_string* x, const vtype_string* sep, size_t maxn) __attribute__((always_inline));
|
inline vtype_array libcdsb_string_split_string (const vtype_string* x, const vtype_string* sep, size_t maxn) __attribute__((always_inline));
|
||||||
|
@ -60,7 +60,7 @@ int string_compare(const str_t* s0, const str_t* s1) {
|
|||||||
/*#####################################################################################################################*/
|
/*#####################################################################################################################*/
|
||||||
|
|
||||||
|
|
||||||
_Bool string_concat_cstring(str_t* x, const char* s) {
|
_Bool libcdsb_string_concat_cstring(str_t* x, const char* s) {
|
||||||
size_t n;
|
size_t n;
|
||||||
size_t xn;
|
size_t xn;
|
||||||
|
|
||||||
@ -77,7 +77,7 @@ _Bool string_concat_cstring(str_t* x, const char* s) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
_Bool string_concat_char(str_t* x, int chr) {
|
_Bool libcdsb_string_concat_char(str_t* x, int chr) {
|
||||||
size_t xn;
|
size_t xn;
|
||||||
size_t n;
|
size_t n;
|
||||||
char *e;
|
char *e;
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include "include.h"
|
#include "include.h"
|
||||||
|
|
||||||
arr_t string_split_cstring(const str_t* s, const char* a, size_t maxn) {
|
arr_t libcdsb_string_split_cstring(const str_t* s, const char* a, size_t maxn) {
|
||||||
arr_t x = { .mem = 0, .size = 0, .type = VTYPE_STRING };
|
arr_t x = { .mem = 0, .size = 0, .type = VTYPE_STRING };
|
||||||
|
|
||||||
size_t n;
|
size_t n;
|
||||||
@ -46,7 +46,7 @@ arr_t string_split_cstring(const str_t* s, const char* a, size_t maxn) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
arr_t string_split_char(const str_t* s, int ac, size_t maxn) {
|
arr_t libcdsb_string_split_char(const str_t* s, int ac, size_t maxn) {
|
||||||
arr_t x = { .mem = 0, .size = 0, .type = VTYPE_STRING };
|
arr_t x = { .mem = 0, .size = 0, .type = VTYPE_STRING };
|
||||||
char a[5] = { 0 };
|
char a[5] = { 0 };
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include "include.h"
|
#include "include.h"
|
||||||
|
|
||||||
int string_case_compare(const str_t* s0, const str_t* s1) {
|
int string_compare_case_insensitive(const str_t* s0, const str_t* s1) {
|
||||||
const char *p0, *p1, *t0, *t1;
|
const char *p0, *p1, *t0, *t1;
|
||||||
ssize_t n0, n1;
|
ssize_t n0, n1;
|
||||||
u32_t uc0, uc1;
|
u32_t uc0, uc1;
|
||||||
@ -76,7 +76,7 @@ size_t string_to_lower(str_t* x) {
|
|||||||
es = tochar_unicode(ps, uc1);
|
es = tochar_unicode(ps, uc1);
|
||||||
|
|
||||||
if (!is_null(es)) {
|
if (!is_null(es)) {
|
||||||
string_replace(x, p, e-p, ps, es-ps);
|
libcdsb_string_replace(x, p, e-p, ps, es-ps);
|
||||||
++n;
|
++n;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -112,7 +112,7 @@ size_t string_to_upper(str_t* x) {
|
|||||||
es = tochar_unicode(ps, uc1);
|
es = tochar_unicode(ps, uc1);
|
||||||
|
|
||||||
if (!is_null(es)) {
|
if (!is_null(es)) {
|
||||||
string_replace(x, p, e-p, ps, es-ps);
|
libcdsb_string_replace(x, p, e-p, ps, es-ps);
|
||||||
++n;
|
++n;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -146,7 +146,7 @@ size_t string_capitalize(str_t* x) {
|
|||||||
es = tochar_unicode(ps, uc1);
|
es = tochar_unicode(ps, uc1);
|
||||||
|
|
||||||
if (!is_null(es)) {
|
if (!is_null(es)) {
|
||||||
string_replace(x, p, e-p, ps, es-ps);
|
libcdsb_string_replace(x, p, e-p, ps, es-ps);
|
||||||
++n;
|
++n;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -164,7 +164,7 @@ size_t string_capitalize(str_t* x) {
|
|||||||
es = tochar_unicode(ps, uc1);
|
es = tochar_unicode(ps, uc1);
|
||||||
|
|
||||||
if (!is_null(es)) {
|
if (!is_null(es)) {
|
||||||
string_replace(x, p, e-p, ps, es-ps);
|
libcdsb_string_replace(x, p, e-p, ps, es-ps);
|
||||||
++n;
|
++n;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -207,3 +207,22 @@ size_t string_reverse(str_t* x) {
|
|||||||
|
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*#####################################################################################################################*/
|
||||||
|
|
||||||
|
void libcdsb_string_replace(str_t* x, char* p, size_t n, const char* v, size_t vn) {
|
||||||
|
if (n != vn) {
|
||||||
|
size_t l = strlen(x->buffer);
|
||||||
|
|
||||||
|
if (n < vn) {
|
||||||
|
char* t = x->buffer;
|
||||||
|
|
||||||
|
x->buffer = realloc(x->buffer, l + (vn - n) + 1);
|
||||||
|
p = x->buffer + (p - t);
|
||||||
|
}
|
||||||
|
|
||||||
|
memmove(p+vn, p+n, l - (p+n - x->buffer) + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
memcpy(p, v, vn);
|
||||||
|
}
|
||||||
|
@ -63,7 +63,7 @@ _Bool string_slice(str_t* x, str_t* s, ssize_t i, size_t c, _Bool cut) {
|
|||||||
/*#####################################################################################################################*/
|
/*#####################################################################################################################*/
|
||||||
|
|
||||||
|
|
||||||
ssize_t string_indexof_cstring(const str_t* s, const char* a) {
|
ssize_t libcdsb_string_indexof_cstring(const str_t* s, const char* a) {
|
||||||
char *e, *p;
|
char *e, *p;
|
||||||
size_t n;
|
size_t n;
|
||||||
|
|
||||||
@ -92,7 +92,7 @@ ssize_t string_indexof_cstring(const str_t* s, const char* a) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ssize_t string_indexof_char(const str_t* s, int ac) {
|
ssize_t libcdsb_string_indexof_char(const str_t* s, int ac) {
|
||||||
size_t n;
|
size_t n;
|
||||||
char* e;
|
char* e;
|
||||||
|
|
||||||
@ -127,7 +127,7 @@ ssize_t string_indexof_char(const str_t* s, int ac) {
|
|||||||
/*#####################################################################################################################*/
|
/*#####################################################################################################################*/
|
||||||
|
|
||||||
|
|
||||||
size_t string_count_cstring(const str_t* s, const char* a) {
|
size_t libcdsb_string_count_cstring(const str_t* s, const char* a) {
|
||||||
char* p;
|
char* p;
|
||||||
size_t n, c;
|
size_t n, c;
|
||||||
|
|
||||||
@ -148,7 +148,7 @@ size_t string_count_cstring(const str_t* s, const char* a) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
size_t string_count_char(const str_t* s, int ac) {
|
size_t libcdsb_string_count_char(const str_t* s, int ac) {
|
||||||
size_t n, c;
|
size_t n, c;
|
||||||
|
|
||||||
char a[5] = {0};
|
char a[5] = {0};
|
||||||
|
@ -29,35 +29,4 @@ ainline(char* prev_char(char* s)) {
|
|||||||
return s;
|
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 */
|
#endif /* LIBCDSB_SRC_STRING_INCLUDE_H */
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
/* This software is licensed by the MIT License, see LICENSE file */
|
|
||||||
/* Copyright © 2022 Gregory Lirent */
|
|
||||||
|
|
||||||
#include "include.h"
|
|
||||||
|
|
||||||
void string_replace(str_t* x, char* p, size_t n, const char* v, size_t vn) {
|
|
||||||
if (n != vn) {
|
|
||||||
size_t l = strlen(x->buffer);
|
|
||||||
|
|
||||||
if (n < vn) {
|
|
||||||
char* t = x->buffer;
|
|
||||||
|
|
||||||
x->buffer = realloc(x->buffer, l + (vn - n) + 1);
|
|
||||||
p = x->buffer + (p - t);
|
|
||||||
}
|
|
||||||
|
|
||||||
memmove(p+vn, p+n, l - (p+n - x->buffer) + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
memcpy(p, v, vn);
|
|
||||||
}
|
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include "include.h"
|
#include "include.h"
|
||||||
|
|
||||||
size_t string_replace_cstring_cstring(str_t* x, const char* a, const char* d, size_t maxn) {
|
size_t libcdsb_string_replace_cstring_cstring(str_t* x, const char* a, const char* d, size_t maxn) {
|
||||||
char *p, *t, *r;
|
char *p, *t, *r;
|
||||||
size_t c, n, an, dn;
|
size_t c, n, an, dn;
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ size_t string_replace_cstring_cstring(str_t* x, const char* a, const char* d, si
|
|||||||
}
|
}
|
||||||
|
|
||||||
while (maxn-- && !is_null(p = strstr(p, a))) {
|
while (maxn-- && !is_null(p = strstr(p, a))) {
|
||||||
string_replace(x, p, an, d, dn);
|
libcdsb_string_replace(x, p, an, d, dn);
|
||||||
p += an;
|
p += an;
|
||||||
++c;
|
++c;
|
||||||
}
|
}
|
||||||
@ -49,7 +49,7 @@ size_t string_replace_cstring_cstring(str_t* x, const char* a, const char* d, si
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
size_t string_replace_cstring_char(str_t* x, const char* a, int dc, size_t maxn) {
|
size_t libcdsb_string_replace_cstring_char(str_t* x, const char* a, int dc, size_t maxn) {
|
||||||
char *p, *t;
|
char *p, *t;
|
||||||
char d[4];
|
char d[4];
|
||||||
size_t c, n, an, dn;
|
size_t c, n, an, dn;
|
||||||
@ -77,7 +77,7 @@ size_t string_replace_cstring_char(str_t* x, const char* a, int dc, size_t maxn)
|
|||||||
}
|
}
|
||||||
|
|
||||||
while (maxn-- && !is_null(p = strstr(p, a))) {
|
while (maxn-- && !is_null(p = strstr(p, a))) {
|
||||||
string_replace(x, p, an, d, dn);
|
libcdsb_string_replace(x, p, an, d, dn);
|
||||||
p += an;
|
p += an;
|
||||||
++c;
|
++c;
|
||||||
}
|
}
|
||||||
@ -87,7 +87,7 @@ size_t string_replace_cstring_char(str_t* x, const char* a, int dc, size_t maxn)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
size_t string_replace_char_cstring(str_t* x, int ac, const char* d, size_t maxn) {
|
size_t libcdsb_string_replace_char_cstring(str_t* x, int ac, const char* d, size_t maxn) {
|
||||||
char *p, *t;
|
char *p, *t;
|
||||||
char a[4];
|
char a[4];
|
||||||
size_t c, n, an, dn;
|
size_t c, n, an, dn;
|
||||||
@ -110,7 +110,7 @@ size_t string_replace_char_cstring(str_t* x, int ac, const char* d, size_t maxn)
|
|||||||
}
|
}
|
||||||
|
|
||||||
while (maxn-- && !is_null(p = strstr(p, a))) {
|
while (maxn-- && !is_null(p = strstr(p, a))) {
|
||||||
string_replace(x, p, an, d, dn);
|
libcdsb_string_replace(x, p, an, d, dn);
|
||||||
p += an;
|
p += an;
|
||||||
++c;
|
++c;
|
||||||
}
|
}
|
||||||
@ -120,7 +120,7 @@ size_t string_replace_char_cstring(str_t* x, int ac, const char* d, size_t maxn)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
size_t string_replace_char_char(str_t* x, int ac, int dc, size_t maxn) {
|
size_t libcdsb_string_replace_char_char(str_t* x, int ac, int dc, size_t maxn) {
|
||||||
char* p;
|
char* p;
|
||||||
char a[4];
|
char a[4];
|
||||||
char d[4];
|
char d[4];
|
||||||
@ -139,7 +139,7 @@ size_t string_replace_char_char(str_t* x, int ac, int dc, size_t maxn) {
|
|||||||
c = 0;
|
c = 0;
|
||||||
|
|
||||||
while (maxn-- && !is_null(p = strstr(p, a))) {
|
while (maxn-- && !is_null(p = strstr(p, a))) {
|
||||||
string_replace(x, p, an, d, dn);
|
libcdsb_string_replace(x, p, an, d, dn);
|
||||||
p += an;
|
p += an;
|
||||||
++c;
|
++c;
|
||||||
}
|
}
|
||||||
@ -149,7 +149,7 @@ size_t string_replace_char_char(str_t* x, int ac, int dc, size_t maxn) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
size_t string_replace_cstring_cstring_r(str_t* x, const char*restrict a, const char*restrict d, size_t maxn) {
|
size_t libcdsb_string_replace_r_cstring_cstring(str_t* x, const char*restrict a, const char*restrict d, size_t maxn) {
|
||||||
char *restrict p;
|
char *restrict p;
|
||||||
size_t c, an, dn;
|
size_t c, an, dn;
|
||||||
|
|
||||||
@ -163,7 +163,7 @@ size_t string_replace_cstring_cstring_r(str_t* x, const char*restrict a, const c
|
|||||||
c = 0;
|
c = 0;
|
||||||
|
|
||||||
while (maxn-- && !is_null(p = strstr(p, a))) {
|
while (maxn-- && !is_null(p = strstr(p, a))) {
|
||||||
string_replace(x, p, an, d, dn);
|
libcdsb_string_replace(x, p, an, d, dn);
|
||||||
p += an;
|
p += an;
|
||||||
++c;
|
++c;
|
||||||
}
|
}
|
||||||
@ -172,7 +172,7 @@ size_t string_replace_cstring_cstring_r(str_t* x, const char*restrict a, const c
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
size_t string_replace_cstring_char_r(str_t* x, const char*restrict a, int dc, size_t maxn) {
|
size_t libcdsb_string_replace_r_cstring_char(str_t* x, const char*restrict a, int dc, size_t maxn) {
|
||||||
char *restrict p;
|
char *restrict p;
|
||||||
char d[4];
|
char d[4];
|
||||||
size_t c, an, dn;
|
size_t c, an, dn;
|
||||||
@ -188,7 +188,7 @@ size_t string_replace_cstring_char_r(str_t* x, const char*restrict a, int dc, si
|
|||||||
c = 0;
|
c = 0;
|
||||||
|
|
||||||
while (maxn-- && !is_null(p = strstr(p, a))) {
|
while (maxn-- && !is_null(p = strstr(p, a))) {
|
||||||
string_replace(x, p, an, d, dn);
|
libcdsb_string_replace(x, p, an, d, dn);
|
||||||
p += an;
|
p += an;
|
||||||
++c;
|
++c;
|
||||||
}
|
}
|
||||||
@ -197,7 +197,7 @@ size_t string_replace_cstring_char_r(str_t* x, const char*restrict a, int dc, si
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
size_t string_replace_char_cstring_r(str_t* x, int ac, const char*restrict d, size_t maxn) {
|
size_t libcdsb_string_replace_r_char_cstring(str_t* x, int ac, const char*restrict d, size_t maxn) {
|
||||||
char *restrict p;
|
char *restrict p;
|
||||||
char a[4];
|
char a[4];
|
||||||
size_t c, an, dn;
|
size_t c, an, dn;
|
||||||
@ -214,7 +214,7 @@ size_t string_replace_char_cstring_r(str_t* x, int ac, const char*restrict d, si
|
|||||||
c = 0;
|
c = 0;
|
||||||
|
|
||||||
while (maxn-- && !is_null(p = strstr(p, a))) {
|
while (maxn-- && !is_null(p = strstr(p, a))) {
|
||||||
string_replace(x, p, an, d, dn);
|
libcdsb_string_replace(x, p, an, d, dn);
|
||||||
p += an;
|
p += an;
|
||||||
++c;
|
++c;
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
/*#####################################################################################################################*/
|
/*#####################################################################################################################*/
|
||||||
|
|
||||||
|
|
||||||
void string_trim_spaces(str_t* x, int direction) {
|
void libcdsb_string_trim_spaces(str_t* x, int direction) {
|
||||||
static size_t m[32/(sizeof(size_t))] = {0};
|
static size_t m[32/(sizeof(size_t))] = {0};
|
||||||
|
|
||||||
u8_t* l;
|
u8_t* l;
|
||||||
@ -51,7 +51,7 @@ void string_trim_spaces(str_t* x, int direction) {
|
|||||||
/*#####################################################################################################################*/
|
/*#####################################################################################################################*/
|
||||||
|
|
||||||
|
|
||||||
void string_trim_cstring(str_t* x, const char* s, int direction) {
|
void libcdsb_string_trim_cstring(str_t* x, const char* s, int direction) {
|
||||||
|
|
||||||
u8_t* l;
|
u8_t* l;
|
||||||
u8_t* r;
|
u8_t* r;
|
||||||
@ -122,7 +122,7 @@ void string_trim_cstring(str_t* x, const char* s, int direction) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void string_trim_char(str_t* x, int sc, int direction) {
|
void libcdsb_string_trim_char(str_t* x, int sc, int direction) {
|
||||||
|
|
||||||
u8_t* l;
|
u8_t* l;
|
||||||
u8_t* r;
|
u8_t* r;
|
||||||
|
Loading…
Reference in New Issue
Block a user