From b4f6bafc82187d840613929fbbe3806fec250de7 Mon Sep 17 00:00:00 2001 From: sam Date: Mon, 22 Jul 2024 21:58:44 +1200 Subject: [PATCH] rewrite sl_c_str as a function, will probably eventually do this for most pointless macros --- slibs.h | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/slibs.h b/slibs.h index f5ad575..9586184 100644 --- a/slibs.h +++ b/slibs.h @@ -141,12 +141,15 @@ typedef sl_vec(char) sl_string; #define sl_str_free(str) sl_vec_free(str) -#define sl_c_str(str) \ - ({ \ - sl_vec_push((str), '\0'); \ - (str).size--; \ - (str).data; \ - }) +const char* sl_c_str(sl_string str); + +#ifdef SL_IMPLEMENTATION +const char* sl_c_str(sl_string str) { + sl_vec_push(str, '\0'); + str.size--; + return str.data; +} +#endif void sl_append_c_str(sl_string *sl_str, const char *c_str);