diff --git a/src/str.cpp b/src/str.cpp index bcf5696..44cef1b 100644 --- a/src/str.cpp +++ b/src/str.cpp @@ -12,6 +12,7 @@ String8 push_str8fv(Arena *arena, const char *fmt, va_list args) return result; } +internal String8 push_str8f(Arena *arena, const char *fmt, ...) { va_list args; @@ -21,6 +22,7 @@ String8 push_str8f(Arena *arena, const char *fmt, ...) return result; } +internal String8 str8_from_c(const char *str) { u64 size = strlen(str); diff --git a/src/str.h b/src/str.h index 0e5ceed..c521518 100644 --- a/src/str.h +++ b/src/str.h @@ -3,15 +3,14 @@ struct String8 { u64 size; const char *c() const { return reinterpret_cast(str); } - u8 operator[](u64 idx) const { return str[idx]; } + u8 operator[](u64 idx) const { + assert(idx < size); + return str[idx]; + } }; #define str8(s) String8 { (u8*)(s), sizeof(s) - 1 } -String8 str8_from_c(const char *str); -String8 push_str8f(Arena *arena, char *fmt, ...); - - struct String8_Node { String8_Node *next; String8 str;