diff options
author | talha <talha@talhaamir.xyz> | 2024-02-15 09:58:42 +0500 |
---|---|---|
committer | talha <talha@talhaamir.xyz> | 2024-02-15 09:58:42 +0500 |
commit | ab3edaa58eed4ff73410954ca094531d49eb5844 (patch) | |
tree | 4dd8dc896baa5737153ed0d48f27881171fd3287 /strings/strings.cpp |
added personal libraries to git tracking
Diffstat (limited to 'strings/strings.cpp')
-rw-r--r-- | strings/strings.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/strings/strings.cpp b/strings/strings.cpp new file mode 100644 index 0000000..4c8486f --- /dev/null +++ b/strings/strings.cpp @@ -0,0 +1,31 @@ +u64 CstrSize(const char* cstr) +{ + u8 *iter = (u8*)cstr; + u64 size = 0; + for(;*iter != 0; *iter++) { + size += 1; + } + + return size; +} + +struct str8 Str8(u8 *string, u64 size) +{ + struct str8 result = {string, size}; + return result; +} + +struct res_str8 Str8InitCstr(struct arena *a, const char* cstr) +{ + u64 cstr_size = CstrSize(cstr); + struct res_void cstr_res = arena_alloc(a, cstr_size); + u8 *str = (u8 *)cstr_res.memory; + u64 str_size = cstr_res.bytes_count; + + MemCopy((void*)str, (void*)cstr, str_size*sizeof(u8)); + + struct res_str8 result = {}; + result.string = Str8(str, str_size); + result.bytes_count = str_size; + return result; +} |