diff options
| author | WormHeamer | 2026-01-02 20:12:42 -0500 |
|---|---|---|
| committer | WormHeamer | 2026-01-02 20:12:42 -0500 |
| commit | 862cc0d37f5b2672ed781fdd30962da7028d967c (patch) | |
| tree | 6f784c0709924a909f02d34c716c702b6d61020f | |
| parent | 798afa8d742e39223533865a50f82ad6be10df97 (diff) | |
add cstr_dup
| -rw-r--r-- | str.h | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -40,6 +40,7 @@ Str str_findc(Str s, char c); Str str_find(Str haystack, Str needle); int str_contains(Str a, Str b); +char *cstr_dup(const char *s, Arena *a); char *str_to_cstr(Str s, Arena *a); void str_cat(Str *a, Str b, Arena *m); void str_catc(Str *a, char b, Arena *m); @@ -131,6 +132,13 @@ int str_contains(Str a, Str b) { /* allocating */ +char *cstr_dup(const char *s, Arena *a) { + u32 n = strlen(s) + 1; + char *p = new_arr(a, char, n); + memcpy(p, s, n); + return p; +} + char *str_to_cstr(Str s, Arena *a) { if (!s.n) return ""; char *r = new_arr(a, char, s.n + 1); |
