From cb657aab14e4126667174c083ba161c7668ce06d Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Mon, 3 Nov 2025 15:21:17 -0800 Subject: [PATCH] fix bad line range gathering on non-textual files --- src/text/text.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/text/text.c b/src/text/text.c index 7b4ef0f8..9d6b1f94 100644 --- a/src/text/text.c +++ b/src/text/text.c @@ -2066,19 +2066,18 @@ txt_artifact_create(String8 key, B32 *cancel_signal, B32 *retry_out, U64 *gen_ou U64 line_start_idx = 0; for(U64 idx = 0; idx <= data.size; idx += 1) { - if(idx == data.size || data.str[idx] == '\n' || data.str[idx] == '\r') + if(idx == data.size || data.str[idx] == '\n') { Rng1U64 line_range = r1u64(line_start_idx, idx); + if(idx > 0 && data.str[idx-1] == '\r' && line_range.max > line_range.min) + { + line_range.max -= 1; + } U64 line_size = dim_1u64(line_range); shared->info.lines_ranges[line_idx] = line_range; shared->info.lines_max_size = Max(shared->info.lines_max_size, line_size); line_idx += 1; line_start_idx = idx+1; - if(idx < data.size && data.str[idx] == '\r') - { - line_start_idx += 1; - idx += 1; - } } if(idx && idx%1000 == 0) {