From b20b400d4c56a8dc38aac00c39f413f9603dd171 Mon Sep 17 00:00:00 2001 From: Jake Koroman Date: Wed, 23 Jul 2025 16:25:56 -0400 Subject: add jrk_string_to_cstr_arena. --- jrk.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'jrk.h') diff --git a/jrk.h b/jrk.h index 7739d34..8566d22 100644 --- 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) { -- cgit v1.2.3