range->start = newline_last;
}
else {
- range->start = newline_last + 1;
+ range->start = begin == newline_last ? newline_last : newline_last + 1;
found->array[found->used++].stop = newline_last;
}
uint8_t flag_fl = ___fl_flag_has_graph_first___;
- found->start = range->start;
+ found->start = begin;
// Identify where the object ends.
while (F_status_is_error_not(state->status) && range->start <= range->stop && range->start < buffer.used && buffer.string[range->start] != f_fss_eol_s.string[0]) {
}
} // while
+ // Use the found range to test the buffer decrement.
range->start = found->stop + 1;
found->start = line_stop;
found->stop = line_stop;
f_fss_skip_past_combining_joiner(buffer, range, state);
+ line_stop = range->start;
+
continue;
}
if (f_fss_is_combining_joiner(buffer, *range, state) == F_true) {
f_fss_skip_past_combining_joiner(buffer, range, state);
+ line_stop = range->start;
+
continue;
}
}