From f6931ef0b7e1e63b9d3cecf1c2bbb62617d2098c Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Wed, 16 Jul 2025 13:10:35 -0700 Subject: [PATCH] apply string size limitations from explicit array types in eval string iterator --- src/eval_visualization/eval_visualization_core.c | 4 ++++ src/mule/mule_main.cpp | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/src/eval_visualization/eval_visualization_core.c b/src/eval_visualization/eval_visualization_core.c index b6b6eef5..b874d4d0 100644 --- a/src/eval_visualization/eval_visualization_core.c +++ b/src/eval_visualization/eval_visualization_core.c @@ -1850,6 +1850,10 @@ ev_string_iter_next(Arena *arena, EV_StringIter *it, String8 *out_string) { string = str8_prefix(string, params->limit_strings_size); } + else if(type_kind == E_TypeKind_Array && ptr_data->type->count != 0) + { + string = str8_prefix(string, ptr_data->type->count); + } // rjf: escape and quote B32 string__is_escaped_and_quoted = (!(params->flags & EV_StringFlag_DisableStringQuotes) || depth > 0); diff --git a/src/mule/mule_main.cpp b/src/mule/mule_main.cpp index 24b82025..a6f92e21 100644 --- a/src/mule/mule_main.cpp +++ b/src/mule/mule_main.cpp @@ -404,6 +404,15 @@ type_coverage_eval_tests(void) wchar_t a_wide_string[] = L"This is a string, but instead of being encoded in a stream of bytes,\n" L"it is encoded in a stream of 2-byte packages!\n"; + char some_data_with_a_string[] = + { + 'H', 'e', 'l', 'l', 'o', 27, 27, 2, 27, 125, + }; + struct SomeDataStructured + { + char data[4]; + }; + SomeDataStructured *some_data = (SomeDataStructured *)&some_data_with_a_string[0]; const char *const_string = "Hello, World!"; const char const_string_array[] = "Hello, World!";