55 size_t suffix_len =
strlen(suffix);
56 size_t new_len = s->
len + suffix_len;
62 char* buf = (
char*)
kalloc(new_len + 1);
64 kfree(s_new,
sizeof(*s_new));
70 s_new->
cap = new_len + 1;
82 size_t prefix_len =
strlen(prefix);
83 size_t new_len = s->
len + prefix_len;
89 char* buf = (
char*)
kalloc(new_len + 1);
91 kfree(s_new,
sizeof(*s_new));
97 s_new->
cap = new_len + 1;
106 if (!
str || !
str->c_str ||
str->len == 0)
110 int i = (int)
str->len - 1;
112 char c =
str->c_str[i];
113 if (c ==
' ' || c ==
'\n' || c ==
'\t' || c ==
'\r') {
114 str->c_str[i] =
'\0';
void kfree(void *ptr, size_t size)
void * kalloc(size_t size)
int strncmp(const char *s1, const char *s2, size_t n)
void strcpy(char *dest, const char *src)
size_t strlen(const char *s)
void memcopy(void *dest, void *src, size_t size)
boolean_t stringcmp(kstring s1, kstring s2)
void str_release(kstring str)
void str_trim(kstring str)
kstring str_concat(kstring s, const char *suffix)
kstring str(const char *str)
kstring str_concat_prefix(kstring s, const char *prefix)