Skip to content

Commit cb657aa

Browse files
committed
fix bad line range gathering on non-textual files
1 parent af7f571 commit cb657aa

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

src/text/text.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2066,19 +2066,18 @@ txt_artifact_create(String8 key, B32 *cancel_signal, B32 *retry_out, U64 *gen_ou
20662066
U64 line_start_idx = 0;
20672067
for(U64 idx = 0; idx <= data.size; idx += 1)
20682068
{
2069-
if(idx == data.size || data.str[idx] == '\n' || data.str[idx] == '\r')
2069+
if(idx == data.size || data.str[idx] == '\n')
20702070
{
20712071
Rng1U64 line_range = r1u64(line_start_idx, idx);
2072+
if(idx > 0 && data.str[idx-1] == '\r' && line_range.max > line_range.min)
2073+
{
2074+
line_range.max -= 1;
2075+
}
20722076
U64 line_size = dim_1u64(line_range);
20732077
shared->info.lines_ranges[line_idx] = line_range;
20742078
shared->info.lines_max_size = Max(shared->info.lines_max_size, line_size);
20752079
line_idx += 1;
20762080
line_start_idx = idx+1;
2077-
if(idx < data.size && data.str[idx] == '\r')
2078-
{
2079-
line_start_idx += 1;
2080-
idx += 1;
2081-
}
20822081
}
20832082
if(idx && idx%1000 == 0)
20842083
{

0 commit comments

Comments
 (0)