From efb4731acec006c4dbfb6d95fbb32d673d21cb04 Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Fri, 7 Nov 2025 16:53:30 -0800 Subject: [PATCH] respect leading slashes in bake file path tree lookup --- src/lib_rdi_make/rdi_make.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/lib_rdi_make/rdi_make.c b/src/lib_rdi_make/rdi_make.c index 811a8faa..e07100f6 100644 --- a/src/lib_rdi_make/rdi_make.c +++ b/src/lib_rdi_make/rdi_make.c @@ -1904,12 +1904,26 @@ rdim_bake_path_node_from_string(RDIM_BakePathTree *tree, RDIM_String8 string) RDI_U8 *opl = string.str + string.size; for(;ptr < opl && node != 0;) { - // rjf: skip past slashes - for(;ptr < opl && (*ptr == '/' || *ptr == '\\'); ptr += 1); + // rjf: skip past non-leading slashes + RDI_U32 leading_slash = 0; + if(ptr > string.str) + { + for(;ptr < opl && (*ptr == '/' || *ptr == '\\'); ptr += 1); + } + else if(ptr < opl) + { + leading_slash = (*ptr == '/'); + } // rjf: save beginning of non-slash range RDI_U8 *range_first = ptr; + // rjf: advance past leading slash + if(leading_slash) + { + ptr += 1; + } + // rjf: skip past non-slashes for(;ptr < opl && !(*ptr == '/' || *ptr == '\\'); ptr += 1);