]> Kevux Git Server - fll/commitdiff
Progress: Do some structural clean ups.
authorKevin Day <Kevin@kevux.org>
Mon, 31 Aug 2026 00:06:55 +0000 (19:06 -0500)
committerKevin Day <Kevin@kevux.org>
Mon, 31 Aug 2026 00:06:55 +0000 (19:06 -0500)
The `f_fss_seek_to_eol()` returns `F_okay_eol`.
Check that instead of doing a buffer string character comparison where possible.

Improve some condition block logic regarding breaks, returns, and continues.

Change some of the status error checking to reduce return statements.
I have probably flip flopped on this problem numerous times.
Looking into how compilers and CPUs like to optimize things, I believe that reducing the return statements will be of benefit vs the probably cleaner immediate returns.
This can only be done when it is clear and when the status code being returned (or any state) is identical between calls.

level_1/fl_fss/c/fss/basic.c
level_1/fl_fss/c/fss/basic_list.c
level_1/fl_fss/c/fss/embedded_list.c
level_1/fl_fss/c/fss/extended.c
level_1/fl_fss/c/fss/extended_list.c
level_1/fl_fss/c/fss/private-payload-helper.c
level_1/fl_fss/c/fss/private-payload.c
level_1/fl_fss/c/private-fss-list.c

index ff5a2b7a98e94ffee01c10f46cb3aefd9fa1e140..4d1eec1780ff6a09686907460d6f9fa50af1e56b 100644 (file)
@@ -41,35 +41,25 @@ extern "C" {
 
     const f_number_unsigned_t begin = range->start;
 
-    for (;; ++range->start) {
+    f_fss_seek_to_eol(buffer, range, state);
 
-      if (state->interrupt) {
-        state->interrupt((void *) state, 0);
-        if (F_status_set_fine(state->status) == F_interrupt) break;
-      }
-
-      f_fss_skip_past_delimit(buffer, range, state);
-      if (F_status_is_error(state->status)) break;
-
-      if (state->status == F_okay_eos || state->status == F_okay_stop) return;
-      if (buffer.string[range->start] == f_fss_basic_close_s.string[0]) break;
-    } // for
-
-    if (F_status_is_error(state->status)) return;
+    if (F_status_is_error_not(state->status)) {
+      state->status = f_memory_array_increase(state->step_small, sizeof(f_range_t), (void **) &found->array, &found->used, &found->size);
+    }
 
-    state->status = f_memory_array_increase(state->step_small, sizeof(f_range_t), (void **) &found->array, &found->used, &found->size);
-    if (F_status_is_error(state->status)) return;
+    if (F_status_is_error_not(state->status)) {
+      if (range->start > begin) {
+        found->array[found->used].start = begin;
+        found->array[found->used++].stop = range->start - 1;
+      }
+      else {
+        found->array[found->used].start = 1;
+        found->array[found->used++].stop = 0;
+      }
 
-    if (range->start > begin) {
-      found->array[found->used].start = begin;
-      found->array[found->used++].stop = range->start - 1;
-    }
-    else {
-      found->array[found->used].start = 1;
-      found->array[found->used++].stop = 0;
+      state->status = f_utf_buffer_increment(buffer, range, 1);
     }
 
-    state->status = f_utf_buffer_increment(buffer, range, 1);
     if (F_status_is_error(state->status)) return;
 
     state->status = F_fss_found_content;
index b240f01cadd9bbef8340d28ce7a11d6d5ade1052..b442de0ae9f11fe8e6e0300050c2fc49c32d1fb4 100644 (file)
@@ -429,7 +429,7 @@ extern "C" {
           f_fss_skip_past_space(content, range, state);
           if (F_status_is_error(state->status)) break;
 
-          if (content.string[range->start] == f_fss_eol_s.string[0] || range->start >= content.used || range->start > range->stop) {
+          if (state->status == F_okay_eol || range->start >= content.used || range->start > range->stop) {
 
             // Increase by total slashes + 1, along with the basic list open and possible newline.
             state->status = f_memory_array_increase_by(slash_count + 3, sizeof(f_char_t), (void **) &destination->string, &destination->used, &destination->size);
@@ -474,7 +474,7 @@ extern "C" {
         f_fss_skip_past_space(content, range, state);
         if (F_status_is_error(state->status)) break;
 
-        if (content.string[range->start] == f_fss_eol_s.string[0] || range->start >= content.used || range->start > range->stop) {
+        if (state->status == F_okay_eol || range->start >= content.used || range->start > range->stop) {
 
           // Increase by slash and basic list open and possible newline.
           state->status = f_memory_array_increase_by(3, sizeof(f_char_t), (void **) &destination->string, &destination->used, &destination->size);
index 78ceb3a161026891512027f85d32ebabc6f955fa..2f45465f0d28e8dd976d068c0189fc76b59fc0a3 100644 (file)
@@ -705,7 +705,7 @@ extern "C" {
           f_fss_skip_past_space(content, range, state);
           if (F_status_is_error(state->status)) break;
 
-          if (range->start >= content.used || range->start > range->stop || content.string[range->start] == f_fss_eol_s.string[0]) {
+          if (state->status == F_okay_eol || range->start >= content.used || range->start > range->stop) {
 
             // Increase by total slashes + 1 embedded list open/close.
             state->status = f_memory_array_increase_by(slash_count + 2, sizeof(f_char_t), (void **) &destination->string, &destination->used, &destination->size);
@@ -766,9 +766,8 @@ extern "C" {
         f_fss_skip_past_space(content, range, state);
         if (F_status_is_error(state->status)) break;
 
-        if (range->start >= content.used || range->start > range->stop || content.string[range->start] == f_fss_eol_s.string[0]) {
-
-          if (content.string[range->start] == f_fss_eol_s.string[0] && prepend) {
+        if (state->status == F_okay_eol || range->start >= content.used || range->start > range->stop) {
+          if (state->status == F_okay_eol && prepend) {
             flag |= ___fl_flag_has_eol_do_prepend___;
           }
           else {
index 1ba037fe5af9109f0b4e0d9c9a2a6f3d84132859..40f7febddb3133e621aacac66fb333794a9bad94 100644 (file)
@@ -45,7 +45,6 @@ extern "C" {
     uint8_t content_found = 0;
     uint8_t quote = f_fss_quote_type_none_e;
     f_range_t content_partial = f_range_t_initialize;
-
     f_status_t status = F_okay;
 
     while (range->start <= range->stop && range->start < buffer.used) {
@@ -96,18 +95,26 @@ extern "C" {
         content_found = 1;
 
         if (state->status == F_fss_found_object_content_not) break;
+
+        continue;
       }
-      else if (state->status == F_fss_found_object_not) {
-        break;
+
+      if (F_status_is_error(state->status)) {
+        delimits->used = delimits_used;
+
+        if (quotes) {
+          quotes->used = quotes_used;
+        }
+
+        return;
       }
-      else if (state->status == F_data_not_eos) {
+
+      if (state->status == F_data_not_eos) {
         if (content_found) {
           state->status = F_okay_eos;
         }
 
         content_found = 2;
-
-        break;
       }
       else if (state->status == F_data_not_stop) {
         if (content_found) {
@@ -115,25 +122,14 @@ extern "C" {
         }
 
         content_found = 2;
-
-        break;
       }
       else if (state->status == F_end_not_group_eos || state->status == F_end_not_group_eos) {
-        if (content_found) {
+        if (content_found == 1) {
           content_found = 2;
         }
-
-        break;
       }
-      else if (F_status_is_error(state->status)) {
-        delimits->used = delimits_used;
 
-        if (quotes) {
-          quotes->used = quotes_used;
-        }
-
-        return;
-      }
+      break;
     } // while
 
     if (content_found) {
index c94f2d42c7016b9b5103b55ed04a05051c10a97d..7b7ea9ee9217f8bc948226a2c156cb0699641267 100644 (file)
@@ -388,7 +388,7 @@ extern "C" {
           if (flag & ___fl_flag_has_graph___) {
             // Do nothing.
           }
-          else if (content.string[range->start] == f_fss_eol_s.string[0] || range->start >= content.used || range->start > range->stop) {
+          else if (state->status == F_okay_eol || range->start >= content.used || range->start > range->stop) {
             state->status = f_memory_array_increase_by(2, sizeof(f_char_t), (void **) &destination->string, &destination->used, &destination->size);
             if (F_status_is_error(state->status)) break;
 
@@ -441,9 +441,8 @@ extern "C" {
         f_fss_skip_past_space(content, range, state);
         if (F_status_is_error(state->status)) break;
 
-        if (content.string[range->start] == f_fss_eol_s.string[0] || range->start >= content.used || range->start > range->stop) {
-
-          if (content.string[range->start] == f_fss_eol_s.string[0] && prepend) {
+        if (state->status == F_okay_eol || range->start >= content.used || range->start > range->stop) {
+          if (state->status == F_okay_eol && prepend) {
             flag |= ___fl_flag_has_eol_do_prepend___;
           }
           else {
index fd2938e8ad64525eb0242966a97d83f997b7118e..bc8f262e5e25202662a598cd5066e06b7dec96f1 100644 (file)
@@ -14,9 +14,11 @@ extern "C" {
       internal->range.stop = buffer->used - 1;
 
       private_fl_fss_basic_write(F_false, *buffer, 0, &internal->range, &destinations->array[destinations->used].value, state, (void * const) internal);
-      if (F_status_is_error(state->status)) return F_true;
 
-      state->status = f_string_dynamic_strip_null(&destinations->array[destinations->used].value);
+      if (F_status_is_error_not(state->status)) {
+        state->status = f_string_dynamic_strip_null(&destinations->array[destinations->used].value);
+      }
+
       if (F_status_is_error(state->status)) return F_true;
     }
 
@@ -34,9 +36,11 @@ extern "C" {
       internal->range.stop = buffer->used - 1;
 
       private_fl_fss_basic_write(F_false, *buffer, 0, &internal->range, &destinations->array[destinations->used].value, state, (void * const) internal);
-      if (F_status_is_error(state->status)) return F_true;
 
-      state->status = f_string_dynamic_strip_null(&destinations->array[destinations->used].value);
+      if (F_status_is_error_not(state->status)) {
+        state->status = f_string_dynamic_strip_null(&destinations->array[destinations->used].value);
+      }
+
       if (F_status_is_error(state->status)) return F_true;
     }
     else if (data->flag & append_on_empty) {
@@ -54,21 +58,27 @@ extern "C" {
   uint8_t private_fl_payload_helper_header_map_destination_write_empty_three(fl_fss_payload_header_state_t * const data, f_state_t * const state, fl_fss_payload_header_internal_t * const internal, f_string_static_t * const destination, const f_string_static_t separator) {
 
     state->status = f_memory_array_increase_by(internal->quote_null.used * 3 + separator.used * 2, sizeof(f_char_t), (void **) &destination->string, &destination->used, &destination->size);
-    if (F_status_is_error(state->status)) return F_true;
 
-    state->status = f_string_dynamic_append(internal->quote_null, destination);
-    if (F_status_is_error(state->status)) return F_true;
+    if (F_status_is_error_not(state->status)) {
+      state->status = f_string_dynamic_append(internal->quote_null, destination);
+    }
 
-    state->status = f_string_dynamic_append_assure(separator, destination);
-    if (F_status_is_error(state->status)) return F_true;
+    if (F_status_is_error_not(state->status)) {
+      state->status = f_string_dynamic_append_assure(separator, destination);
+    }
 
-    state->status = f_string_dynamic_append(internal->quote_null, destination);
-    if (F_status_is_error(state->status)) return F_true;
+    if (F_status_is_error_not(state->status)) {
+      state->status = f_string_dynamic_append(internal->quote_null, destination);
+    }
 
-    state->status = f_string_dynamic_append_assure(separator, destination);
-    if (F_status_is_error(state->status)) return F_true;
+    if (F_status_is_error_not(state->status)) {
+      state->status = f_string_dynamic_append_assure(separator, destination);
+    }
+
+    if (F_status_is_error_not(state->status)) {
+      state->status = f_string_dynamic_append(internal->quote_null, destination);
+    }
 
-    state->status = f_string_dynamic_append(internal->quote_null, destination);
     if (F_status_is_error(state->status)) return F_true;
 
     state->status = F_okay;
@@ -81,15 +91,19 @@ extern "C" {
   uint8_t private_fl_payload_helper_header_map_destination_write_empty_two(fl_fss_payload_header_state_t * const data, f_state_t * const state, fl_fss_payload_header_internal_t * const internal, f_string_static_t * const destination, const f_string_static_t separator) {
 
     state->status = f_memory_array_increase_by(internal->quote_null.used * 2 + separator.used, sizeof(f_char_t), (void **) &destination->string, &destination->used, &destination->size);
-    if (F_status_is_error(state->status)) return F_true;
 
-    state->status = f_string_dynamic_append(internal->quote_null, destination);
-    if (F_status_is_error(state->status)) return F_true;
+    if (F_status_is_error_not(state->status)) {
+      state->status = f_string_dynamic_append(internal->quote_null, destination);
+    }
 
-    state->status = f_string_dynamic_append_assure(separator, destination);
-    if (F_status_is_error(state->status)) return F_true;
+    if (F_status_is_error_not(state->status)) {
+      state->status = f_string_dynamic_append_assure(separator, destination);
+    }
+
+    if (F_status_is_error_not(state->status)) {
+      state->status = f_string_dynamic_append(internal->quote_null, destination);
+    }
 
-    state->status = f_string_dynamic_append(internal->quote_null, destination);
     if (F_status_is_error(state->status)) return F_true;
 
     state->status = F_okay;
index 49ca043094fedfeef5d477a0d3b31c644fe7e394..92ecd8eddb034f4d80e8c9c03c4b06841e7a9d08 100644 (file)
@@ -31,9 +31,11 @@ extern "C" {
 
         if (data->flag & f_fss_payload_header_map_flag_join_dynamics_e) {
           state->status = f_string_dynamic_append(buffers->array[internal->j], data->cache);
-          if (F_status_is_error(state->status)) return F_true;
 
-          state->status = f_string_dynamic_append_assure(f_string_space_s, data->cache);
+          if (F_status_is_error_not(state->status)) {
+            state->status = f_string_dynamic_append_assure(f_string_space_s, data->cache);
+          }
+
           if (F_status_is_error(state->status)) return F_true;
         }
         else {
@@ -42,9 +44,11 @@ extern "C" {
             internal->range.stop = buffers->array[internal->j].used - 1;
 
             private_fl_fss_basic_write(F_false, buffers->array[internal->j], internal->quote, &internal->range, &destinations->array[destinations->used].value, state, (void * const) internal);
-            if (F_status_is_error(state->status)) return F_true;
 
-            state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
+            if (F_status_is_error_not(state->status)) {
+              state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
+            }
+
             if (F_status_is_error(state->status)) return F_true;
           }
           else if (data->flag & f_fss_payload_header_map_flag_null_dynamic_e) {
@@ -116,9 +120,10 @@ extern "C" {
           state->status = f_string_dynamic_append(internal->quote_null, data->cache);
         }
 
-        if (F_status_is_error(state->status)) return F_true;
+        if (F_status_is_error_not(state->status)) {
+          state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
+        }
 
-        state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
         if (F_status_is_error(state->status)) return F_true;
       }
 
@@ -130,9 +135,10 @@ extern "C" {
           state->status = f_string_dynamic_append(internal->quote_null, data->cache);
         }
 
-        if (F_status_is_error(state->status)) return F_true;
+        if (F_status_is_error_not(state->status)) {
+          state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
+        }
 
-        state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
         if (F_status_is_error(state->status)) return F_true;
       }
 
@@ -161,9 +167,10 @@ extern "C" {
           state->status = f_string_dynamic_append(internal->quote_null, &destinations->array[destinations->used].value);
         }
 
-        if (F_status_is_error(state->status)) return F_true;
+        if (F_status_is_error_not(state->status)) {
+          state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
+        }
 
-        state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
         if (F_status_is_error(state->status)) return F_true;
       }
 
@@ -178,9 +185,10 @@ extern "C" {
           state->status = f_string_dynamic_append(internal->quote_null, &destinations->array[destinations->used].value);
         }
 
-        if (F_status_is_error(state->status)) return F_true;
+        if (F_status_is_error_not(state->status)) {
+          state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
+        }
 
-        state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
         if (F_status_is_error(state->status)) return F_true;
       }
 
@@ -244,9 +252,10 @@ extern "C" {
           state->status = f_string_dynamic_append(internal->quote_null, data->cache);
         }
 
-        if (F_status_is_error(state->status)) return F_true;
+        if (F_status_is_error_not(state->status)) {
+          state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
+        }
 
-        state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
         if (F_status_is_error(state->status)) return F_true;
       }
 
@@ -262,9 +271,10 @@ extern "C" {
                 state->status = f_string_dynamic_append(internal->quote_null, data->cache);
               }
 
-              if (F_status_is_error(state->status)) return F_true;
+              if (F_status_is_error_not(state->status)) {
+                state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
+              }
 
-              state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
               if (F_status_is_error(state->status)) return F_true;
             }
           }
@@ -303,9 +313,10 @@ extern "C" {
           state->status = f_string_dynamic_append(internal->quote_null, &destinations->array[destinations->used].value);
         }
 
-        if (F_status_is_error(state->status)) return F_true;
+        if (F_status_is_error_not(state->status)) {
+          state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
+        }
 
-        state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
         if (F_status_is_error(state->status)) return F_true;
       }
 
@@ -324,9 +335,10 @@ extern "C" {
                 state->status = f_string_dynamic_append(internal->quote_null, &destinations->array[destinations->used].value);
               }
 
-              if (F_status_is_error(state->status)) return F_true;
+              if (F_status_is_error_not(state->status)) {
+                state->status = f_string_dynamic_append_assure(f_fss_space_s, &destinations->array[destinations->used].value);
+              }
 
-              state->status = f_string_dynamic_append_assure(f_fss_space_s, &destinations->array[destinations->used].value);
               if (F_status_is_error(state->status)) return F_true;
             }
           } // for
@@ -335,9 +347,10 @@ extern "C" {
           state->status = f_string_dynamic_append(internal->quote_null, &destinations->array[destinations->used].value);
         }
 
-        if (F_status_is_error(state->status)) return F_true;
+        if (F_status_is_error_not(state->status)) {
+          state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
+        }
 
-        state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
         if (F_status_is_error(state->status)) return F_true;
       }
 
@@ -420,9 +433,10 @@ extern "C" {
               state->status = f_string_dynamic_append(internal->quote_null, data->cache);
             }
 
-            if (F_status_is_error(state->status)) return F_true;
+            if (F_status_is_error_not(state->status)) {
+              state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
+            }
 
-            state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
             if (F_status_is_error(state->status)) return F_true;
           }
 
@@ -438,9 +452,10 @@ extern "C" {
                     state->status = f_string_dynamic_append(internal->quote_null, data->cache);
                   }
 
-                  if (F_status_is_error(state->status)) return F_true;
+                  if (F_status_is_error_not(state->status)) {
+                    state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
+                  }
 
-                  state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
                   if (F_status_is_error(state->status)) return F_true;
                 }
               } // for
@@ -449,9 +464,10 @@ extern "C" {
               state->status = f_string_dynamic_append(internal->quote_null, data->cache);
             }
 
-            if (F_status_is_error(state->status)) return F_true;
+            if (F_status_is_error_not(state->status)) {
+              state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
+            }
 
-            state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
             if (F_status_is_error(state->status)) return F_true;
           }
         } // for
@@ -492,9 +508,10 @@ extern "C" {
               state->status = f_string_dynamic_append(internal->quote_null, data->cache);
             }
 
-            if (F_status_is_error(state->status)) return F_true;
+            if (F_status_is_error_not(state->status)) {
+              state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
+            }
 
-            state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
             if (F_status_is_error(state->status)) return F_true;
           }
 
@@ -510,9 +527,10 @@ extern "C" {
                     state->status = f_string_dynamic_append(internal->quote_null, data->cache);
                   }
 
-                  if (F_status_is_error(state->status)) return F_true;
+                  if (F_status_is_error_not(state->status)) {
+                    state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
+                  }
 
-                  state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
                   if (F_status_is_error(state->status)) return F_true;
                 }
               } // for
@@ -521,9 +539,10 @@ extern "C" {
               state->status = f_string_dynamic_append(internal->quote_null, data->cache);
             }
 
-            if (F_status_is_error(state->status)) return F_true;
+            if (F_status_is_error_not(state->status)) {
+              state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
+            }
 
-            state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
             if (F_status_is_error(state->status)) return F_true;
           }
 
@@ -537,9 +556,11 @@ extern "C" {
             internal->range.stop = data->cache->used - 1;
 
             private_fl_fss_basic_write(F_false, *data->cache, 0, &internal->range, &destinations->array[destinations->used].value, state, (void * const) internal);
-            if (F_status_is_error(state->status)) return F_true;
 
-            state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
+            if (F_status_is_error_not(state->status)) {
+              state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
+            }
+
             if (F_status_is_error(state->status)) return F_true;
           }
         } // for
@@ -721,9 +742,10 @@ extern "C" {
               state->status = f_string_dynamic_append(internal->quote_null, data->cache);
             }
 
-            if (F_status_is_error(state->status)) return F_true;
+            if (F_status_is_error_not(state->status)) {
+              state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
+            }
 
-            state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
             if (F_status_is_error(state->status)) return F_true;
           }
 
@@ -735,9 +757,10 @@ extern "C" {
               state->status = f_string_dynamic_append(internal->quote_null, data->cache);
             }
 
-            if (F_status_is_error(state->status)) return F_true;
+            if (F_status_is_error_not(state->status)) {
+              state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
+            }
 
-            state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
             if (F_status_is_error(state->status)) return F_true;
           }
         } // for
@@ -778,9 +801,10 @@ extern "C" {
               state->status = f_string_dynamic_append(internal->quote_null, data->cache);
             }
 
-            if (F_status_is_error(state->status)) return F_true;
+            if (F_status_is_error_not(state->status)) {
+              state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
+            }
 
-            state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
             if (F_status_is_error(state->status)) return F_true;
           }
 
@@ -792,9 +816,10 @@ extern "C" {
               state->status = f_string_dynamic_append(internal->quote_null, data->cache);
             }
 
-            if (F_status_is_error(state->status)) return F_true;
+            if (F_status_is_error_not(state->status)) {
+              state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
+            }
 
-            state->status = f_string_dynamic_append_assure(f_fss_space_s, data->cache);
             if (F_status_is_error(state->status)) return F_true;
           }
 
@@ -808,9 +833,12 @@ extern "C" {
             internal->range.stop = data->cache->used - 1;
 
             private_fl_fss_basic_write(F_false, *data->cache, 0, &internal->range, &destinations->array[destinations->used].value, state, (void * const) internal);
-            if (F_status_is_error(state->status)) return F_true;
 
-            state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
+
+            if (F_status_is_error_not(state->status)) {
+              state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
+            }
+
             if (F_status_is_error(state->status)) return F_true;
           }
         } // for
@@ -1063,12 +1091,14 @@ extern "C" {
             data->cache->used = 0;
 
             state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
-            if (F_status_is_error(state->status)) return F_true;
 
-            if (private_fl_payload_header_map_number_unsigned(data, state, internal, quantitys.array[internal->l].total) == F_true) return F_true;
-            if (private_fl_payload_helper_header_map_destination_write_buffer(data, state, internal, data->cache, destinations) == F_true) return F_true;
+            if (F_status_is_error_not(state->status)) {
+              if (private_fl_payload_header_map_number_unsigned(data, state, internal, quantitys.array[internal->l].total) == F_true) return F_true;
+              if (private_fl_payload_helper_header_map_destination_write_buffer(data, state, internal, data->cache, destinations) == F_true) return F_true;
+
+              state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
+            }
 
-            state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
             if (F_status_is_error(state->status)) return F_true;
           } // for
 
@@ -1271,9 +1301,11 @@ extern "C" {
                 no_data = F_false;
 
                 state->status = f_string_dynamic_append(internal->quote_null, &destinations->array[destinations->used].value);
-                if (F_status_is_error(state->status)) return F_true;
 
-                state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
+                if (F_status_is_error_not(state->status)) {
+                  state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
+                }
+
                 if (F_status_is_error(state->status)) return F_true;
               }
 
@@ -1289,12 +1321,14 @@ extern "C" {
             data->cache->used = 0;
 
             state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
-            if (F_status_is_error(state->status)) return F_true;
 
-            if (private_fl_payload_header_map_number_unsigned(data, state, internal, ranges.array[internal->l].stop) == F_true) return F_true;
-            if (private_fl_payload_helper_header_map_destination_write_buffer(data, state, internal, data->cache, destinations) == F_true) return F_true;
+            if (F_status_is_error_not(state->status)) {
+              if (private_fl_payload_header_map_number_unsigned(data, state, internal, ranges.array[internal->l].stop) == F_true) return F_true;
+              if (private_fl_payload_helper_header_map_destination_write_buffer(data, state, internal, data->cache, destinations) == F_true) return F_true;
+
+              state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
+            }
 
-            state->status = f_string_dynamic_append_assure(f_fss_extended_next_s, &destinations->array[destinations->used].value);
             if (F_status_is_error(state->status)) return F_true;
           } // for
 
@@ -1379,9 +1413,11 @@ extern "C" {
 
         if (data->flag & f_fss_payload_header_map_flag_join_strings_e) {
           state->status = f_string_dynamic_append(string_static, data->cache);
-          if (F_status_is_error(state->status)) return F_true;
 
-          state->status = f_string_dynamic_append_assure(f_string_space_s, data->cache);
+          if (F_status_is_error_not(state->status)) {
+            state->status = f_string_dynamic_append_assure(f_string_space_s, data->cache);
+          }
+
           if (F_status_is_error(state->status)) return F_true;
         }
         else {
index 522fad3584d2d977f997033828d36edfc0940f69..9a0918a3de1f74ef7bbe154b654c7dbd069e041e 100644 (file)
@@ -27,7 +27,7 @@ extern "C" {
     }
 
     // Return found nothing if this line only contains white space and delimit placeholders.
-    if (buffer.string[range->start] == f_fss_eol_s.string[0]) {
+    if (state->status == F_okay_eol) {
 
       // Move the start position to after the EOL.
       ++range->start;
@@ -205,7 +205,7 @@ extern "C" {
             return;
           }
 
-          if (buffer.string[range->start] == f_fss_eol_s.string[0]) {
+          if (state->status == F_okay_eol) {
             found->stop = range->start;
             range->start = slash_first;
 
@@ -345,7 +345,7 @@ extern "C" {
           return;
         }
 
-        if (buffer.string[range->start] == f_fss_eol_s.string[0]) {
+        if (state->status == F_okay_eol) {
           found->start = start;
           found->stop = stop + macro_f_utf_byte_width(buffer.string[stop]) - 1;
           ++range->start;