7 if (!a || !b)
return -1;
8 if (*a == *b)
return 0;
14 return char_list_init(
string);
22 int len = strlen(str);
29 memcpy(string->entries, str, len);
38 return char_list_init_with_allocator(
string, alloc);
43 return char_list_init_reserved(
string, n);
48 return char_list_init_reserved_with_allocator(
string, n, alloc);
53 return char_list_reserve(
string, n);
58 return char_list_append(
string, x);
68 snprintf(buf, 128,
"%d", x);
81 int len = strlen(str);
83 char_list_reserve(
string, len);
85 memcpy(&string->entries[string->count], str,
sizeof(
char) * len);
94 return char_list_append_list(a, b);
99 return char_list_destroy(
string);
104 return char_list_contains(
string, c,
char_cmp);
109 return char_list_index_of(
string, x,
char_cmp);
114 return char_list_head(
string);
119 return char_list_tail(
string);
124 return char_list_pop_tail(
string);
129 return char_list_drain(
string);
134 return string->count;
153 if (!string->entries)
156 size_t len =
string->count;
158 if (len > buf_len - 1)
161 memcpy(buf, string->entries, len);
172 size_t len =
string->count;
180 memcpy(result, string->entries, len);
194 size_t len =
string->count;
202 memcpy(result, string->entries, len);
219 int n = vsnprintf(buf, 1024, fmt, args);
void * kest_allocator_alloc(kest_allocator *a, size_t n)
void * kest_alloc(size_t size)
#define IMPLEMENT_LIST(X)
int kest_string_init_reserved(kest_string *string, size_t n)
char * kest_string_tail(kest_string *string)
int kest_string_concat(kest_string *a, kest_string *b)
int kest_string_write_out(kest_string *string, char *buf, size_t buf_len)
int kest_string_pop_tail(kest_string *string)
int kest_string_init_from_str(kest_string *string, char *str)
int kest_string_contains(kest_string *string, char c)
int kest_string_append(kest_string *string, char x)
char * kest_string_to_native(kest_string *string)
int kest_string_init_with_allocator(kest_string *string, const kest_allocator *alloc)
int kest_string_appendf(kest_string *string, const char *fmt,...)
int char_cmp(const char *a, const char *b)
int kest_string_init_reserved_with_allocator(kest_string *string, size_t n, const kest_allocator *alloc)
char * kest_string_head(kest_string *string)
char * kest_string_to_native_with_allocator(kest_string *string, kest_allocator *alloc)
int kest_string_index_of(kest_string *string, char x)
int kest_string_len(kest_string *string)
int kest_string_append_str(kest_string *string, const char *str)
int kest_string_init(kest_string *string)
int kest_string_append_int(kest_string *string, int x)
int kest_string_destroy(kest_string *string)
int kest_string_drain(kest_string *string)
int kest_string_reserve(kest_string *string, size_t n)