From: Kevin Day Date: Sun, 5 Sep 2021 22:06:54 +0000 (-0500) Subject: Update: Allow empty Objects in FSS Basic and Extended Lists. X-Git-Tag: 0.5.5~4 X-Git-Url: https://git.kevux.org/?a=commitdiff_plain;h=981373935cf9201c6962dbafaa650f700cd64d07;p=fll Update: Allow empty Objects in FSS Basic and Extended Lists. This actually includes FSS Embedded List as well, but the embedded list already appears to allow this. --- diff --git a/level_3/fss_basic_list_read/c/private-fss_basic_list_read.c b/level_3/fss_basic_list_read/c/private-fss_basic_list_read.c index 67797e2..b39d2fb 100644 --- a/level_3/fss_basic_list_read/c/private-fss_basic_list_read.c +++ b/level_3/fss_basic_list_read/c/private-fss_basic_list_read.c @@ -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 diff --git a/level_3/fss_basic_read/c/private-fss_basic_read.c b/level_3/fss_basic_read/c/private-fss_basic_read.c index 605bce0..865b51b 100644 --- a/level_3/fss_basic_read/c/private-fss_basic_read.c +++ b/level_3/fss_basic_read/c/private-fss_basic_read.c @@ -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 diff --git a/level_3/fss_extended_list_read/c/private-fss_extended_list_read.c b/level_3/fss_extended_list_read/c/private-fss_extended_list_read.c index 7f7d1e9..baa455d 100644 --- a/level_3/fss_extended_list_read/c/private-fss_extended_list_read.c +++ b/level_3/fss_extended_list_read/c/private-fss_extended_list_read.c @@ -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 diff --git a/level_3/fss_extended_read/c/private-fss_extended_read.c b/level_3/fss_extended_read/c/private-fss_extended_read.c index cd9c248..51db43b 100644 --- a/level_3/fss_extended_read/c/private-fss_extended_read.c +++ b/level_3/fss_extended_read/c/private-fss_extended_read.c @@ -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 diff --git a/specifications/fss-0002.txt b/specifications/fss-0002.txt index bc5df3a..6d01665 100644 --- a/specifications/fss-0002.txt +++ b/specifications/fss-0002.txt @@ -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 ':'. diff --git a/specifications/fss-0003.txt b/specifications/fss-0003.txt index eedb7de..47d6c6e 100644 --- a/specifications/fss-0003.txt +++ b/specifications/fss-0003.txt @@ -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 '{'.