f_number_unsigned_t previous = 0;
f_number_unsigned_t slash_first = 0;
f_number_unsigned_t slash_count = 0;
- f_number_unsigned_t start = begin;
+ f_number_unsigned_t line_start = begin;
uint8_t flag_fl = ___fl_flag_has_graph_first___;
if (range->start > range->stop || range->start >= buffer.used) break;
if (state->status == F_okay_eol) {
- newline_last = start;
- start = range->start;
+ newline_last = line_start;
+ line_start = range->start;
range->start = slash_first;
if (slash_count % 2 == 0) {
}
flag_fl |= ___fl_flag_has_graph_first___;
- range->start = start + 1;
+ range->start = line_start + 1;
}
else {
flag_fl &= ~___fl_flag_do_escape___;
// Found a valid object, set stop point to last newline.
if (state->status == F_okay_eol) {
- previous = range->start;
- range->start = start;
-
- if (f_fss_is_combining_joiner(buffer, *range, state) == F_true) {
- range->start = previous;
-
- if (flag_fl & ___fl_flag_has_delimit_comment___) {
- state->status = f_memory_array_increase(state->step_small, sizeof(f_number_unsigned_t), (void **) &delimits->array, &delimits->used, &delimits->size);
- if (F_status_is_error(state->status)) break;
-
- delimits->array[delimits->used++] = comment_delimit;
- }
-
- newline_last = range->start;
- start = ++range->start;
- flag_fl |= ___fl_flag_has_graph_first___;
+ if (newline_last == found->array[found->used].start) {
+ found->array[found->used++].stop = range->start++;
}
else {
- range->start = previous;
-
- if (F_status_is_error(state->status)) break;
-
- if (newline_last == found->array[found->used].start) {
- found->array[found->used++].stop = range->start++;
- }
- else {
- range->start = newline_last + 1;
- found->array[found->used++].stop = newline_last;
- }
+ range->start = newline_last + 1;
+ found->array[found->used++].stop = newline_last;
+ }
- state->status = F_fss_found_content;
+ state->status = F_fss_found_content;
- return;
- }
+ return;
}
continue;
range->start = previous;
// The newline_last is initialized to the range->start, which may not actually be a new line.
- start = buffer.string[newline_last] == f_string_eol_s.string[0]
+ line_start = buffer.string[newline_last] == f_string_eol_s.string[0]
? newline_last + 1
: newline_last;
newline_last = range->start;
}
- comments->array[comments->used].start = start;
+ comments->array[comments->used].start = line_start;
comments->array[comments->used++].stop = range->start++;
continue;