summaryrefslogtreecommitdiff
path: root/strings
diff options
context:
space:
mode:
Diffstat (limited to 'strings')
-rw-r--r--strings/strings.cpp31
-rw-r--r--strings/strings.h42
-rw-r--r--strings/test.cpp65
3 files changed, 0 insertions, 138 deletions
diff --git a/strings/strings.cpp b/strings/strings.cpp
deleted file mode 100644
index 4c8486f..0000000
--- a/strings/strings.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-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;
-}
diff --git a/strings/strings.h b/strings/strings.h
deleted file mode 100644
index dbaff7a..0000000
--- a/strings/strings.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef AMR_STR
-#define AMR_STR
-
-#include <assert.h>
-#include <string.h>
-
-#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
diff --git a/strings/test.cpp b/strings/test.cpp
deleted file mode 100644
index 49f81c9..0000000
--- a/strings/test.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-#include <stdio.h>
-#include "strings.h"
-#include "strings.cpp"
-
-void TestCstrSize()
-{
- u64 size = CstrSize("hello sailor\n");
- assert(size == 13 && "test_cstr_size() failed"
- "the cstr size was wrong\n");
-}
-
-void TestEmptyCstrSize()
-{
- u64 size = CstrSize("");
- assert(size == 0 && "test_empty_cstr_size() failed"
- "the cstr size was wrong\n");
-}
-
-void TestStr8InitCstr(u8* buffer, u64 buffer_size)
-{
- struct arena a = {};
- arena_init(&a, buffer, buffer_size);
- struct res_str8 qres = Str8InitCstr(&a, "hello sailor");
- assert((qres.bytes_count == 12) && "Error TestStr8InitCstr:\n"
- "Reason: Invalid size of allocated string\n"
- "Hint: check what is happening to the bytes_count and how it is set first\n");
-}
-
-void TestStr8InitCstrEmpty(u8* buffer, u64 buffer_size)
-{
- struct arena a = {};
- arena_init(&a, buffer, buffer_size);
- struct res_str8 qres = Str8InitCstr(&a, "");
- assert((qres.string.size == 0) && "Error TestStr8InitCstrEmpty:\n"
- "Reason: Invalid size of allocated string\n"
- "Hint: check what is happening to the bytes_count and how it is set first\n");
-}
-
-void TestStr8InitCstrNoSpace(u8* buffer, u8 buffer_size)
-{
- struct arena a = {};
- arena_init(&a, buffer, buffer_size);
- struct res_str8 qres = Str8InitCstr(&a, "hello sailor, looks like you've got no space here on this boat!");
- assert(qres.string.size == 0 && "Error TestStr8InitStrNoSpace:\n"
- "Reason: the bytes count is not 0, even though the string is larger than the supposedly available\n"
- "arena space. This is an error and should not occur.\n"
- "Hint: Look at what is going on in the allocation since that arena helpers handle allocations\n.");
-}
-
-void test_strings()
-{
- printf("\n======= Testing Strings Library =======\n");
- printf("===== Testing Cstring Functions =====\n");
- TestCstrSize();
- TestEmptyCstrSize();
-
- u64 buffer_size = KB(64);
- u8* buffer = (u8*)malloc(sizeof(u8)*buffer_size);
-
- TestStr8InitCstr(buffer, buffer_size);
- TestStr8InitCstrEmpty(buffer, buffer_size);
- TestStr8InitCstrNoSpace(buffer, 8);
- printf("Cstring tests passed successfully\n");
- free(buffer);
-}