rewrite sl_c_str as a function, will probably eventually do this for most pointless macros

This commit is contained in:
sam 2024-07-22 21:58:44 +12:00
parent 28b948912e
commit b4f6bafc82

15
slibs.h
View file

@ -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);