From d84c47c5eec87546d9e38d651da2a7182b4ff644 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Mon, 10 Feb 2025 14:06:05 -0500 Subject: [PATCH] confirmed code_sanity.c, doing gen_c11 next --- code/base/strings.h | 4 ++++ tests/code_sanity.c | 12 ++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/code/base/strings.h b/code/base/strings.h index a1415c9..a3ae8c4 100644 --- a/code/base/strings.h +++ b/code/base/strings.h @@ -465,6 +465,9 @@ String8 str8_from_bits_u64__ainfo(AllocatorInfo ainfo, U64 x); #define str8_from_u64(allocator, u64, radix, min_digits, digit_group_separator) _Generic(allocator, Arena*: str8_from_u64__arena, AllocatorInfo: str8_from_u64__ainfo, default: assert_generic_selection_fail) resolved_function_call(allocator, u64, radix, min_digits, digit_group_separator) #define str8_from_s64(allocator, s64, radix, min_digits, digit_group_separator) _Generic(allocator, Arena*: str8_from_s64__arena, AllocatorInfo: str8_from_s64__ainfo , default: assert_generic_selection_fail) resolved_function_call(allocator, s64, radix, min_digits, digit_group_separator) +#define str8_from_bits_u32(allocator, x) _Generic(allocator, Arena*: str8_from_bits_u32__arena, AllocatorInfo: str8_from_bits_u32__ainfo, default: assert_generic_selection_fail) resolved_function_call(allocator, x) +#define str8_from_bits_u64(allocator, x) _Generic(allocator, Arena*: str8_from_bits_u64__arena, AllocatorInfo: str8_from_bits_u64__ainfo, default: assert_generic_selection_fail) resolved_function_call(allocator, x) + force_inline String8 str8_from_memory_size__arena(Arena* arena, SSIZE z) { return str8_from_memory_size__ainfo(arena_allocator(arena), z); } force_inline String8 str8_from_u64__arena (Arena* arena, U64 u64, U32 radix, U8 min_digits, U8 digit_group_separator) { return str8_from_u64__ainfo (arena_allocator(arena), u64, radix, min_digits, digit_group_separator); } force_inline String8 str8_from_s64__arena (Arena* arena, S64 s64, U32 radix, U8 min_digits, U8 digit_group_separator) { return str8_from_s64__ainfo (arena_allocator(arena), s64, radix, min_digits, digit_group_separator); } @@ -783,6 +786,7 @@ str8_list_from_flags__ainfo(AllocatorInfo ainfo, String8List* list, U32 flags, S //~ rjf; String Arrays #define str8_array_from_list(allocator, list) _Generic(allocator, Arena*: str8_array_from_list__arena, AllocatorInfo: str8_array_from_list__ainfo, default: assert_generic_selection_fail) resolved_function_call(allocator, list) +#define str8_array_reserve(allocator, count) _Generic(allocaotr, Arena*: str8_array_reserve__arena AllocatorInfo: str8_array_reserve__ainfo, default: assert_generic_selection_fail) resolved_function_call(allocator, count) inline String8Array str8_array_from_list__ainfo(AllocatorInfo ainfo, String8List* list) { diff --git a/tests/code_sanity.c b/tests/code_sanity.c index 26af145..06c69aa 100644 --- a/tests/code_sanity.c +++ b/tests/code_sanity.c @@ -17,7 +17,7 @@ int main() ctx.os_ctx.enable_large_pages = true; init(& ctx); - printf("metadesk: got past init!"); + printf("metadesk: got past init!\n"); Arena* arena = arena_alloc(); String8 hello_world_mdesk = os_data_from_file_path(arena, text(path_hello_world_mdesk)); @@ -29,11 +29,15 @@ int main() String8List debug_list = debug_string_list_from_tree(arena, parsed.root); printf("Parsed listing:\n"); - // for (String8Node* elem = str8_list_iter(debug_list, elem)) - for (String8Node* elem = debug_list.first; elem; elem = elem->next) + for (String8Node* elem = str8_list_iter(debug_list, elem)) { String8 entry = elem->string; - printf("\tentry: %*s\n", (int)entry.size, entry.str); + if (str8_find_needle(entry, 0, str8_lit("\n"), 0) < entry.size) { + printf("%*s", (int)entry.size, entry.str); + } + else { + printf("%*s\n", (int)entry.size, entry.str); + } } deinit(& ctx);