From 0d65d19436bd27db449e620713d011c112236787 Mon Sep 17 00:00:00 2001 From: Martin Fouilleul Date: Mon, 26 Jun 2023 16:24:12 +0200 Subject: [PATCH] str8_to_cstring forwards to str8_push_copy(), which null-terminates the copy --- src/util/strings.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/util/strings.c b/src/util/strings.c index d63c6c5..351b797 100644 --- a/src/util/strings.c +++ b/src/util/strings.c @@ -49,6 +49,13 @@ str8 str8_push_copy(mem_arena* arena, str8 s) return(str8_push_buffer(arena, str8_lp(s))); } +char* str8_to_cstring(mem_arena* arena, str8 string) +{ + //NOTE: forward to push_copy, which null-terminates the copy + string = str8_push_copy(arena, string); + return(string.ptr); +} + str8 str8_push_slice(mem_arena* arena, str8 s, u64 start, u64 end) { str8 slice = str8_slice(s, start, end); @@ -92,14 +99,6 @@ int str8_cmp(str8 s1, str8 s2) return(res); } -char* str8_to_cstring(mem_arena* arena, str8 string) -{ - char* cstr = mem_arena_alloc_array(arena, char, string.len+1); - memcpy(cstr, string.ptr, string.len); - cstr[string.len] = '\0'; - return(cstr); -} - //---------------------------------------------------------------------------------- // string lists //----------------------------------------------------------------------------------