]> Kevux Git Server - fll/commitdiff
Feature: Additional status codes, F_case, F_match, F_miss, and F_word.
authorKevin Day <Kevin@kevux.org>
Fri, 21 Nov 2025 04:56:16 +0000 (22:56 -0600)
committerKevin Day <Kevin@kevux.org>
Fri, 21 Nov 2025 04:56:16 +0000 (22:56 -0600)
Along with their inverses:
- F_case_not
- F_match_not
- F_miss_not
- F_word_not

level_0/f_status/c/status.h
level_0/f_status_string/c/status_string.c
level_0/f_status_string/c/status_string.h
level_0/f_status_string/tests/unit/c/test-status_string-to.c
level_1/fl_status_string/c/status_string.c
level_1/fl_status_string/tests/unit/c/test-status_string-from.c

index d2d8e5bbdae6baf4d064a3b041ab8a57c24a9338..ab8e5e7cce79564e921d21eb8428cf1f1a5d928e 100644 (file)
@@ -331,6 +331,8 @@ extern "C" {
     F_call_not,
     F_capability,
     F_capability_not,
+    F_case,
+    F_case_not,
     F_character,
     F_character_not,
     F_child,
@@ -617,6 +619,8 @@ extern "C" {
     F_lock_write_not,
     F_loop,
     F_loop_not,
+    F_match,
+    F_match_not,
     F_maximum,
     F_maximum_not,
     F_maybe,
@@ -631,6 +635,8 @@ extern "C" {
     F_minimum_not,
     F_minor,
     F_minor_not,
+    F_miss,
+    F_miss_not,
     F_moderate,
     F_moderate_not,
     F_mount,
@@ -895,6 +901,8 @@ extern "C" {
     F_warning_not,
     F_wish,
     F_wish_not,
+    F_word,
+    F_word_not,
     F_world,
     F_world_not,
     F_write,
index 67bcfe8ed51aeb131c057dff457862d06cb2dff9..e075a0d15af44d2032d11f8ecdc906ced5484283 100644 (file)
@@ -172,6 +172,8 @@ extern "C" {
   const f_string_static_t f_status_call_not_s = macro_f_string_static_t_initialize_1(F_status_call_not_s, 0, F_status_call_not_s_length);
   const f_string_static_t f_status_capability_s = macro_f_string_static_t_initialize_1(F_status_capability_s, 0, F_status_capability_s_length);
   const f_string_static_t f_status_capability_not_s = macro_f_string_static_t_initialize_1(F_status_capability_not_s, 0, F_status_capability_not_s_length);
+  const f_string_static_t f_status_case_s = macro_f_string_static_t_initialize_1(F_status_case_s, 0, F_status_case_s_length);
+  const f_string_static_t f_status_case_not_s = macro_f_string_static_t_initialize_1(F_status_case_not_s, 0, F_status_case_not_s_length);
   const f_string_static_t f_status_character_s = macro_f_string_static_t_initialize_1(F_status_character_s, 0, F_status_character_s_length);
   const f_string_static_t f_status_character_not_s = macro_f_string_static_t_initialize_1(F_status_character_not_s, 0, F_status_character_not_s_length);
   const f_string_static_t f_status_child_s = macro_f_string_static_t_initialize_1(F_status_child_s, 0, F_status_child_s_length);
@@ -458,6 +460,8 @@ extern "C" {
   const f_string_static_t f_status_lock_write_not_s = macro_f_string_static_t_initialize_1(F_status_lock_write_not_s, 0, F_status_lock_write_not_s_length);
   const f_string_static_t f_status_loop_s = macro_f_string_static_t_initialize_1(F_status_loop_s, 0, F_status_loop_s_length);
   const f_string_static_t f_status_loop_not_s = macro_f_string_static_t_initialize_1(F_status_loop_not_s, 0, F_status_loop_not_s_length);
+  const f_string_static_t f_status_match_s = macro_f_string_static_t_initialize_1(F_status_match_s, 0, F_status_match_s_length);
+  const f_string_static_t f_status_match_not_s = macro_f_string_static_t_initialize_1(F_status_match_not_s, 0, F_status_match_not_s_length);
   const f_string_static_t f_status_maximum_s = macro_f_string_static_t_initialize_1(F_status_maximum_s, 0, F_status_maximum_s_length);
   const f_string_static_t f_status_maximum_not_s = macro_f_string_static_t_initialize_1(F_status_maximum_not_s, 0, F_status_maximum_not_s_length);
   const f_string_static_t f_status_maybe_s = macro_f_string_static_t_initialize_1(F_status_maybe_s, 0, F_status_maybe_s_length);
@@ -472,6 +476,8 @@ extern "C" {
   const f_string_static_t f_status_minimum_not_s = macro_f_string_static_t_initialize_1(F_status_minimum_not_s, 0, F_status_minimum_not_s_length);
   const f_string_static_t f_status_minor_s = macro_f_string_static_t_initialize_1(F_status_minor_s, 0, F_status_minor_s_length);
   const f_string_static_t f_status_minor_not_s = macro_f_string_static_t_initialize_1(F_status_minor_not_s, 0, F_status_minor_not_s_length);
+  const f_string_static_t f_status_miss_s = macro_f_string_static_t_initialize_1(F_status_miss_s, 0, F_status_miss_s_length);
+  const f_string_static_t f_status_miss_not_s = macro_f_string_static_t_initialize_1(F_status_miss_not_s, 0, F_status_miss_not_s_length);
   const f_string_static_t f_status_moderate_s = macro_f_string_static_t_initialize_1(F_status_moderate_s, 0, F_status_moderate_s_length);
   const f_string_static_t f_status_moderate_not_s = macro_f_string_static_t_initialize_1(F_status_moderate_not_s, 0, F_status_moderate_not_s_length);
   const f_string_static_t f_status_mount_s = macro_f_string_static_t_initialize_1(F_status_mount_s, 0, F_status_mount_s_length);
@@ -743,6 +749,8 @@ extern "C" {
   const f_string_static_t f_status_warning_not_s = macro_f_string_static_t_initialize_1(F_status_warning_not_s, 0, F_status_warning_not_s_length);
   const f_string_static_t f_status_wish_s = macro_f_string_static_t_initialize_1(F_status_wish_s, 0, F_status_wish_s_length);
   const f_string_static_t f_status_wish_not_s = macro_f_string_static_t_initialize_1(F_status_wish_not_s, 0, F_status_wish_not_s_length);
+  const f_string_static_t f_status_word_s = macro_f_string_static_t_initialize_1(F_status_word_s, 0, F_status_word_s_length);
+  const f_string_static_t f_status_word_not_s = macro_f_string_static_t_initialize_1(F_status_word_not_s, 0, F_status_word_not_s_length);
   const f_string_static_t f_status_world_s = macro_f_string_static_t_initialize_1(F_status_world_s, 0, F_status_world_s_length);
   const f_string_static_t f_status_world_not_s = macro_f_string_static_t_initialize_1(F_status_world_not_s, 0, F_status_world_not_s_length);
   const f_string_static_t f_status_write_s = macro_f_string_static_t_initialize_1(F_status_write_s, 0, F_status_write_s_length);
@@ -1601,6 +1609,16 @@ extern "C" {
 
         break;
 
+      case F_case:
+        *name = f_status_case_s;
+
+        break;
+
+      case F_case_not:
+        *name = f_status_case_not_s;
+
+        break;
+
       case F_character:
         *name = f_status_character_s;
 
@@ -3031,6 +3049,16 @@ extern "C" {
 
         break;
 
+      case F_match:
+        *name = f_status_match_s;
+
+        break;
+
+      case F_match_not:
+        *name = f_status_match_not_s;
+
+        break;
+
       case F_maximum:
         *name = f_status_maximum_s;
 
@@ -3101,6 +3129,16 @@ extern "C" {
 
         break;
 
+      case F_miss:
+        *name = f_status_miss_s;
+
+        break;
+
+      case F_miss_not:
+        *name = f_status_miss_not_s;
+
+        break;
+
       case F_moderate:
         *name = f_status_moderate_s;
 
@@ -4422,6 +4460,16 @@ extern "C" {
 
         break;
 
+      case F_word:
+        *name = f_status_word_s;
+
+        break;
+
+      case F_word_not:
+        *name = f_status_word_not_s;
+
+        break;
+
       case F_world:
         *name = f_status_world_s;
 
index 89fd6c9bbd4bd2bd8ae9fca09092f35664789401..ab1bc51622d7b5d997684f9ae90fc0443f96f63e 100644 (file)
@@ -332,6 +332,8 @@ extern "C" {
   #define F_status_call_not_s                 "F_call_not"
   #define F_status_capability_s               "F_capability"
   #define F_status_capability_not_s           "F_capability_not"
+  #define F_status_case_s                     "F_case"
+  #define F_status_case_not_s                 "F_case_not"
   #define F_status_character_s                "F_character"
   #define F_status_character_not_s            "F_character_not"
   #define F_status_child_s                    "F_child"
@@ -618,6 +620,8 @@ extern "C" {
   #define F_status_lock_write_not_s           "F_lock_write_not"
   #define F_status_loop_s                     "F_loop"
   #define F_status_loop_not_s                 "F_loop_not"
+  #define F_status_match_s                    "F_match"
+  #define F_status_match_not_s                "F_match_not"
   #define F_status_maximum_s                  "F_maximum"
   #define F_status_maximum_not_s              "F_maximum_not"
   #define F_status_maybe_s                    "F_maybe"
@@ -632,6 +636,8 @@ extern "C" {
   #define F_status_minimum_not_s              "F_minimum_not"
   #define F_status_minor_s                    "F_minor"
   #define F_status_minor_not_s                "F_minor_not"
+  #define F_status_miss_s                      "F_miss"
+  #define F_status_miss_not_s                  "F_miss_not"
   #define F_status_moderate_s                 "F_moderate"
   #define F_status_moderate_not_s             "F_moderate_not"
   #define F_status_mount_s                    "F_mount"
@@ -896,6 +902,8 @@ extern "C" {
   #define F_status_warning_not_s              "F_warning_not"
   #define F_status_wish_s                     "F_wish"
   #define F_status_wish_not_s                 "F_wish_not"
+  #define F_status_word_s                     "F_word"
+  #define F_status_word_not_s                 "F_word_not"
   #define F_status_world_s                    "F_world"
   #define F_status_world_not_s                "F_world_not"
   #define F_status_write_s                    "F_write"
@@ -1006,6 +1014,8 @@ extern "C" {
   #define F_status_call_not_s_length                 10
   #define F_status_capability_s_length               12
   #define F_status_capability_not_s_length           16
+  #define F_status_case_s_length                     6
+  #define F_status_case_not_s_length                 10
   #define F_status_character_s_length                11
   #define F_status_character_not_s_length            15
   #define F_status_child_s_length                    7
@@ -1292,6 +1302,8 @@ extern "C" {
   #define F_status_lock_write_not_s_length           16
   #define F_status_loop_s_length                     6
   #define F_status_loop_not_s_length                 10
+  #define F_status_match_s_length                    7
+  #define F_status_match_not_s_length                11
   #define F_status_maximum_s_length                  9
   #define F_status_maximum_not_s_length              13
   #define F_status_maybe_s_length                    7
@@ -1306,6 +1318,8 @@ extern "C" {
   #define F_status_minimum_not_s_length              13
   #define F_status_minor_s_length                    7
   #define F_status_minor_not_s_length                11
+  #define F_status_miss_s_length                     6
+  #define F_status_miss_not_s_length                 10
   #define F_status_moderate_s_length                 10
   #define F_status_moderate_not_s_length             14
   #define F_status_mount_s_length                    7
@@ -1570,6 +1584,8 @@ extern "C" {
   #define F_status_warning_not_s_length              13
   #define F_status_wish_s_length                     6
   #define F_status_wish_not_s_length                 10
+  #define F_status_word_s_length                     6
+  #define F_status_word_not_s_length                 10
   #define F_status_world_s_length                    7
   #define F_status_world_not_s_length                11
   #define F_status_write_s_length                    7
@@ -1680,6 +1696,8 @@ extern "C" {
   extern const f_string_static_t f_status_call_not_s;
   extern const f_string_static_t f_status_capability_s;
   extern const f_string_static_t f_status_capability_not_s;
+  extern const f_string_static_t f_status_case_s;
+  extern const f_string_static_t f_status_case_not_s;
   extern const f_string_static_t f_status_character_s;
   extern const f_string_static_t f_status_character_not_s;
   extern const f_string_static_t f_status_child_s;
@@ -1968,6 +1986,8 @@ extern "C" {
   extern const f_string_static_t f_status_lock_write_not_s;
   extern const f_string_static_t f_status_loop_s;
   extern const f_string_static_t f_status_loop_not_s;
+  extern const f_string_static_t f_status_match_s;
+  extern const f_string_static_t f_status_match_not_s;
   extern const f_string_static_t f_status_maximum_s;
   extern const f_string_static_t f_status_maximum_not_s;
   extern const f_string_static_t f_status_maybe_s;
@@ -1982,6 +2002,8 @@ extern "C" {
   extern const f_string_static_t f_status_minimum_not_s;
   extern const f_string_static_t f_status_minor_s;
   extern const f_string_static_t f_status_minor_not_s;
+  extern const f_string_static_t f_status_miss_s;
+  extern const f_string_static_t f_status_miss_not_s;
   extern const f_string_static_t f_status_moderate_s;
   extern const f_string_static_t f_status_moderate_not_s;
   extern const f_string_static_t f_status_mount_s;
@@ -2246,6 +2268,8 @@ extern "C" {
   extern const f_string_static_t f_status_warning_not_s;
   extern const f_string_static_t f_status_wish_s;
   extern const f_string_static_t f_status_wish_not_s;
+  extern const f_string_static_t f_status_word_s;
+  extern const f_string_static_t f_status_word_not_s;
   extern const f_string_static_t f_status_world_s;
   extern const f_string_static_t f_status_world_not_s;
   extern const f_string_static_t f_status_write_s;
index 6b25c58d79bc6a5919de71af7f7415ee493cbbd3..8b90a4e86f3fa5aad3169322d3f4074b30929c3f 100644 (file)
@@ -198,6 +198,8 @@ void test__f_status_string_to__works(void **state) {
     F_call_not,
     F_capability,
     F_capability_not,
+    F_case,
+    F_case_not,
     F_character,
     F_character_not,
     F_child,
@@ -484,6 +486,8 @@ void test__f_status_string_to__works(void **state) {
     F_lock_write_not,
     F_loop,
     F_loop_not,
+    F_match,
+    F_match_not,
     F_maximum,
     F_maximum_not,
     F_maybe,
@@ -498,6 +502,8 @@ void test__f_status_string_to__works(void **state) {
     F_minimum_not,
     F_minor,
     F_minor_not,
+    F_miss,
+    F_miss_not,
     F_moderate,
     F_moderate_not,
     F_mount,
@@ -762,6 +768,8 @@ void test__f_status_string_to__works(void **state) {
     F_warning_not,
     F_wish,
     F_wish_not,
+    F_word,
+    F_word_not,
     F_world,
     F_world_not,
     F_write,
@@ -941,6 +949,8 @@ void test__f_status_string_to__works(void **state) {
     f_status_call_not_s,
     f_status_capability_s,
     f_status_capability_not_s,
+    f_status_case_s,
+    f_status_case_not_s,
     f_status_character_s,
     f_status_character_not_s,
     f_status_child_s,
@@ -1227,6 +1237,8 @@ void test__f_status_string_to__works(void **state) {
     f_status_lock_write_not_s,
     f_status_loop_s,
     f_status_loop_not_s,
+    f_status_match_s,
+    f_status_match_not_s,
     f_status_maximum_s,
     f_status_maximum_not_s,
     f_status_maybe_s,
@@ -1241,6 +1253,8 @@ void test__f_status_string_to__works(void **state) {
     f_status_minimum_not_s,
     f_status_minor_s,
     f_status_minor_not_s,
+    f_status_miss_s,
+    f_status_miss_not_s,
     f_status_moderate_s,
     f_status_moderate_not_s,
     f_status_mount_s,
@@ -1505,6 +1519,8 @@ void test__f_status_string_to__works(void **state) {
     f_status_warning_not_s,
     f_status_wish_s,
     f_status_wish_not_s,
+    f_status_word_s,
+    f_status_word_not_s,
     f_status_world_s,
     f_status_world_not_s,
     f_status_write_s,
@@ -1515,7 +1531,7 @@ void test__f_status_string_to__works(void **state) {
     f_status_status_code_last_s,
   };
 
-  for (uint16_t i = 0; i < 740; ++i) {
+  for (uint16_t i = 0; i < 748; ++i) {
 
     f_string_static_t result = f_string_static_t_initialize;
 
index 1265f442918faf454ca6e071f3d0238c52e35fe7..32479059a687eacebadaa92ab8382bd6fe831158 100644 (file)
@@ -1047,6 +1047,18 @@ extern "C" {
       return F_okay;
     }
 
+    if (f_compare_dynamic(name, f_status_case_s) == F_equal_to) {
+      *code = F_case;
+
+      return F_okay;
+    }
+
+    if (f_compare_dynamic(name, f_status_case_not_s) == F_equal_to) {
+      *code = F_case_not;
+
+      return F_okay;
+    }
+
     if (f_compare_dynamic(name, f_status_child_s) == F_equal_to) {
       *code = F_child;
 
@@ -2761,6 +2773,18 @@ extern "C" {
       return F_okay;
     }
 
+    if (f_compare_dynamic(name, f_status_match_s) == F_equal_to) {
+      *code = F_match;
+
+      return F_okay;
+    }
+
+    if (f_compare_dynamic(name, f_status_match_not_s) == F_equal_to) {
+      *code = F_match_not;
+
+      return F_okay;
+    }
+
     if (f_compare_dynamic(name, f_status_maximum_s) == F_equal_to) {
       *code = F_maximum;
 
@@ -2845,6 +2869,18 @@ extern "C" {
       return F_okay;
     }
 
+    if (f_compare_dynamic(name, f_status_miss_s) == F_equal_to) {
+      *code = F_miss;
+
+      return F_okay;
+    }
+
+    if (f_compare_dynamic(name, f_status_miss_not_s) == F_equal_to) {
+      *code = F_miss_not;
+
+      return F_okay;
+    }
+
     if (f_compare_dynamic(name, f_status_moderate_s) == F_equal_to) {
       *code = F_moderate;
 
@@ -4428,6 +4464,18 @@ extern "C" {
       return F_okay;
     }
 
+    if (f_compare_dynamic(name, f_status_word_s) == F_equal_to) {
+      *code = F_word;
+
+      return F_okay;
+    }
+
+    if (f_compare_dynamic(name, f_status_word_not_s) == F_equal_to) {
+      *code = F_word_not;
+
+      return F_okay;
+    }
+
     if (f_compare_dynamic(name, f_status_world_s) == F_equal_to) {
       *code = F_world;
 
index a57232e0ce4cbc4154ff019c8c55d92899c3f7c2..f41b6bd05f03a88d21c93145c8b3e3553758ea12 100644 (file)
@@ -214,6 +214,8 @@ void test__fl_status_string_from__works(void **state) {
     F_call_not,
     F_capability,
     F_capability_not,
+    F_case,
+    F_case_not,
     F_character,
     F_character_not,
     F_child,
@@ -500,6 +502,8 @@ void test__fl_status_string_from__works(void **state) {
     F_lock_write_not,
     F_loop,
     F_loop_not,
+    F_match,
+    F_match_not,
     F_maximum,
     F_maximum_not,
     F_maybe,
@@ -514,6 +518,8 @@ void test__fl_status_string_from__works(void **state) {
     F_minimum_not,
     F_minor,
     F_minor_not,
+    F_miss,
+    F_miss_not,
     F_moderate,
     F_moderate_not,
     F_mount,
@@ -778,6 +784,8 @@ void test__fl_status_string_from__works(void **state) {
     F_warning_not,
     F_wish,
     F_wish_not,
+    F_word,
+    F_word_not,
     F_world,
     F_world_not,
     F_write,
@@ -957,6 +965,8 @@ void test__fl_status_string_from__works(void **state) {
     f_status_call_not_s,
     f_status_capability_s,
     f_status_capability_not_s,
+    f_status_case_s,
+    f_status_case_not_s,
     f_status_character_s,
     f_status_character_not_s,
     f_status_child_s,
@@ -1243,6 +1253,8 @@ void test__fl_status_string_from__works(void **state) {
     f_status_lock_write_not_s,
     f_status_loop_s,
     f_status_loop_not_s,
+    f_status_match_s,
+    f_status_match_not_s,
     f_status_maximum_s,
     f_status_maximum_not_s,
     f_status_maybe_s,
@@ -1257,6 +1269,8 @@ void test__fl_status_string_from__works(void **state) {
     f_status_minimum_not_s,
     f_status_minor_s,
     f_status_minor_not_s,
+    f_status_miss_s,
+    f_status_miss_not_s,
     f_status_moderate_s,
     f_status_moderate_not_s,
     f_status_mount_s,
@@ -1521,6 +1535,8 @@ void test__fl_status_string_from__works(void **state) {
     f_status_warning_not_s,
     f_status_wish_s,
     f_status_wish_not_s,
+    f_status_word_s,
+    f_status_word_not_s,
     f_status_world_s,
     f_status_world_not_s,
     f_status_write_s,
@@ -1531,7 +1547,7 @@ void test__fl_status_string_from__works(void **state) {
     f_status_status_code_last_s,
   };
 
-  for (uint16_t i = 0; i < 740; ++i) {
+  for (uint16_t i = 0; i < 748; ++i) {
 
     f_status_t result = F_okay;