commit b20b400d4c56a8dc38aac00c39f413f9603dd171
parent 15f1d8efe1195049ae3edfd1699db2a695ccadb8
Author: Jake Koroman <jake@jakekoroman.com>
Date: Wed, 23 Jul 2025 16:25:56 -0400
add jrk_string_to_cstr_arena.
Diffstat:
1 file changed, 11 insertions(+), 0 deletions(-)
diff --git a/jrk.h b/jrk.h
@@ -49,6 +49,7 @@ jrk_arena jrk_arena_create(u64);
void *jrk__arena_push(jrk_arena*, u64);
void jrk_arena_expand(jrk_arena*, u64);
+char *jrk_string_to_cstr_arena(jrk_arena*, jrk_string);
jrk_string jrk_string_from_parts(char*, u64);
jrk_string jrk_strchop_delim(char*, char, u64);
void jrk_strput(jrk_string);
@@ -97,6 +98,7 @@ i32 jrk_rand_num_range(i32, i32);
#define strput jrk_strput
#define strputn jrk_strputn
#define string_from_parts jrk_string_from_parts
+#define string_to_cstr_arena jrk_string_to_cstr_arena
#define rand_num jrk_rand_num
#define rand_num_range jrk_rand_num_range
@@ -215,6 +217,15 @@ jrk_strchop_delim(char *str, char delim, u64 n)
return (jrk_string) {0};
}
+char *
+jrk_string_to_cstr_arena(jrk_arena *arena, jrk_string string)
+{
+ char *result = arena_push_array(arena, char, string.length);
+ memcpy(result, string.data, string.length);
+ result[string.length] = '\0';
+ return result;
+}
+
void
jrk_strput(jrk_string string)
{