This uses existing variables and shuffles the data around rather than defining a new variable.
} // while
range->start = found->stop + 1;
+ found->start = stop;
+ found->stop = stop;
+
+ state->status = f_utf_buffer_decrement(buffer, found, 1);
+
+ if (F_status_is_error(state->status)) {
+ --range->start;
+ delimits->used = delimits_used;
+
+ return;
+ }
+
+ found->stop = found->start;
found->start = start;
- found->stop = stop + macro_f_utf_byte_width(buffer.string[stop]) - 1;
state->status = F_fss_found_object;
}
else {