jrk

my own c stdlib to keep myself sane
git clone git://git.jakekoroman.com/jrk
Log | Files | Refs

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:
Mjrk.h | 11+++++++++++
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) {