]> Kevux Git Server - fll/commitdiff
Update: Allow empty Objects in FSS Basic and Extended Lists.
authorKevin Day <thekevinday@gmail.com>
Sun, 5 Sep 2021 22:06:54 +0000 (17:06 -0500)
committerKevin Day <thekevinday@gmail.com>
Sun, 5 Sep 2021 22:09:07 +0000 (17:09 -0500)
This actually includes FSS Embedded List as well, but the embedded list already appears to allow this.

level_3/fss_basic_list_read/c/private-fss_basic_list_read.c
level_3/fss_basic_read/c/private-fss_basic_read.c
level_3/fss_extended_list_read/c/private-fss_extended_list_read.c
level_3/fss_extended_read/c/private-fss_extended_read.c
specifications/fss-0002.txt
specifications/fss-0003.txt

index 67797e2f6f7efdf8cabeb886c93a6a1dce8b1a34..b39d2fb39cb9a1a76749ec3c778a8a24c0f7402c 100644 (file)
@@ -159,20 +159,6 @@ extern "C" {
 
             return status;
           }
-
-          if (!data->depths.array[i].value_name.used) {
-            if (main->error.verbosity != f_console_verbosity_quiet) {
-              flockfile(main->error.to.stream);
-
-              fl_print_format("%c%[%sThe '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix, main->error.context);
-              fl_print_format("%[%s%s%]", main->error.to.stream, main->error.notable, f_console_symbol_long_enable_s, fss_basic_list_read_long_name, main->error.notable);
-              fl_print_format("%[' must not be an empty string.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
-
-              funlockfile(main->error.to.stream);
-            }
-
-            return F_status_set_error(F_parameter);
-          }
         } // for
       }
     } // for
index 605bce04b3145601c9022f2aa30b05fdc6f745a1..865b51bb9d4925df874f87945f5f7b228a6e38c6 100644 (file)
@@ -136,20 +136,6 @@ extern "C" {
 
             return status;
           }
-
-          if (!data->depths.array[i].value_name.used) {
-            if (main->error.verbosity != f_console_verbosity_quiet) {
-              flockfile(main->error.to.stream);
-
-              fl_print_format("%c%[%sThe '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix, main->error.context);
-              fl_print_format("%[%s%s%]", main->error.to.stream, main->error.notable, f_console_symbol_long_enable_s, fss_basic_read_long_name, main->error.notable);
-              fl_print_format("%[' must not be an empty string.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
-
-              funlockfile(main->error.to.stream);
-            }
-
-            return F_status_set_error(F_parameter);
-          }
         } // for
       }
     } // for
index 7f7d1e9fd73900664b2b024cc8af8c0161f01dd5..baa455d926118b15eaa9ea92ec157f3422c8527a 100644 (file)
@@ -159,20 +159,6 @@ extern "C" {
 
             return status;
           }
-
-          if (!data->depths.array[i].value_name.used) {
-            if (main->error.verbosity != f_console_verbosity_quiet) {
-              flockfile(main->error.to.stream);
-
-              fl_print_format("%c%[%sThe '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix, main->error.context);
-              fl_print_format("%[%s%s%]", main->error.to.stream, main->error.notable, f_console_symbol_long_enable_s, fss_extended_list_read_long_name, main->error.notable);
-              fl_print_format("%[' must not be an empty string.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
-
-              funlockfile(main->error.to.stream);
-            }
-
-            return F_status_set_error(F_parameter);
-          }
         } // for
       }
     } // for
index cd9c248bc3c551985e026f8323c7dcc4f6b6af09..51db43bdae8f0e40b248307890e5ca29b40e2166 100644 (file)
@@ -163,20 +163,6 @@ extern "C" {
 
             return status;
           }
-
-          if (!data->depths.array[i].value_name.used) {
-            if (main->error.verbosity != f_console_verbosity_quiet) {
-              flockfile(main->error.to.stream);
-
-              fl_print_format("%c%[%sThe '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix, main->error.context);
-              fl_print_format("%[%s%s%]", main->error.to.stream, main->error.notable, f_console_symbol_long_enable_s, fss_extended_read_long_name, main->error.notable);
-              fl_print_format("%[' must not be an empty string.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
-
-              funlockfile(main->error.to.stream);
-            }
-
-            return F_status_set_error(F_parameter);
-          }
         } // for
       }
     } // for
index bc5df3ac6a264a2b57ac85a373801c33b1dccadf..6d016652c9039560584f19a505738210ca44e42c 100644 (file)
@@ -13,6 +13,8 @@ Featureless Settings Specification: 0002 - Basic List:
   There is no single-quote or double-quote delimitation in this specification.
   Only the colon that would result in a valid Object can be delimited.
 
+  Empty Objects are allowed, that is, the length of the object may be 0.
+
   Key\:
     \s = whitespace, except newline.
     \o = any printable character, except unescaped ':'.
index eedb7de47276a91c03c8cded7f926e4dedaa5694..47d6c6eb1e7274592106461d574642327d1060a0 100644 (file)
@@ -19,6 +19,8 @@ Featureless Settings Specification: 0003 - Extended List:
   Each delimit slash in a delimitable open-brace is treated as a potential delimit such that two slashes represents a single delimited slash ('\\\{' would represent '\{').
   Only the first delimit slash in a delimitable close-brace is treated as a potential delimit ('\\\}' would represent '\\}').
 
+  Empty Objects are allowed, that is, the length of the object may be 0.
+
   Key\:
     \s = whitespace, except newline.
     \o = any printable character, except unescaped '{'.