mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-06 22:08:41 +00:00
clean up over base strings in the linker layer
This commit is contained in:
committed by
Ryan Fleury
parent
9f6da0ec63
commit
a64f8f4196
@@ -1,52 +1,10 @@
|
|||||||
// Copyright (c) 2025 Epic Games Tools
|
// Copyright (c) 2025 Epic Games Tools
|
||||||
// Licensed under the MIT license (https://opensource.org/license/mit/)
|
// Licensed under the MIT license (https://opensource.org/license/mit/)
|
||||||
|
|
||||||
internal String8Node *
|
internal B32
|
||||||
str8_list_push_raw(Arena *arena, String8List *list, void *data_ptr, U64 data_size)
|
str8_starts_with(String8 string, String8 expected_prefix)
|
||||||
{
|
{
|
||||||
String8 data = str8((U8 *)data_ptr, data_size);
|
return str8_match(str8_prefix(string, expected_prefix.size), expected_prefix, 0);
|
||||||
String8Node *node = str8_list_push(arena, list, data);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal U64
|
|
||||||
str8_list_push_pad(Arena *arena, String8List *list, U64 offset, U64 align)
|
|
||||||
{
|
|
||||||
U64 pad_size = AlignPow2(offset, align) - offset;
|
|
||||||
U8 *pad = push_array(arena, U8, pad_size);
|
|
||||||
MemorySet(pad, 0, pad_size);
|
|
||||||
str8_list_push(arena, list, str8(pad, pad_size));
|
|
||||||
return pad_size;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal U64
|
|
||||||
str8_list_push_pad_front(Arena *arena, String8List *list, U64 offset, U64 align)
|
|
||||||
{
|
|
||||||
U64 pad_size = AlignPow2(offset, align) - offset;
|
|
||||||
U8 *pad = push_array(arena, U8, pad_size);
|
|
||||||
MemorySet(pad, 0, pad_size);
|
|
||||||
str8_list_push_front(arena, list, str8(pad, pad_size));
|
|
||||||
return pad_size;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal String8List
|
|
||||||
str8_list_arr_concat(String8List *v, U64 count)
|
|
||||||
{
|
|
||||||
String8List result = {0};
|
|
||||||
for (U64 i = 0; i < count; i += 1) {
|
|
||||||
str8_list_concat_in_place(&result, &v[i]);
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal String8Node *
|
|
||||||
str8_list_push_many(Arena *arena, String8List *list, U64 count)
|
|
||||||
{
|
|
||||||
String8Node *arr = push_array(arena, String8Node, count);
|
|
||||||
for (U64 i = 0; i < count; ++i) {
|
|
||||||
str8_list_push_node(list, arr + i);
|
|
||||||
}
|
|
||||||
return arr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal String8Node *
|
internal String8Node *
|
||||||
@@ -63,10 +21,3 @@ str8_list_pop_front(String8List *list)
|
|||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal U64
|
|
||||||
hash_from_str8(String8 string)
|
|
||||||
{
|
|
||||||
XXH64_hash_t hash64 = XXH3_64bits(string.str, string.size);
|
|
||||||
return hash64;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,8 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define str8_list_push_struct(a,l,d) str8_list_push_raw(a, l, d, sizeof(*d))
|
|
||||||
internal String8Node * str8_list_push_raw(Arena *arena, String8List *list, void *data_ptr, U64 data_size);
|
|
||||||
internal U64 str8_list_push_pad(Arena *arena, String8List *list, U64 offset, U64 align);
|
|
||||||
internal U64 str8_list_push_pad_front(Arena *arena, String8List *list, U64 offset, U64 align);
|
|
||||||
internal String8List str8_list_arr_concat(String8List *v, U64 count);
|
|
||||||
internal String8Node * str8_list_push_many(Arena *arena, String8List *list, U64 count);
|
|
||||||
|
|
||||||
// TODO: remove
|
// TODO: remove
|
||||||
internal String8Node * str8_list_pop_front(String8List *list);
|
internal String8Node * str8_list_pop_front(String8List *list);
|
||||||
|
|
||||||
internal U64 hash_from_str8(String8 string);
|
internal B32 str8_starts_with(String8 string, String8 expected_prefix);
|
||||||
|
|
||||||
|
|||||||
@@ -587,7 +587,7 @@ cv_file_chksms_from_debug_s(CV_DebugS debug_s)
|
|||||||
internal U64
|
internal U64
|
||||||
cv_string_hash_table_hash(String8 string)
|
cv_string_hash_table_hash(String8 string)
|
||||||
{
|
{
|
||||||
return hash_from_str8(string);
|
return u64_hash_from_str8(string);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal int
|
internal int
|
||||||
|
|||||||
Reference in New Issue
Block a user