diff options
Diffstat (limited to 'src/std')
-rw-r--r-- | src/std/str.c | 2 | ||||
-rw-r--r-- | src/std/str.h | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/std/str.c b/src/std/str.c index 1c687fa..07a8e73 100644 --- a/src/std/str.c +++ b/src/std/str.c @@ -5,6 +5,8 @@ str8 str8_create(u8* buf, size_t len) { return (str8){ .buf = buf, .len = len }; } +str8 str8_cstr_view(char* string) { return str8_create((u8*)string, strlen(string)); } + bool str8_equals(str8 a, str8 b) { if (a.len != b.len) { return false; diff --git a/src/std/str.h b/src/std/str.h index b87864e..1ebecac 100644 --- a/src/std/str.h +++ b/src/std/str.h @@ -38,6 +38,11 @@ char* str8_to_cstr(arena* a, str8 s); #define cstr(a, s) (str8_to_cstr(a, s)) // Shorthand +/** @brief Return a str8 that references a statically allocated string. + `string` therefore must already be null-terminated. + @note The backing `string` cannot be modified. */ +str8 str8_cstr_view(char* string); + // --- Comparisons /** @brief Compare two strings for exact equality */ |