]> Kevux Git Server - fll/commitdiff
Update: Reduce memory usage by fl_fss_basic_content_read() in some circumstances.
authorKevin Day <Kevin@kevux.org>
Sun, 4 Aug 2024 06:06:00 +0000 (01:06 -0500)
committerKevin Day <Kevin@kevux.org>
Sun, 4 Aug 2024 06:06:00 +0000 (01:06 -0500)
The fl_fss_basic_content_read() is simple enough that the allocation of the found array is only needed on success.

level_1/fl_fss/c/fss/basic.c

index 7ef47cb3a7bdc732314e8b24d53da7515c82cde8..c7c0e9268969e362338714d91cd33be0361c2218 100644 (file)
@@ -26,11 +26,7 @@ extern "C" {
     if (status == F_none_eos) return F_data_not_eos;
     if (status == F_none_stop) return F_data_not_stop;
 
-    status = f_string_ranges_increase(state.step_small, found);
-    if (F_status_is_error(status)) return status;
-
     const f_number_unsigned_t begin = range->start;
-    found->array[found->used].start = range->start;
 
     for (;; ++range->start) {
 
@@ -53,6 +49,8 @@ extern "C" {
 
     if (F_status_is_error(status)) return status;
 
+    status = f_string_ranges_increase(state.step_small, found);
+
     if (range->start > begin) {
       found->array[found->used++].stop = range->start - 1;
     }