aboutsummaryrefslogtreecommitdiff
path: root/ui.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui.c')
-rw-r--r--ui.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/ui.c b/ui.c
index ed2aa24..c2e0ac9 100644
--- a/ui.c
+++ b/ui.c
@@ -207,20 +207,27 @@ tb_print_wrapped_with_markdown(u32 XOffset, u32 YOffset, u32 fg, u32 bg,
// Return string without markdown markup characters using `is_markdown()`
// ScratchArena is used to allocate space for the raw text
+// If ScratchArena is null then it will only return then length of the raw string
// Len should be characters + null terminator
// Copies the null terminator as well
raw_result
markdown_to_raw(Arena* ScratchArena, u32* Text, u32 Len)
{
raw_result Result = {0};
- Result.Text = ScratchArena->addr;
+ if (ScratchArena)
+ {
+ Result.Text = ScratchArena->addr;
+ }
for (u32 i = 0; i < Len; i++)
{
if (!is_markdown(Text[i]))
{
- u32* ch = ArenaPush(ScratchArena, sizeof(*ch));
- *ch = Text[i];
+ if (ScratchArena)
+ {
+ u32* ch = ArenaPush(ScratchArena, sizeof(*ch));
+ *ch = Text[i];
+ }
Result.Len++;
}
}