#ifndef AMR_STR #define AMR_STR #include #include #define MemCopy memcpy // @todo: the function names have been changed a bit for the interest // of speed. Some structs and functions share the same names, so // I need to fix this but also make sure the functions have good names enum StrStatus {STR_OK=0, STR_FULL}; struct str8 { u8 *buffer; u64 size; }; struct str8_node { str8_node *next; str8 string; }; struct str8_list { str8_node *first; str8_node *last; u64 count; u64 capacity; }; struct res_str8 { str8 string; u64 bytes_count; enum StrStatus status; }; struct str8 Str8(u8 *string, u64 size); u64 CstrSize(const char* cstr); struct res_str8 Str8InitCstr(struct arena *a, const char* cstr, u64 size); #endif