diff --git a/src/base/base_strings.c b/src/base/base_strings.c index 0728bedf..d4943ef1 100644 --- a/src/base/base_strings.c +++ b/src/base/base_strings.c @@ -1122,6 +1122,21 @@ str8_list_push_frontf(Arena *arena, String8List *list, char *fmt, ...) return result; } +internal String8Node* +str8_list_pop_front(String8List *list) +{ + String8Node *node = 0; + if(list->node_count) + { + node = list->first; + Assert(list->total_size >= list->first->string.size); + list->node_count -= 1; + list->total_size -= list->first->string.size; + SLLQueuePop(list->first, list->last); + } + return node; +} + internal String8List str8_list_copy(Arena *arena, String8List *list) { diff --git a/src/base/base_strings.h b/src/base/base_strings.h index 37c7acb2..cc1eda1e 100644 --- a/src/base/base_strings.h +++ b/src/base/base_strings.h @@ -267,6 +267,7 @@ internal void str8_list_concat_in_place(String8List *list, String8List * internal String8Node* str8_list_push_aligner(Arena *arena, String8List *list, U64 min, U64 align); internal String8Node* str8_list_pushf(Arena *arena, String8List *list, char *fmt, ...); internal String8Node* str8_list_push_frontf(Arena *arena, String8List *list, char *fmt, ...); +internal String8Node* str8_list_pop_front(String8List *list); internal String8List str8_list_copy(Arena *arena, String8List *list); #define str8_list_first(list) ((list)->first ? (list)->first->string : str8_zero()) diff --git a/src/linker/base_ext/base_strings.c b/src/linker/base_ext/base_strings.c index 232a4f99..7d9510c1 100644 --- a/src/linker/base_ext/base_strings.c +++ b/src/linker/base_ext/base_strings.c @@ -7,20 +7,6 @@ str8_starts_with(String8 string, String8 expected_prefix) return str8_match(str8_prefix(string, expected_prefix.size), expected_prefix, 0); } -internal String8Node * -str8_list_pop_front(String8List *list) -{ - String8Node *node = 0; - if (list->node_count) { - node = list->first; - Assert(list->total_size >= list->first->string.size); - list->node_count -= 1; - list->total_size -= list->first->string.size; - SLLQueuePop(list->first, list->last); - } - return node; -} - internal U64 str8_array_bsearch(String8Array arr, String8 value) { diff --git a/src/linker/base_ext/base_strings.h b/src/linker/base_ext/base_strings.h index c982e700..dc61d504 100644 --- a/src/linker/base_ext/base_strings.h +++ b/src/linker/base_ext/base_strings.h @@ -3,9 +3,6 @@ #pragma once -// TODO: remove -internal String8Node * str8_list_pop_front(String8List *list); - internal B32 str8_starts_with(String8 string, String8 expected_prefix); internal U64 str8_array_bsearch(String8Array arr, String8 value);