From cac66b9dbb73bfa1ff853a066ca06ef2aa2d525a Mon Sep 17 00:00:00 2001 From: Abdelrahman Date: Mon, 5 May 2025 19:55:42 +0100 Subject: [PATCH] Use asserts in dbl_list --- codegen/dbl_list/make_dbl_list.py | 6 +- codegen/dbl_list/snippets/list_empty | 4 +- codegen/dbl_list/snippets/list_get | 4 +- codegen/dbl_list/snippets/list_insert | 4 +- codegen/dbl_list/snippets/list_pop_back | 4 +- codegen/dbl_list/snippets/list_pop_front | 4 +- codegen/dbl_list/snippets/list_push_back | 4 +- codegen/dbl_list/snippets/list_push_front | 4 +- codegen/dbl_list/snippets/list_remove | 5 +- src/core/os/cpath/cpath.c | 2 +- src/primitives/dbl_list/dbl_list.c | 661 +++++++++------------- src/primitives/strings/str8/str8.c | 16 +- 12 files changed, 288 insertions(+), 430 deletions(-) diff --git a/codegen/dbl_list/make_dbl_list.py b/codegen/dbl_list/make_dbl_list.py index 42499b8..227a790 100644 --- a/codegen/dbl_list/make_dbl_list.py +++ b/codegen/dbl_list/make_dbl_list.py @@ -93,7 +93,11 @@ def make_dbl_list(user_datatypes: Dict[CDataType, DblListData] = {}): source = CSource( name=header.name, decl_types=[*common_decl_types], - includes=[CInclude(header, local=True, same_dir=True), CInclude(header="stddef.h")], + includes=[ + CInclude(header, local=True, same_dir=True), + CInclude(header="stddef.h"), + CInclude(header="assert.h"), + ], internal_funcs=[], funcs=header.funcs ) diff --git a/codegen/dbl_list/snippets/list_empty b/codegen/dbl_list/snippets/list_empty index a5e2c4a..bf4536f 100644 --- a/codegen/dbl_list/snippets/list_empty +++ b/codegen/dbl_list/snippets/list_empty @@ -1,6 +1,4 @@ - if (!list) {{ - return; - }} + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) {{ diff --git a/codegen/dbl_list/snippets/list_get b/codegen/dbl_list/snippets/list_get index 54b394f..dd2120b 100644 --- a/codegen/dbl_list/snippets/list_get +++ b/codegen/dbl_list/snippets/list_get @@ -1,6 +1,4 @@ - if (index >= list->node_count) {{ - return NULL; - }} + assert(index < list->node_count); {NodeType} *output = NULL; {NodeType} *current = list->first; diff --git a/codegen/dbl_list/snippets/list_insert b/codegen/dbl_list/snippets/list_insert index 57e9661..6603ee9 100644 --- a/codegen/dbl_list/snippets/list_insert +++ b/codegen/dbl_list/snippets/list_insert @@ -1,6 +1,4 @@ - if (!list || !node || !(node->item)) {{ - return; - }} + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) {{ wapp_{Tlower}_list_push_front(list, node); diff --git a/codegen/dbl_list/snippets/list_pop_back b/codegen/dbl_list/snippets/list_pop_back index 4af999b..8dbcd29 100644 --- a/codegen/dbl_list/snippets/list_pop_back +++ b/codegen/dbl_list/snippets/list_pop_back @@ -1,6 +1,8 @@ + assert(list != NULL); + {NodeType} *output = NULL; - if (!list || list->node_count == 0) {{ + if (list->node_count == 0) {{ goto RETURN_{Tupper}_LIST_POP_BACK; }} diff --git a/codegen/dbl_list/snippets/list_pop_front b/codegen/dbl_list/snippets/list_pop_front index ce16891..ef2aef3 100644 --- a/codegen/dbl_list/snippets/list_pop_front +++ b/codegen/dbl_list/snippets/list_pop_front @@ -1,6 +1,8 @@ + assert(list != NULL); + {NodeType} *output = NULL; - if (!list || list->node_count == 0) {{ + if (list->node_count == 0) {{ goto RETURN_{Tupper}_LIST_POP_FRONT; }} diff --git a/codegen/dbl_list/snippets/list_push_back b/codegen/dbl_list/snippets/list_push_back index 1a0ed00..f339da0 100644 --- a/codegen/dbl_list/snippets/list_push_back +++ b/codegen/dbl_list/snippets/list_push_back @@ -1,6 +1,4 @@ - if (!list || !node || !(node->item)) {{ - return; - }} + assert(list != NULL && node != NULL && (node->item) != NULL); {ListType} node_list = {Tlower}_node_to_list(node); diff --git a/codegen/dbl_list/snippets/list_push_front b/codegen/dbl_list/snippets/list_push_front index f9031d6..dd1cb76 100644 --- a/codegen/dbl_list/snippets/list_push_front +++ b/codegen/dbl_list/snippets/list_push_front @@ -1,6 +1,4 @@ - if (!list || !node || !(node->item)) {{ - return; - }} + assert(list != NULL && node != NULL && (node->item) != NULL); {ListType} node_list = {Tlower}_node_to_list(node); diff --git a/codegen/dbl_list/snippets/list_remove b/codegen/dbl_list/snippets/list_remove index 8e7532e..bb5de81 100644 --- a/codegen/dbl_list/snippets/list_remove +++ b/codegen/dbl_list/snippets/list_remove @@ -1,7 +1,6 @@ + assert(list != NULL); + {NodeType} *output = NULL; - if (!list) {{ - goto RETURN_{Tupper}_LIST_REMOVE; - }} if (index == 0) {{ output = wapp_{Tlower}_list_pop_front(list); diff --git a/src/core/os/cpath/cpath.c b/src/core/os/cpath/cpath.c index aee2e62..9bebd6b 100644 --- a/src/core/os/cpath/cpath.c +++ b/src/core/os/cpath/cpath.c @@ -35,7 +35,7 @@ u32 wapp_cpath_join_path(Str8 *dst, const Str8List *parts) { // MSVC Spectre mitigation warnings const Str8Node *node = first_node; u64 node_index = 1; - bool running = true; + bool running = node_index < parts->node_count; while (running && node->next) { node = node->next; if (node->item->size == 0) { diff --git a/src/primitives/dbl_list/dbl_list.c b/src/primitives/dbl_list/dbl_list.c index 96c135d..fd059fa 100644 --- a/src/primitives/dbl_list/dbl_list.c +++ b/src/primitives/dbl_list/dbl_list.c @@ -6,6 +6,7 @@ #include "../../common/aliases/aliases.h" #include "../../common/platform/platform.h" #include +#include #include internal Str8List str8_node_to_list(Str8Node *node); @@ -30,9 +31,7 @@ internal IptrList iptr_node_to_list(IptrNode *node); internal UptrList uptr_node_to_list(UptrNode *node); Str8Node *wapp_str8_list_get(const Str8List *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); Str8Node *output = NULL; Str8Node *current = list->first; @@ -46,9 +45,7 @@ Str8Node *wapp_str8_list_get(const Str8List *list, u64 index) { } void wapp_str8_list_push_front(Str8List *list, Str8Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); Str8List node_list = str8_node_to_list(node); @@ -69,9 +66,7 @@ void wapp_str8_list_push_front(Str8List *list, Str8Node *node) { } void wapp_str8_list_push_back(Str8List *list, Str8Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); Str8List node_list = str8_node_to_list(node); @@ -92,9 +87,7 @@ void wapp_str8_list_push_back(Str8List *list, Str8Node *node) { } void wapp_str8_list_insert(Str8List *list, Str8Node *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_str8_list_push_front(list, node); @@ -123,9 +116,11 @@ void wapp_str8_list_insert(Str8List *list, Str8Node *node, u64 index) { } Str8Node *wapp_str8_list_pop_front(Str8List *list) { + assert(list != NULL); + Str8Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_STR8_LIST_POP_FRONT; } @@ -146,9 +141,11 @@ RETURN_STR8_LIST_POP_FRONT: } Str8Node *wapp_str8_list_pop_back(Str8List *list) { + assert(list != NULL); + Str8Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_STR8_LIST_POP_BACK; } @@ -169,10 +166,9 @@ RETURN_STR8_LIST_POP_BACK: } Str8Node *wapp_str8_list_remove(Str8List *list, u64 index) { + assert(list != NULL); + Str8Node *output = NULL; - if (!list) { - goto RETURN_STR8_LIST_REMOVE; - } if (index == 0) { output = wapp_str8_list_pop_front(list); @@ -199,9 +195,7 @@ RETURN_STR8_LIST_REMOVE: } void wapp_str8_list_empty(Str8List *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -210,9 +204,7 @@ void wapp_str8_list_empty(Str8List *list) { } VoidPNode *wapp_void_ptr_list_get(const VoidPList *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); VoidPNode *output = NULL; VoidPNode *current = list->first; @@ -226,9 +218,7 @@ VoidPNode *wapp_void_ptr_list_get(const VoidPList *list, u64 index) { } void wapp_void_ptr_list_push_front(VoidPList *list, VoidPNode *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); VoidPList node_list = void_ptr_node_to_list(node); @@ -249,9 +239,7 @@ void wapp_void_ptr_list_push_front(VoidPList *list, VoidPNode *node) { } void wapp_void_ptr_list_push_back(VoidPList *list, VoidPNode *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); VoidPList node_list = void_ptr_node_to_list(node); @@ -272,9 +260,7 @@ void wapp_void_ptr_list_push_back(VoidPList *list, VoidPNode *node) { } void wapp_void_ptr_list_insert(VoidPList *list, VoidPNode *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_void_ptr_list_push_front(list, node); @@ -303,9 +289,11 @@ void wapp_void_ptr_list_insert(VoidPList *list, VoidPNode *node, u64 index) { } VoidPNode *wapp_void_ptr_list_pop_front(VoidPList *list) { + assert(list != NULL); + VoidPNode *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_VOID_PTR_LIST_POP_FRONT; } @@ -326,9 +314,11 @@ RETURN_VOID_PTR_LIST_POP_FRONT: } VoidPNode *wapp_void_ptr_list_pop_back(VoidPList *list) { + assert(list != NULL); + VoidPNode *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_VOID_PTR_LIST_POP_BACK; } @@ -349,10 +339,9 @@ RETURN_VOID_PTR_LIST_POP_BACK: } VoidPNode *wapp_void_ptr_list_remove(VoidPList *list, u64 index) { + assert(list != NULL); + VoidPNode *output = NULL; - if (!list) { - goto RETURN_VOID_PTR_LIST_REMOVE; - } if (index == 0) { output = wapp_void_ptr_list_pop_front(list); @@ -379,9 +368,7 @@ RETURN_VOID_PTR_LIST_REMOVE: } void wapp_void_ptr_list_empty(VoidPList *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -390,9 +377,7 @@ void wapp_void_ptr_list_empty(VoidPList *list) { } BoolNode *wapp_bool_list_get(const BoolList *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); BoolNode *output = NULL; BoolNode *current = list->first; @@ -406,9 +391,7 @@ BoolNode *wapp_bool_list_get(const BoolList *list, u64 index) { } void wapp_bool_list_push_front(BoolList *list, BoolNode *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); BoolList node_list = bool_node_to_list(node); @@ -429,9 +412,7 @@ void wapp_bool_list_push_front(BoolList *list, BoolNode *node) { } void wapp_bool_list_push_back(BoolList *list, BoolNode *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); BoolList node_list = bool_node_to_list(node); @@ -452,9 +433,7 @@ void wapp_bool_list_push_back(BoolList *list, BoolNode *node) { } void wapp_bool_list_insert(BoolList *list, BoolNode *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_bool_list_push_front(list, node); @@ -483,9 +462,11 @@ void wapp_bool_list_insert(BoolList *list, BoolNode *node, u64 index) { } BoolNode *wapp_bool_list_pop_front(BoolList *list) { + assert(list != NULL); + BoolNode *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_BOOL_LIST_POP_FRONT; } @@ -506,9 +487,11 @@ RETURN_BOOL_LIST_POP_FRONT: } BoolNode *wapp_bool_list_pop_back(BoolList *list) { + assert(list != NULL); + BoolNode *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_BOOL_LIST_POP_BACK; } @@ -529,10 +512,9 @@ RETURN_BOOL_LIST_POP_BACK: } BoolNode *wapp_bool_list_remove(BoolList *list, u64 index) { + assert(list != NULL); + BoolNode *output = NULL; - if (!list) { - goto RETURN_BOOL_LIST_REMOVE; - } if (index == 0) { output = wapp_bool_list_pop_front(list); @@ -559,9 +541,7 @@ RETURN_BOOL_LIST_REMOVE: } void wapp_bool_list_empty(BoolList *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -570,9 +550,7 @@ void wapp_bool_list_empty(BoolList *list) { } CharNode *wapp_char_list_get(const CharList *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); CharNode *output = NULL; CharNode *current = list->first; @@ -586,9 +564,7 @@ CharNode *wapp_char_list_get(const CharList *list, u64 index) { } void wapp_char_list_push_front(CharList *list, CharNode *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); CharList node_list = char_node_to_list(node); @@ -609,9 +585,7 @@ void wapp_char_list_push_front(CharList *list, CharNode *node) { } void wapp_char_list_push_back(CharList *list, CharNode *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); CharList node_list = char_node_to_list(node); @@ -632,9 +606,7 @@ void wapp_char_list_push_back(CharList *list, CharNode *node) { } void wapp_char_list_insert(CharList *list, CharNode *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_char_list_push_front(list, node); @@ -663,9 +635,11 @@ void wapp_char_list_insert(CharList *list, CharNode *node, u64 index) { } CharNode *wapp_char_list_pop_front(CharList *list) { + assert(list != NULL); + CharNode *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_CHAR_LIST_POP_FRONT; } @@ -686,9 +660,11 @@ RETURN_CHAR_LIST_POP_FRONT: } CharNode *wapp_char_list_pop_back(CharList *list) { + assert(list != NULL); + CharNode *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_CHAR_LIST_POP_BACK; } @@ -709,10 +685,9 @@ RETURN_CHAR_LIST_POP_BACK: } CharNode *wapp_char_list_remove(CharList *list, u64 index) { + assert(list != NULL); + CharNode *output = NULL; - if (!list) { - goto RETURN_CHAR_LIST_REMOVE; - } if (index == 0) { output = wapp_char_list_pop_front(list); @@ -739,9 +714,7 @@ RETURN_CHAR_LIST_REMOVE: } void wapp_char_list_empty(CharList *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -750,9 +723,7 @@ void wapp_char_list_empty(CharList *list) { } C8Node *wapp_c8_list_get(const C8List *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); C8Node *output = NULL; C8Node *current = list->first; @@ -766,9 +737,7 @@ C8Node *wapp_c8_list_get(const C8List *list, u64 index) { } void wapp_c8_list_push_front(C8List *list, C8Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); C8List node_list = c8_node_to_list(node); @@ -789,9 +758,7 @@ void wapp_c8_list_push_front(C8List *list, C8Node *node) { } void wapp_c8_list_push_back(C8List *list, C8Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); C8List node_list = c8_node_to_list(node); @@ -812,9 +779,7 @@ void wapp_c8_list_push_back(C8List *list, C8Node *node) { } void wapp_c8_list_insert(C8List *list, C8Node *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_c8_list_push_front(list, node); @@ -843,9 +808,11 @@ void wapp_c8_list_insert(C8List *list, C8Node *node, u64 index) { } C8Node *wapp_c8_list_pop_front(C8List *list) { + assert(list != NULL); + C8Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_C8_LIST_POP_FRONT; } @@ -866,9 +833,11 @@ RETURN_C8_LIST_POP_FRONT: } C8Node *wapp_c8_list_pop_back(C8List *list) { + assert(list != NULL); + C8Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_C8_LIST_POP_BACK; } @@ -889,10 +858,9 @@ RETURN_C8_LIST_POP_BACK: } C8Node *wapp_c8_list_remove(C8List *list, u64 index) { + assert(list != NULL); + C8Node *output = NULL; - if (!list) { - goto RETURN_C8_LIST_REMOVE; - } if (index == 0) { output = wapp_c8_list_pop_front(list); @@ -919,9 +887,7 @@ RETURN_C8_LIST_REMOVE: } void wapp_c8_list_empty(C8List *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -930,9 +896,7 @@ void wapp_c8_list_empty(C8List *list) { } C16Node *wapp_c16_list_get(const C16List *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); C16Node *output = NULL; C16Node *current = list->first; @@ -946,9 +910,7 @@ C16Node *wapp_c16_list_get(const C16List *list, u64 index) { } void wapp_c16_list_push_front(C16List *list, C16Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); C16List node_list = c16_node_to_list(node); @@ -969,9 +931,7 @@ void wapp_c16_list_push_front(C16List *list, C16Node *node) { } void wapp_c16_list_push_back(C16List *list, C16Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); C16List node_list = c16_node_to_list(node); @@ -992,9 +952,7 @@ void wapp_c16_list_push_back(C16List *list, C16Node *node) { } void wapp_c16_list_insert(C16List *list, C16Node *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_c16_list_push_front(list, node); @@ -1023,9 +981,11 @@ void wapp_c16_list_insert(C16List *list, C16Node *node, u64 index) { } C16Node *wapp_c16_list_pop_front(C16List *list) { + assert(list != NULL); + C16Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_C16_LIST_POP_FRONT; } @@ -1046,9 +1006,11 @@ RETURN_C16_LIST_POP_FRONT: } C16Node *wapp_c16_list_pop_back(C16List *list) { + assert(list != NULL); + C16Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_C16_LIST_POP_BACK; } @@ -1069,10 +1031,9 @@ RETURN_C16_LIST_POP_BACK: } C16Node *wapp_c16_list_remove(C16List *list, u64 index) { + assert(list != NULL); + C16Node *output = NULL; - if (!list) { - goto RETURN_C16_LIST_REMOVE; - } if (index == 0) { output = wapp_c16_list_pop_front(list); @@ -1099,9 +1060,7 @@ RETURN_C16_LIST_REMOVE: } void wapp_c16_list_empty(C16List *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -1110,9 +1069,7 @@ void wapp_c16_list_empty(C16List *list) { } C32Node *wapp_c32_list_get(const C32List *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); C32Node *output = NULL; C32Node *current = list->first; @@ -1126,9 +1083,7 @@ C32Node *wapp_c32_list_get(const C32List *list, u64 index) { } void wapp_c32_list_push_front(C32List *list, C32Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); C32List node_list = c32_node_to_list(node); @@ -1149,9 +1104,7 @@ void wapp_c32_list_push_front(C32List *list, C32Node *node) { } void wapp_c32_list_push_back(C32List *list, C32Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); C32List node_list = c32_node_to_list(node); @@ -1172,9 +1125,7 @@ void wapp_c32_list_push_back(C32List *list, C32Node *node) { } void wapp_c32_list_insert(C32List *list, C32Node *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_c32_list_push_front(list, node); @@ -1203,9 +1154,11 @@ void wapp_c32_list_insert(C32List *list, C32Node *node, u64 index) { } C32Node *wapp_c32_list_pop_front(C32List *list) { + assert(list != NULL); + C32Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_C32_LIST_POP_FRONT; } @@ -1226,9 +1179,11 @@ RETURN_C32_LIST_POP_FRONT: } C32Node *wapp_c32_list_pop_back(C32List *list) { + assert(list != NULL); + C32Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_C32_LIST_POP_BACK; } @@ -1249,10 +1204,9 @@ RETURN_C32_LIST_POP_BACK: } C32Node *wapp_c32_list_remove(C32List *list, u64 index) { + assert(list != NULL); + C32Node *output = NULL; - if (!list) { - goto RETURN_C32_LIST_REMOVE; - } if (index == 0) { output = wapp_c32_list_pop_front(list); @@ -1279,9 +1233,7 @@ RETURN_C32_LIST_REMOVE: } void wapp_c32_list_empty(C32List *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -1290,9 +1242,7 @@ void wapp_c32_list_empty(C32List *list) { } I8Node *wapp_i8_list_get(const I8List *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); I8Node *output = NULL; I8Node *current = list->first; @@ -1306,9 +1256,7 @@ I8Node *wapp_i8_list_get(const I8List *list, u64 index) { } void wapp_i8_list_push_front(I8List *list, I8Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); I8List node_list = i8_node_to_list(node); @@ -1329,9 +1277,7 @@ void wapp_i8_list_push_front(I8List *list, I8Node *node) { } void wapp_i8_list_push_back(I8List *list, I8Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); I8List node_list = i8_node_to_list(node); @@ -1352,9 +1298,7 @@ void wapp_i8_list_push_back(I8List *list, I8Node *node) { } void wapp_i8_list_insert(I8List *list, I8Node *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_i8_list_push_front(list, node); @@ -1383,9 +1327,11 @@ void wapp_i8_list_insert(I8List *list, I8Node *node, u64 index) { } I8Node *wapp_i8_list_pop_front(I8List *list) { + assert(list != NULL); + I8Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_I8_LIST_POP_FRONT; } @@ -1406,9 +1352,11 @@ RETURN_I8_LIST_POP_FRONT: } I8Node *wapp_i8_list_pop_back(I8List *list) { + assert(list != NULL); + I8Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_I8_LIST_POP_BACK; } @@ -1429,10 +1377,9 @@ RETURN_I8_LIST_POP_BACK: } I8Node *wapp_i8_list_remove(I8List *list, u64 index) { + assert(list != NULL); + I8Node *output = NULL; - if (!list) { - goto RETURN_I8_LIST_REMOVE; - } if (index == 0) { output = wapp_i8_list_pop_front(list); @@ -1459,9 +1406,7 @@ RETURN_I8_LIST_REMOVE: } void wapp_i8_list_empty(I8List *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -1470,9 +1415,7 @@ void wapp_i8_list_empty(I8List *list) { } I16Node *wapp_i16_list_get(const I16List *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); I16Node *output = NULL; I16Node *current = list->first; @@ -1486,9 +1429,7 @@ I16Node *wapp_i16_list_get(const I16List *list, u64 index) { } void wapp_i16_list_push_front(I16List *list, I16Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); I16List node_list = i16_node_to_list(node); @@ -1509,9 +1450,7 @@ void wapp_i16_list_push_front(I16List *list, I16Node *node) { } void wapp_i16_list_push_back(I16List *list, I16Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); I16List node_list = i16_node_to_list(node); @@ -1532,9 +1471,7 @@ void wapp_i16_list_push_back(I16List *list, I16Node *node) { } void wapp_i16_list_insert(I16List *list, I16Node *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_i16_list_push_front(list, node); @@ -1563,9 +1500,11 @@ void wapp_i16_list_insert(I16List *list, I16Node *node, u64 index) { } I16Node *wapp_i16_list_pop_front(I16List *list) { + assert(list != NULL); + I16Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_I16_LIST_POP_FRONT; } @@ -1586,9 +1525,11 @@ RETURN_I16_LIST_POP_FRONT: } I16Node *wapp_i16_list_pop_back(I16List *list) { + assert(list != NULL); + I16Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_I16_LIST_POP_BACK; } @@ -1609,10 +1550,9 @@ RETURN_I16_LIST_POP_BACK: } I16Node *wapp_i16_list_remove(I16List *list, u64 index) { + assert(list != NULL); + I16Node *output = NULL; - if (!list) { - goto RETURN_I16_LIST_REMOVE; - } if (index == 0) { output = wapp_i16_list_pop_front(list); @@ -1639,9 +1579,7 @@ RETURN_I16_LIST_REMOVE: } void wapp_i16_list_empty(I16List *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -1650,9 +1588,7 @@ void wapp_i16_list_empty(I16List *list) { } I32Node *wapp_i32_list_get(const I32List *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); I32Node *output = NULL; I32Node *current = list->first; @@ -1666,9 +1602,7 @@ I32Node *wapp_i32_list_get(const I32List *list, u64 index) { } void wapp_i32_list_push_front(I32List *list, I32Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); I32List node_list = i32_node_to_list(node); @@ -1689,9 +1623,7 @@ void wapp_i32_list_push_front(I32List *list, I32Node *node) { } void wapp_i32_list_push_back(I32List *list, I32Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); I32List node_list = i32_node_to_list(node); @@ -1712,9 +1644,7 @@ void wapp_i32_list_push_back(I32List *list, I32Node *node) { } void wapp_i32_list_insert(I32List *list, I32Node *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_i32_list_push_front(list, node); @@ -1743,9 +1673,11 @@ void wapp_i32_list_insert(I32List *list, I32Node *node, u64 index) { } I32Node *wapp_i32_list_pop_front(I32List *list) { + assert(list != NULL); + I32Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_I32_LIST_POP_FRONT; } @@ -1766,9 +1698,11 @@ RETURN_I32_LIST_POP_FRONT: } I32Node *wapp_i32_list_pop_back(I32List *list) { + assert(list != NULL); + I32Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_I32_LIST_POP_BACK; } @@ -1789,10 +1723,9 @@ RETURN_I32_LIST_POP_BACK: } I32Node *wapp_i32_list_remove(I32List *list, u64 index) { + assert(list != NULL); + I32Node *output = NULL; - if (!list) { - goto RETURN_I32_LIST_REMOVE; - } if (index == 0) { output = wapp_i32_list_pop_front(list); @@ -1819,9 +1752,7 @@ RETURN_I32_LIST_REMOVE: } void wapp_i32_list_empty(I32List *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -1830,9 +1761,7 @@ void wapp_i32_list_empty(I32List *list) { } I64Node *wapp_i64_list_get(const I64List *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); I64Node *output = NULL; I64Node *current = list->first; @@ -1846,9 +1775,7 @@ I64Node *wapp_i64_list_get(const I64List *list, u64 index) { } void wapp_i64_list_push_front(I64List *list, I64Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); I64List node_list = i64_node_to_list(node); @@ -1869,9 +1796,7 @@ void wapp_i64_list_push_front(I64List *list, I64Node *node) { } void wapp_i64_list_push_back(I64List *list, I64Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); I64List node_list = i64_node_to_list(node); @@ -1892,9 +1817,7 @@ void wapp_i64_list_push_back(I64List *list, I64Node *node) { } void wapp_i64_list_insert(I64List *list, I64Node *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_i64_list_push_front(list, node); @@ -1923,9 +1846,11 @@ void wapp_i64_list_insert(I64List *list, I64Node *node, u64 index) { } I64Node *wapp_i64_list_pop_front(I64List *list) { + assert(list != NULL); + I64Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_I64_LIST_POP_FRONT; } @@ -1946,9 +1871,11 @@ RETURN_I64_LIST_POP_FRONT: } I64Node *wapp_i64_list_pop_back(I64List *list) { + assert(list != NULL); + I64Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_I64_LIST_POP_BACK; } @@ -1969,10 +1896,9 @@ RETURN_I64_LIST_POP_BACK: } I64Node *wapp_i64_list_remove(I64List *list, u64 index) { + assert(list != NULL); + I64Node *output = NULL; - if (!list) { - goto RETURN_I64_LIST_REMOVE; - } if (index == 0) { output = wapp_i64_list_pop_front(list); @@ -1999,9 +1925,7 @@ RETURN_I64_LIST_REMOVE: } void wapp_i64_list_empty(I64List *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -2010,9 +1934,7 @@ void wapp_i64_list_empty(I64List *list) { } U8Node *wapp_u8_list_get(const U8List *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); U8Node *output = NULL; U8Node *current = list->first; @@ -2026,9 +1948,7 @@ U8Node *wapp_u8_list_get(const U8List *list, u64 index) { } void wapp_u8_list_push_front(U8List *list, U8Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); U8List node_list = u8_node_to_list(node); @@ -2049,9 +1969,7 @@ void wapp_u8_list_push_front(U8List *list, U8Node *node) { } void wapp_u8_list_push_back(U8List *list, U8Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); U8List node_list = u8_node_to_list(node); @@ -2072,9 +1990,7 @@ void wapp_u8_list_push_back(U8List *list, U8Node *node) { } void wapp_u8_list_insert(U8List *list, U8Node *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_u8_list_push_front(list, node); @@ -2103,9 +2019,11 @@ void wapp_u8_list_insert(U8List *list, U8Node *node, u64 index) { } U8Node *wapp_u8_list_pop_front(U8List *list) { + assert(list != NULL); + U8Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_U8_LIST_POP_FRONT; } @@ -2126,9 +2044,11 @@ RETURN_U8_LIST_POP_FRONT: } U8Node *wapp_u8_list_pop_back(U8List *list) { + assert(list != NULL); + U8Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_U8_LIST_POP_BACK; } @@ -2149,10 +2069,9 @@ RETURN_U8_LIST_POP_BACK: } U8Node *wapp_u8_list_remove(U8List *list, u64 index) { + assert(list != NULL); + U8Node *output = NULL; - if (!list) { - goto RETURN_U8_LIST_REMOVE; - } if (index == 0) { output = wapp_u8_list_pop_front(list); @@ -2179,9 +2098,7 @@ RETURN_U8_LIST_REMOVE: } void wapp_u8_list_empty(U8List *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -2190,9 +2107,7 @@ void wapp_u8_list_empty(U8List *list) { } U16Node *wapp_u16_list_get(const U16List *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); U16Node *output = NULL; U16Node *current = list->first; @@ -2206,9 +2121,7 @@ U16Node *wapp_u16_list_get(const U16List *list, u64 index) { } void wapp_u16_list_push_front(U16List *list, U16Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); U16List node_list = u16_node_to_list(node); @@ -2229,9 +2142,7 @@ void wapp_u16_list_push_front(U16List *list, U16Node *node) { } void wapp_u16_list_push_back(U16List *list, U16Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); U16List node_list = u16_node_to_list(node); @@ -2252,9 +2163,7 @@ void wapp_u16_list_push_back(U16List *list, U16Node *node) { } void wapp_u16_list_insert(U16List *list, U16Node *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_u16_list_push_front(list, node); @@ -2283,9 +2192,11 @@ void wapp_u16_list_insert(U16List *list, U16Node *node, u64 index) { } U16Node *wapp_u16_list_pop_front(U16List *list) { + assert(list != NULL); + U16Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_U16_LIST_POP_FRONT; } @@ -2306,9 +2217,11 @@ RETURN_U16_LIST_POP_FRONT: } U16Node *wapp_u16_list_pop_back(U16List *list) { + assert(list != NULL); + U16Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_U16_LIST_POP_BACK; } @@ -2329,10 +2242,9 @@ RETURN_U16_LIST_POP_BACK: } U16Node *wapp_u16_list_remove(U16List *list, u64 index) { + assert(list != NULL); + U16Node *output = NULL; - if (!list) { - goto RETURN_U16_LIST_REMOVE; - } if (index == 0) { output = wapp_u16_list_pop_front(list); @@ -2359,9 +2271,7 @@ RETURN_U16_LIST_REMOVE: } void wapp_u16_list_empty(U16List *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -2370,9 +2280,7 @@ void wapp_u16_list_empty(U16List *list) { } U32Node *wapp_u32_list_get(const U32List *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); U32Node *output = NULL; U32Node *current = list->first; @@ -2386,9 +2294,7 @@ U32Node *wapp_u32_list_get(const U32List *list, u64 index) { } void wapp_u32_list_push_front(U32List *list, U32Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); U32List node_list = u32_node_to_list(node); @@ -2409,9 +2315,7 @@ void wapp_u32_list_push_front(U32List *list, U32Node *node) { } void wapp_u32_list_push_back(U32List *list, U32Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); U32List node_list = u32_node_to_list(node); @@ -2432,9 +2336,7 @@ void wapp_u32_list_push_back(U32List *list, U32Node *node) { } void wapp_u32_list_insert(U32List *list, U32Node *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_u32_list_push_front(list, node); @@ -2463,9 +2365,11 @@ void wapp_u32_list_insert(U32List *list, U32Node *node, u64 index) { } U32Node *wapp_u32_list_pop_front(U32List *list) { + assert(list != NULL); + U32Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_U32_LIST_POP_FRONT; } @@ -2486,9 +2390,11 @@ RETURN_U32_LIST_POP_FRONT: } U32Node *wapp_u32_list_pop_back(U32List *list) { + assert(list != NULL); + U32Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_U32_LIST_POP_BACK; } @@ -2509,10 +2415,9 @@ RETURN_U32_LIST_POP_BACK: } U32Node *wapp_u32_list_remove(U32List *list, u64 index) { + assert(list != NULL); + U32Node *output = NULL; - if (!list) { - goto RETURN_U32_LIST_REMOVE; - } if (index == 0) { output = wapp_u32_list_pop_front(list); @@ -2539,9 +2444,7 @@ RETURN_U32_LIST_REMOVE: } void wapp_u32_list_empty(U32List *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -2550,9 +2453,7 @@ void wapp_u32_list_empty(U32List *list) { } U64Node *wapp_u64_list_get(const U64List *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); U64Node *output = NULL; U64Node *current = list->first; @@ -2566,9 +2467,7 @@ U64Node *wapp_u64_list_get(const U64List *list, u64 index) { } void wapp_u64_list_push_front(U64List *list, U64Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); U64List node_list = u64_node_to_list(node); @@ -2589,9 +2488,7 @@ void wapp_u64_list_push_front(U64List *list, U64Node *node) { } void wapp_u64_list_push_back(U64List *list, U64Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); U64List node_list = u64_node_to_list(node); @@ -2612,9 +2509,7 @@ void wapp_u64_list_push_back(U64List *list, U64Node *node) { } void wapp_u64_list_insert(U64List *list, U64Node *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_u64_list_push_front(list, node); @@ -2643,9 +2538,11 @@ void wapp_u64_list_insert(U64List *list, U64Node *node, u64 index) { } U64Node *wapp_u64_list_pop_front(U64List *list) { + assert(list != NULL); + U64Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_U64_LIST_POP_FRONT; } @@ -2666,9 +2563,11 @@ RETURN_U64_LIST_POP_FRONT: } U64Node *wapp_u64_list_pop_back(U64List *list) { + assert(list != NULL); + U64Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_U64_LIST_POP_BACK; } @@ -2689,10 +2588,9 @@ RETURN_U64_LIST_POP_BACK: } U64Node *wapp_u64_list_remove(U64List *list, u64 index) { + assert(list != NULL); + U64Node *output = NULL; - if (!list) { - goto RETURN_U64_LIST_REMOVE; - } if (index == 0) { output = wapp_u64_list_pop_front(list); @@ -2719,9 +2617,7 @@ RETURN_U64_LIST_REMOVE: } void wapp_u64_list_empty(U64List *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -2730,9 +2626,7 @@ void wapp_u64_list_empty(U64List *list) { } F32Node *wapp_f32_list_get(const F32List *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); F32Node *output = NULL; F32Node *current = list->first; @@ -2746,9 +2640,7 @@ F32Node *wapp_f32_list_get(const F32List *list, u64 index) { } void wapp_f32_list_push_front(F32List *list, F32Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); F32List node_list = f32_node_to_list(node); @@ -2769,9 +2661,7 @@ void wapp_f32_list_push_front(F32List *list, F32Node *node) { } void wapp_f32_list_push_back(F32List *list, F32Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); F32List node_list = f32_node_to_list(node); @@ -2792,9 +2682,7 @@ void wapp_f32_list_push_back(F32List *list, F32Node *node) { } void wapp_f32_list_insert(F32List *list, F32Node *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_f32_list_push_front(list, node); @@ -2823,9 +2711,11 @@ void wapp_f32_list_insert(F32List *list, F32Node *node, u64 index) { } F32Node *wapp_f32_list_pop_front(F32List *list) { + assert(list != NULL); + F32Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_F32_LIST_POP_FRONT; } @@ -2846,9 +2736,11 @@ RETURN_F32_LIST_POP_FRONT: } F32Node *wapp_f32_list_pop_back(F32List *list) { + assert(list != NULL); + F32Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_F32_LIST_POP_BACK; } @@ -2869,10 +2761,9 @@ RETURN_F32_LIST_POP_BACK: } F32Node *wapp_f32_list_remove(F32List *list, u64 index) { + assert(list != NULL); + F32Node *output = NULL; - if (!list) { - goto RETURN_F32_LIST_REMOVE; - } if (index == 0) { output = wapp_f32_list_pop_front(list); @@ -2899,9 +2790,7 @@ RETURN_F32_LIST_REMOVE: } void wapp_f32_list_empty(F32List *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -2910,9 +2799,7 @@ void wapp_f32_list_empty(F32List *list) { } F64Node *wapp_f64_list_get(const F64List *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); F64Node *output = NULL; F64Node *current = list->first; @@ -2926,9 +2813,7 @@ F64Node *wapp_f64_list_get(const F64List *list, u64 index) { } void wapp_f64_list_push_front(F64List *list, F64Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); F64List node_list = f64_node_to_list(node); @@ -2949,9 +2834,7 @@ void wapp_f64_list_push_front(F64List *list, F64Node *node) { } void wapp_f64_list_push_back(F64List *list, F64Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); F64List node_list = f64_node_to_list(node); @@ -2972,9 +2855,7 @@ void wapp_f64_list_push_back(F64List *list, F64Node *node) { } void wapp_f64_list_insert(F64List *list, F64Node *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_f64_list_push_front(list, node); @@ -3003,9 +2884,11 @@ void wapp_f64_list_insert(F64List *list, F64Node *node, u64 index) { } F64Node *wapp_f64_list_pop_front(F64List *list) { + assert(list != NULL); + F64Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_F64_LIST_POP_FRONT; } @@ -3026,9 +2909,11 @@ RETURN_F64_LIST_POP_FRONT: } F64Node *wapp_f64_list_pop_back(F64List *list) { + assert(list != NULL); + F64Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_F64_LIST_POP_BACK; } @@ -3049,10 +2934,9 @@ RETURN_F64_LIST_POP_BACK: } F64Node *wapp_f64_list_remove(F64List *list, u64 index) { + assert(list != NULL); + F64Node *output = NULL; - if (!list) { - goto RETURN_F64_LIST_REMOVE; - } if (index == 0) { output = wapp_f64_list_pop_front(list); @@ -3079,9 +2963,7 @@ RETURN_F64_LIST_REMOVE: } void wapp_f64_list_empty(F64List *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -3090,9 +2972,7 @@ void wapp_f64_list_empty(F64List *list) { } F128Node *wapp_f128_list_get(const F128List *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); F128Node *output = NULL; F128Node *current = list->first; @@ -3106,9 +2986,7 @@ F128Node *wapp_f128_list_get(const F128List *list, u64 index) { } void wapp_f128_list_push_front(F128List *list, F128Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); F128List node_list = f128_node_to_list(node); @@ -3129,9 +3007,7 @@ void wapp_f128_list_push_front(F128List *list, F128Node *node) { } void wapp_f128_list_push_back(F128List *list, F128Node *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); F128List node_list = f128_node_to_list(node); @@ -3152,9 +3028,7 @@ void wapp_f128_list_push_back(F128List *list, F128Node *node) { } void wapp_f128_list_insert(F128List *list, F128Node *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_f128_list_push_front(list, node); @@ -3183,9 +3057,11 @@ void wapp_f128_list_insert(F128List *list, F128Node *node, u64 index) { } F128Node *wapp_f128_list_pop_front(F128List *list) { + assert(list != NULL); + F128Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_F128_LIST_POP_FRONT; } @@ -3206,9 +3082,11 @@ RETURN_F128_LIST_POP_FRONT: } F128Node *wapp_f128_list_pop_back(F128List *list) { + assert(list != NULL); + F128Node *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_F128_LIST_POP_BACK; } @@ -3229,10 +3107,9 @@ RETURN_F128_LIST_POP_BACK: } F128Node *wapp_f128_list_remove(F128List *list, u64 index) { + assert(list != NULL); + F128Node *output = NULL; - if (!list) { - goto RETURN_F128_LIST_REMOVE; - } if (index == 0) { output = wapp_f128_list_pop_front(list); @@ -3259,9 +3136,7 @@ RETURN_F128_LIST_REMOVE: } void wapp_f128_list_empty(F128List *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -3270,9 +3145,7 @@ void wapp_f128_list_empty(F128List *list) { } IptrNode *wapp_iptr_list_get(const IptrList *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); IptrNode *output = NULL; IptrNode *current = list->first; @@ -3286,9 +3159,7 @@ IptrNode *wapp_iptr_list_get(const IptrList *list, u64 index) { } void wapp_iptr_list_push_front(IptrList *list, IptrNode *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); IptrList node_list = iptr_node_to_list(node); @@ -3309,9 +3180,7 @@ void wapp_iptr_list_push_front(IptrList *list, IptrNode *node) { } void wapp_iptr_list_push_back(IptrList *list, IptrNode *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); IptrList node_list = iptr_node_to_list(node); @@ -3332,9 +3201,7 @@ void wapp_iptr_list_push_back(IptrList *list, IptrNode *node) { } void wapp_iptr_list_insert(IptrList *list, IptrNode *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_iptr_list_push_front(list, node); @@ -3363,9 +3230,11 @@ void wapp_iptr_list_insert(IptrList *list, IptrNode *node, u64 index) { } IptrNode *wapp_iptr_list_pop_front(IptrList *list) { + assert(list != NULL); + IptrNode *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_IPTR_LIST_POP_FRONT; } @@ -3386,9 +3255,11 @@ RETURN_IPTR_LIST_POP_FRONT: } IptrNode *wapp_iptr_list_pop_back(IptrList *list) { + assert(list != NULL); + IptrNode *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_IPTR_LIST_POP_BACK; } @@ -3409,10 +3280,9 @@ RETURN_IPTR_LIST_POP_BACK: } IptrNode *wapp_iptr_list_remove(IptrList *list, u64 index) { + assert(list != NULL); + IptrNode *output = NULL; - if (!list) { - goto RETURN_IPTR_LIST_REMOVE; - } if (index == 0) { output = wapp_iptr_list_pop_front(list); @@ -3439,9 +3309,7 @@ RETURN_IPTR_LIST_REMOVE: } void wapp_iptr_list_empty(IptrList *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { @@ -3450,9 +3318,7 @@ void wapp_iptr_list_empty(IptrList *list) { } UptrNode *wapp_uptr_list_get(const UptrList *list, u64 index) { - if (index >= list->node_count) { - return NULL; - } + assert(index < list->node_count); UptrNode *output = NULL; UptrNode *current = list->first; @@ -3466,9 +3332,7 @@ UptrNode *wapp_uptr_list_get(const UptrList *list, u64 index) { } void wapp_uptr_list_push_front(UptrList *list, UptrNode *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); UptrList node_list = uptr_node_to_list(node); @@ -3489,9 +3353,7 @@ void wapp_uptr_list_push_front(UptrList *list, UptrNode *node) { } void wapp_uptr_list_push_back(UptrList *list, UptrNode *node) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); UptrList node_list = uptr_node_to_list(node); @@ -3512,9 +3374,7 @@ void wapp_uptr_list_push_back(UptrList *list, UptrNode *node) { } void wapp_uptr_list_insert(UptrList *list, UptrNode *node, u64 index) { - if (!list || !node || !(node->item)) { - return; - } + assert(list != NULL && node != NULL && (node->item) != NULL); if (index == 0) { wapp_uptr_list_push_front(list, node); @@ -3543,9 +3403,11 @@ void wapp_uptr_list_insert(UptrList *list, UptrNode *node, u64 index) { } UptrNode *wapp_uptr_list_pop_front(UptrList *list) { + assert(list != NULL); + UptrNode *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_UPTR_LIST_POP_FRONT; } @@ -3566,9 +3428,11 @@ RETURN_UPTR_LIST_POP_FRONT: } UptrNode *wapp_uptr_list_pop_back(UptrList *list) { + assert(list != NULL); + UptrNode *output = NULL; - if (!list || list->node_count == 0) { + if (list->node_count == 0) { goto RETURN_UPTR_LIST_POP_BACK; } @@ -3589,10 +3453,9 @@ RETURN_UPTR_LIST_POP_BACK: } UptrNode *wapp_uptr_list_remove(UptrList *list, u64 index) { + assert(list != NULL); + UptrNode *output = NULL; - if (!list) { - goto RETURN_UPTR_LIST_REMOVE; - } if (index == 0) { output = wapp_uptr_list_pop_front(list); @@ -3619,9 +3482,7 @@ RETURN_UPTR_LIST_REMOVE: } void wapp_uptr_list_empty(UptrList *list) { - if (!list) { - return; - } + assert(list != NULL); u64 count = list->node_count; for (u64 i = 0; i < count; ++i) { diff --git a/src/primitives/strings/str8/str8.c b/src/primitives/strings/str8/str8.c index e5216f3..026c562 100644 --- a/src/primitives/strings/str8/str8.c +++ b/src/primitives/strings/str8/str8.c @@ -237,7 +237,7 @@ i64 wapp_str8_find(Str8RO *str, Str8RO substr) { // NOTE (Abdelrahman): Uses a while loop instead of a for loop to get rid of // MSVC Spectre mitigation warnings u64 char_index = 0; - bool running = true; + bool running = char_index < str->size; while (running) { const c8 *sub = str->buf + char_index; if (memcmp(sub, substr.buf, substr.size) == 0) { @@ -259,7 +259,7 @@ i64 wapp_str8_rfind(Str8RO *str, Str8RO substr) { // NOTE (Abdelrahman): Uses a while loop instead of a for loop to get rid of // MSVC Spectre mitigation warnings i64 char_index = str->size - substr.size; - bool running = true; + bool running = char_index >= 0; while (running) { const c8 *sub = str->buf + char_index; if (memcmp(sub, substr.buf, substr.size) == 0) { @@ -302,7 +302,7 @@ Str8List *wapp_str8_split_with_max(const Allocator *allocator, Str8RO *str, Str8 before_str = wapp_str8_alloc_substr(allocator, str, start, start + end); Str8Node *node = wapp_mem_allocator_alloc(allocator, sizeof(Str8Node)); - if (node) { + if (node && before_str) { node->item = before_str; wapp_str8_list_push_back(output, node); } @@ -317,7 +317,7 @@ Str8List *wapp_str8_split_with_max(const Allocator *allocator, Str8RO *str, Str8 // Ensure the last part of the string after the delimiter is added to the list rest = wapp_str8_alloc_substr(allocator, str, start, str->size); Str8Node *node = wapp_mem_allocator_alloc(allocator, sizeof(Str8Node)); - if (node) { + if (node && rest) { node->item = rest; wapp_str8_list_push_back(output, node); } @@ -334,7 +334,7 @@ Str8List *wapp_str8_rsplit_with_max(const Allocator *allocator, Str8RO *str, Str if (delimiter->size > str->size) { Str8 *full = wapp_str8_alloc_str8(allocator, str); Str8Node *node = wapp_mem_allocator_alloc(allocator, sizeof(Str8Node)); - if (node) { + if (node && full) { node->item = full; wapp_str8_list_push_back(output, node); } @@ -367,7 +367,7 @@ Str8List *wapp_str8_rsplit_with_max(const Allocator *allocator, Str8RO *str, Str rest = wapp_str8_alloc_substr(allocator, str, 0, rest->size); Str8Node *node = wapp_mem_allocator_alloc(allocator, sizeof(Str8Node)); - if (node) { + if (node && rest) { node->item = rest; wapp_str8_list_push_front(output, node); } @@ -386,7 +386,7 @@ Str8 *wapp_str8_join(const Allocator *allocator, const Str8List *list, Str8RO *d // MSVC Spectre mitigation warnings Str8Node *node; u64 node_index = 0; - bool running = true; + bool running = node_index < list->node_count; while (running) { node = wapp_str8_list_get(list, node_index); if (!node) { @@ -419,7 +419,7 @@ u64 wapp_str8_list_total_size(const Str8List *list) { Str8Node* node; u64 node_index = 0; u64 output = 0; - bool running = true; + bool running = node_index < list->node_count; while (running) { node = wapp_str8_list_get(list, node_index); if (!node) {