summaryrefslogtreecommitdiff
path: root/jrk.h
diff options
context:
space:
mode:
Diffstat (limited to 'jrk.h')
-rw-r--r--jrk.h11
1 files changed, 11 insertions, 0 deletions
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)
{