From efaf6d9ae2ac11bfdee23e7ebf0ebd56d3de169b Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Thu, 27 Apr 2023 22:00:47 -0500 Subject: [PATCH] Progress: Make some progress towards getting fss_read up and running. This mostly focuses on the print help functions. Fix the incorrectly spelled "aplied". Fix the help messages in the read man pages. Add *_format_code_name_* for an upper-case human friendly name. Add this to the fss_write as well given that the programs follow the "programs as a library" design. --- level_3/fss_basic_list_read/c/common.h | 2 +- level_3/fss_read/c/basic/common.c | 1 + level_3/fss_read/c/basic/common.h | 3 + level_3/fss_read/c/basic/print.c | 10 +- level_3/fss_read/c/basic_list/common.c | 1 + level_3/fss_read/c/basic_list/common.h | 3 + level_3/fss_read/c/basic_list/print.c | 10 +- level_3/fss_read/c/embedded_list/common.c | 1 + level_3/fss_read/c/embedded_list/common.h | 3 + level_3/fss_read/c/embedded_list/print.c | 13 +- level_3/fss_read/c/extended/common.c | 1 + level_3/fss_read/c/extended/common.h | 3 + level_3/fss_read/c/extended/print.c | 10 +- level_3/fss_read/c/extended_list/common.c | 1 + level_3/fss_read/c/extended_list/common.h | 3 + level_3/fss_read/c/extended_list/print.c | 13 +- level_3/fss_read/c/main/common.c | 4 + level_3/fss_read/c/main/common/enumeration.h | 27 +++++ level_3/fss_read/c/main/common/string.c | 8 ++ level_3/fss_read/c/main/common/string.h | 37 +++++- level_3/fss_read/c/main/main/print.c | 8 +- level_3/fss_read/c/main/print/message.c | 133 +++++++++++++++++---- level_3/fss_read/c/main/print/message.h | 30 ++++- level_3/fss_read/c/payload/common.c | 1 + level_3/fss_read/c/payload/common.h | 3 + level_3/fss_read/c/payload/print.c | 8 +- .../documentation/man/man1/fss_basic_list_read.1 | 2 +- .../data/documentation/man/man1/fss_basic_read.1 | 2 +- .../man/man1/fss_embedded_list_read.1 | 2 +- .../man/man1/fss_extended_list_read.1 | 2 +- .../documentation/man/man1/fss_extended_read.1 | 2 +- .../data/documentation/man/man1/fss_payload_read.1 | 2 +- level_3/fss_write/c/basic/common.c | 1 + level_3/fss_write/c/basic/common.h | 3 + level_3/fss_write/c/basic_list/common.c | 1 + level_3/fss_write/c/basic_list/common.h | 3 + level_3/fss_write/c/embedded_list/common.c | 1 + level_3/fss_write/c/embedded_list/common.h | 3 + level_3/fss_write/c/extended/common.c | 1 + level_3/fss_write/c/extended/common.h | 3 + level_3/fss_write/c/extended_list/common.c | 1 + level_3/fss_write/c/extended_list/common.h | 3 + level_3/fss_write/c/payload/common.c | 1 + level_3/fss_write/c/payload/common.h | 3 + 44 files changed, 294 insertions(+), 79 deletions(-) diff --git a/level_3/fss_basic_list_read/c/common.h b/level_3/fss_basic_list_read/c/common.h index 0c9a6c5..14a7272 100644 --- a/level_3/fss_basic_list_read/c/common.h +++ b/level_3/fss_basic_list_read/c/common.h @@ -258,7 +258,7 @@ extern "C" { * FSS Delimit Parameter strings. * * fss_basic_list_read_delimit_mode_*: - * - all: All delimits are to be aplied. + * - all: All delimits are to be applied. * - content: Content are to have delimits applied. * - content_greater: Content at this number or higher are to have delimits applied. * - content_greater_object: Objects and Content at this number or higher are to have delimits applied. diff --git a/level_3/fss_read/c/basic/common.c b/level_3/fss_read/c/basic/common.c index 6e6619b..14c4e2e 100644 --- a/level_3/fss_read/c/basic/common.c +++ b/level_3/fss_read/c/basic/common.c @@ -14,6 +14,7 @@ extern "C" { const f_string_static_t fss_read_format_code_long_0000_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_long_0000_s, 0, FSS_READ_format_code_long_0000_s_length); const f_string_static_t fss_read_format_code_human_0000_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_human_0000_s, 0, FSS_READ_format_code_human_0000_s_length); const f_string_static_t fss_read_format_code_machine_0000_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_machine_0000_s, 0, FSS_READ_format_code_machine_0000_s_length); + const f_string_static_t fss_read_format_code_name_0000_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_name_0000_s, 0, FSS_READ_format_code_name_0000_s_length); #endif // _di_fss_read_basic_s_ #ifdef __cplusplus diff --git a/level_3/fss_read/c/basic/common.h b/level_3/fss_read/c/basic/common.h index 2b0c72a..b40be92 100644 --- a/level_3/fss_read/c/basic/common.h +++ b/level_3/fss_read/c/basic/common.h @@ -29,6 +29,7 @@ extern "C" { #define FSS_READ_format_code_long_0000_s "fss-0000" #define FSS_READ_format_code_human_0000_s "basic" #define FSS_READ_format_code_machine_0000_s "basic" + #define FSS_READ_format_code_name_0000_s "Basic" #define FSS_READ_basic_standard_s_length 16 @@ -39,6 +40,7 @@ extern "C" { #define FSS_READ_format_code_long_0000_s_length 8 #define FSS_READ_format_code_human_0000_s_length 5 #define FSS_READ_format_code_machine_0000_s_length 5 + #define FSS_READ_format_code_name_0000_s_length 4 extern const f_string_static_t fss_read_basic_standard_s; @@ -49,6 +51,7 @@ extern "C" { extern const f_string_static_t fss_read_format_code_long_0000_s; extern const f_string_static_t fss_read_format_code_human_0000_s; extern const f_string_static_t fss_read_format_code_machine_0000_s; + extern const f_string_static_t fss_read_format_code_name_0000_s; #endif // _di_fss_read_basic_s_ #ifdef __cplusplus diff --git a/level_3/fss_read/c/basic/print.c b/level_3/fss_read/c/basic/print.c index a87aac9..d3eee9e 100644 --- a/level_3/fss_read/c/basic/print.c +++ b/level_3/fss_read/c/basic/print.c @@ -19,15 +19,11 @@ extern "C" { fll_program_print_help_usage(print, fss_read_basic_program_name_s, f_string_empty_s); - fss_read_print_message_help_pipe(print); - - fss_read_print_message_help_end_next(print); + fss_read_print_message_help_note_header(print, fss_read_format_code_short_0000_s, fss_read_format_code_name_0000_s); - fl_print_format("%r The FSS-0000 (Basic) specification does not support multi-line Content, therefore the parameter '%[%r%r%]'", print->to, f_string_eol_s, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_prepend_s, print->set->notable); - fl_print_format(" does nothing.%r%r", print->to, f_string_eol_s, f_string_eol_s); + fss_read_print_message_help_pipe(print); - fl_print_format(" This program does not use the parameter '%[%r%r%]', which therefore does nothing.%r", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_ignore_s, print->set->notable, f_string_eol_s); - fl_print_format(" This parameter requires two values.%r", print->to, f_string_eol_s); + fss_read_print_message_help_note(print, F_false); f_file_stream_flush(print->to); f_file_stream_unlock(print->to); diff --git a/level_3/fss_read/c/basic_list/common.c b/level_3/fss_read/c/basic_list/common.c index 6674ef0..4f89ff2 100644 --- a/level_3/fss_read/c/basic_list/common.c +++ b/level_3/fss_read/c/basic_list/common.c @@ -14,6 +14,7 @@ extern "C" { const f_string_static_t fss_read_format_code_long_0002_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_long_0002_s, 0, FSS_READ_format_code_long_0002_s_length); const f_string_static_t fss_read_format_code_human_0002_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_human_0002_s, 0, FSS_READ_format_code_human_0002_s_length); const f_string_static_t fss_read_format_code_machine_0002_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_machine_0002_s, 0, FSS_READ_format_code_machine_0002_s_length); + const f_string_static_t fss_read_format_code_name_0002_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_name_0002_s, 0, FSS_READ_format_code_name_0002_s_length); #endif // _di_fss_read_basic_list_s_ #ifdef __cplusplus diff --git a/level_3/fss_read/c/basic_list/common.h b/level_3/fss_read/c/basic_list/common.h index 78d201f..a75e145 100644 --- a/level_3/fss_read/c/basic_list/common.h +++ b/level_3/fss_read/c/basic_list/common.h @@ -29,6 +29,7 @@ extern "C" { #define FSS_READ_format_code_long_0002_s "fss-0002" #define FSS_READ_format_code_human_0002_s "basic list" #define FSS_READ_format_code_machine_0002_s "basic_list" + #define FSS_READ_format_code_name_0002_s "Basic List" #define FSS_READ_basic_list_standard_s_length 21 @@ -39,6 +40,7 @@ extern "C" { #define FSS_READ_format_code_long_0002_s_length 8 #define FSS_READ_format_code_human_0002_s_length 10 #define FSS_READ_format_code_machine_0002_s_length 10 + #define FSS_READ_format_code_name_0002_s_length 10 extern const f_string_static_t fss_read_basic_list_standard_s; @@ -49,6 +51,7 @@ extern "C" { extern const f_string_static_t fss_read_format_code_long_0002_s; extern const f_string_static_t fss_read_format_code_human_0002_s; extern const f_string_static_t fss_read_format_code_machine_0002_s; + extern const f_string_static_t fss_read_format_code_name_0002_s; #endif // _di_fss_read_basic_list_s_ #ifdef __cplusplus diff --git a/level_3/fss_read/c/basic_list/print.c b/level_3/fss_read/c/basic_list/print.c index 1f8a055..66f64e4 100644 --- a/level_3/fss_read/c/basic_list/print.c +++ b/level_3/fss_read/c/basic_list/print.c @@ -19,15 +19,11 @@ extern "C" { fll_program_print_help_usage(print, fss_read_basic_list_program_name_s, f_string_empty_s); - fss_read_print_message_help_pipe(print); - - fss_read_print_message_help_end_next(print); + fss_read_print_message_help_note_header(print, fss_read_format_code_short_0002_s, fss_read_format_code_name_0002_s); - fl_print_format("%r The FSS-0002 (Basic List) specification does not support quoted names, therefore the parameters '%[%r%r%]'", print->to, f_string_eol_s, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_single_s, print->set->notable); - fl_print_format(" and '%[%r%r%]' do nothing.%r%r", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_double_s, print->set->notable, f_string_eol_s, f_string_eol_s); + fss_read_print_message_help_pipe(print); - fl_print_format(" This program does not use the parameter '%[%r%r%]', which therefore does nothing.%r", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_ignore_s, print->set->notable, f_string_eol_s); - fl_print_format(" This parameter requires two values.%r", print->to, f_string_eol_s); + fss_read_print_message_help_note(print, F_true); f_file_stream_flush(print->to); f_file_stream_unlock(print->to); diff --git a/level_3/fss_read/c/embedded_list/common.c b/level_3/fss_read/c/embedded_list/common.c index dce430f..ee84c79 100644 --- a/level_3/fss_read/c/embedded_list/common.c +++ b/level_3/fss_read/c/embedded_list/common.c @@ -14,6 +14,7 @@ extern "C" { const f_string_static_t fss_read_format_code_long_0008_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_long_0008_s, 0, FSS_READ_format_code_long_0008_s_length); const f_string_static_t fss_read_format_code_human_0008_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_human_0008_s, 0, FSS_READ_format_code_human_0008_s_length); const f_string_static_t fss_read_format_code_machine_0008_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_machine_0008_s, 0, FSS_READ_format_code_machine_0008_s_length); + const f_string_static_t fss_read_format_code_name_0008_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_name_0008_s, 0, FSS_READ_format_code_name_0008_s_length); #endif // _di_fss_read_embedded_list_s_ #ifdef __cplusplus diff --git a/level_3/fss_read/c/embedded_list/common.h b/level_3/fss_read/c/embedded_list/common.h index 8f97e8a..2d600b0 100644 --- a/level_3/fss_read/c/embedded_list/common.h +++ b/level_3/fss_read/c/embedded_list/common.h @@ -29,6 +29,7 @@ extern "C" { #define FSS_READ_format_code_long_0008_s "fss-0008" #define FSS_READ_format_code_human_0008_s "embedded list" #define FSS_READ_format_code_machine_0008_s "embedded_list" + #define FSS_READ_format_code_name_0008_s "Embedded List" #define FSS_READ_embedded_list_standard_s_length 24 @@ -39,6 +40,7 @@ extern "C" { #define FSS_READ_format_code_long_0008_s_length 8 #define FSS_READ_format_code_human_0008_s_length 13 #define FSS_READ_format_code_machine_0008_s_length 13 + #define FSS_READ_format_code_name_0008_s_length 13 extern const f_string_static_t fss_read_embedded_list_standard_s; @@ -49,6 +51,7 @@ extern "C" { extern const f_string_static_t fss_read_format_code_long_0008_s; extern const f_string_static_t fss_read_format_code_human_0008_s; extern const f_string_static_t fss_read_format_code_machine_0008_s; + extern const f_string_static_t fss_read_format_code_name_0008_s; #endif // _di_fss_read_embedded_list_s_ #ifdef __cplusplus diff --git a/level_3/fss_read/c/embedded_list/print.c b/level_3/fss_read/c/embedded_list/print.c index a363b41..bac7ecf 100644 --- a/level_3/fss_read/c/embedded_list/print.c +++ b/level_3/fss_read/c/embedded_list/print.c @@ -19,18 +19,11 @@ extern "C" { fll_program_print_help_usage(print, fss_read_embedded_list_program_name_s, f_string_empty_s); - fss_read_print_message_help_pipe(print); - - fss_read_print_message_help_end_next(print); + fss_read_print_message_help_note_header(print, fss_read_format_code_short_0008_s, fss_read_format_code_name_0008_s); - fl_print_format("%r The FSS-0008 (Embedded List) specification does not support quoted names, therefore the parameters '%[%r%r%]'", print->to, f_string_eol_s, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_single_s, print->set->notable); - fl_print_format(" and '%[%r%r%]' do nothing.%r%r", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_double_s, print->set->notable, f_string_eol_s, f_string_eol_s); + fss_read_print_message_help_pipe(print); - fl_print_format(" The parameter '%[%r%r%]' designates to not escape any valid nested Object or Content within some Content.%r", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_ignore_s, print->set->notable, f_string_eol_s); - fl_print_format(" This parameter requires two values.%r", print->to, f_string_eol_s); - fl_print_format(" This parameter is not used for ignoring anything from the input pipe.%r", print->to, f_string_eol_s); - fl_print_format(" This parameter must be specified after a '%[%r%r%]'", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_content_s, print->set->notable); - fl_print_format(" parameter and this applies only to the Content represented by that specific '%[%r%r%]' parameter.%r", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_content_s, print->set->notable, f_string_eol_s); + fss_read_print_message_help_note(print, F_true); f_file_stream_flush(print->to); f_file_stream_unlock(print->to); diff --git a/level_3/fss_read/c/extended/common.c b/level_3/fss_read/c/extended/common.c index 7b3a453..b58d184 100644 --- a/level_3/fss_read/c/extended/common.c +++ b/level_3/fss_read/c/extended/common.c @@ -14,6 +14,7 @@ extern "C" { const f_string_static_t fss_read_format_code_long_0001_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_long_0001_s, 0, FSS_READ_format_code_long_0001_s_length); const f_string_static_t fss_read_format_code_human_0001_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_human_0001_s, 0, FSS_READ_format_code_human_0001_s_length); const f_string_static_t fss_read_format_code_machine_0001_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_machine_0001_s, 0, FSS_READ_format_code_machine_0001_s_length); + const f_string_static_t fss_read_format_code_name_0001_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_name_0001_s, 0, FSS_READ_format_code_name_0001_s_length); #endif // _di_fss_read_extended_s_ #ifdef __cplusplus diff --git a/level_3/fss_read/c/extended/common.h b/level_3/fss_read/c/extended/common.h index 29a8fef..291816e 100644 --- a/level_3/fss_read/c/extended/common.h +++ b/level_3/fss_read/c/extended/common.h @@ -29,6 +29,7 @@ extern "C" { #define FSS_READ_format_code_long_0001_s "fss-0001" #define FSS_READ_format_code_human_0001_s "extended" #define FSS_READ_format_code_machine_0001_s "extended" + #define FSS_READ_format_code_name_0001_s "Extended" #define FSS_READ_extended_standard_s_length 19 @@ -39,6 +40,7 @@ extern "C" { #define FSS_READ_format_code_long_0001_s_length 8 #define FSS_READ_format_code_human_0001_s_length 8 #define FSS_READ_format_code_machine_0001_s_length 8 + #define FSS_READ_format_code_name_0001_s_length 8 extern const f_string_static_t fss_read_extended_standard_s; @@ -49,6 +51,7 @@ extern "C" { extern const f_string_static_t fss_read_format_code_long_0001_s; extern const f_string_static_t fss_read_format_code_human_0001_s; extern const f_string_static_t fss_read_format_code_machine_0001_s; + extern const f_string_static_t fss_read_format_code_name_0001_s; #endif // _di_fss_read_extended_s_ #ifdef __cplusplus diff --git a/level_3/fss_read/c/extended/print.c b/level_3/fss_read/c/extended/print.c index 9975144..cc763dd 100644 --- a/level_3/fss_read/c/extended/print.c +++ b/level_3/fss_read/c/extended/print.c @@ -19,15 +19,11 @@ extern "C" { fll_program_print_help_usage(print, fss_read_extended_program_name_s, f_string_empty_s); - fss_read_print_message_help_pipe(print); - - fss_read_print_message_help_end_next(print); + fss_read_print_message_help_note_header(print, fss_read_format_code_short_0001_s, fss_read_format_code_name_0001_s); - fl_print_format("%r The FSS-0001 (Extended) specification does not support multi-line Content, therefore the parameter '%[%r%r%]'", print->to, f_string_eol_s, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_prepend_s, print->set->notable); - fl_print_format(" does nothing.%r%r", print->to, f_string_eol_s, f_string_eol_s); + fss_read_print_message_help_pipe(print); - fl_print_format(" This program does not use the parameter '%[%r%r%]', which therefore does nothing.%r", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_ignore_s, print->set->notable, f_string_eol_s); - fl_print_format(" This parameter requires two values.%r", print->to, f_string_eol_s); + fss_read_print_message_help_note(print, F_false); f_file_stream_flush(print->to); f_file_stream_unlock(print->to); diff --git a/level_3/fss_read/c/extended_list/common.c b/level_3/fss_read/c/extended_list/common.c index d4bc37e..3d61566 100644 --- a/level_3/fss_read/c/extended_list/common.c +++ b/level_3/fss_read/c/extended_list/common.c @@ -14,6 +14,7 @@ extern "C" { const f_string_static_t fss_read_format_code_long_0003_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_long_0003_s, 0, FSS_READ_format_code_long_0003_s_length); const f_string_static_t fss_read_format_code_human_0003_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_human_0003_s, 0, FSS_READ_format_code_human_0003_s_length); const f_string_static_t fss_read_format_code_machine_0003_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_machine_0003_s, 0, FSS_READ_format_code_machine_0003_s_length); + const f_string_static_t fss_read_format_code_name_0003_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_name_0003_s, 0, FSS_READ_format_code_name_0003_s_length); #endif // _di_fss_read_extended_list_s_ #ifdef __cplusplus diff --git a/level_3/fss_read/c/extended_list/common.h b/level_3/fss_read/c/extended_list/common.h index 7663d52..bb4eb49 100644 --- a/level_3/fss_read/c/extended_list/common.h +++ b/level_3/fss_read/c/extended_list/common.h @@ -29,6 +29,7 @@ extern "C" { #define FSS_READ_format_code_long_0003_s "fss-0003" #define FSS_READ_format_code_human_0003_s "extended list" #define FSS_READ_format_code_machine_0003_s "extended_list" + #define FSS_READ_format_code_name_0003_s "Extended List" #define FSS_READ_extended_list_standard_s_length 24 @@ -39,6 +40,7 @@ extern "C" { #define FSS_READ_format_code_long_0003_s_length 8 #define FSS_READ_format_code_human_0003_s_length 13 #define FSS_READ_format_code_machine_0003_s_length 13 + #define FSS_READ_format_code_name_0003_s_length 13 extern const f_string_static_t fss_read_extended_list_standard_s; @@ -49,6 +51,7 @@ extern "C" { extern const f_string_static_t fss_read_format_code_long_0003_s; extern const f_string_static_t fss_read_format_code_human_0003_s; extern const f_string_static_t fss_read_format_code_machine_0003_s; + extern const f_string_static_t fss_read_format_code_name_0003_s; #endif // _di_fss_read_extended_list_s_ #ifdef __cplusplus diff --git a/level_3/fss_read/c/extended_list/print.c b/level_3/fss_read/c/extended_list/print.c index 7170b6e..5652239 100644 --- a/level_3/fss_read/c/extended_list/print.c +++ b/level_3/fss_read/c/extended_list/print.c @@ -19,18 +19,11 @@ extern "C" { fll_program_print_help_usage(print, fss_read_extended_list_program_name_s, f_string_empty_s); - fss_read_print_message_help_pipe(print); - - fss_read_print_message_help_end_next(print); + fss_read_print_message_help_note_header(print, fss_read_format_code_short_0003_s, fss_read_format_code_name_0003_s); - fl_print_format("%r The FSS-0003 (Extended List) specification does not support quoted names, therefore the parameters '%[%r%r%]'", print->to, f_string_eol_s, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_single_s, print->set->notable); - fl_print_format(" and '%[%r%r%]' do nothing.%r%r", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_double_s, print->set->notable, f_string_eol_s, f_string_eol_s); + fss_read_print_message_help_pipe(print); - fl_print_format(" The parameter '%[%r%r%]' designates to not escape any valid nested Object or Content within some Content.%r", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_ignore_s, print->set->notable, f_string_eol_s); - fl_print_format(" This parameter requires two values.%r", print->to, f_string_eol_s); - fl_print_format(" This parameter is not used for ignoring anything from the input pipe.%r", print->to, f_string_eol_s); - fl_print_format(" This parameter must be specified after a '%[%r%r%]'", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_content_s, print->set->notable); - fl_print_format(" parameter and this applies only to the Content represented by that specific '%[%r%r%]' parameter.%r", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_content_s, print->set->notable, f_string_eol_s); + fss_read_print_message_help_note(print, F_true); f_file_stream_flush(print->to); f_file_stream_unlock(print->to); diff --git a/level_3/fss_read/c/main/common.c b/level_3/fss_read/c/main/common.c index f45451f..e4c66e3 100644 --- a/level_3/fss_read/c/main/common.c +++ b/level_3/fss_read/c/main/common.c @@ -116,6 +116,10 @@ extern "C" { if (main->program.parameters.array[fss_read_parameter_help_e].result & f_console_result_found_e) return; if (main->program.parameters.array[fss_read_parameter_version_e].result & f_console_result_found_e) return; + if (main->program.parameters.array[fss_read_parameter_strip_invalid_e].result & f_console_result_found_e) { + main->setting.flag |= fss_read_main_flag_strip_invalid_e; + } + if ((main->program.parameters.array[fss_read_parameter_file_e].result & f_console_result_value_e) && main->program.parameters.array[fss_read_parameter_file_e].values.used) { if (main->program.parameters.array[fss_read_parameter_file_e].values.used > 1) { main->setting.state.status = F_status_set_error(F_parameter); diff --git a/level_3/fss_read/c/main/common/enumeration.h b/level_3/fss_read/c/main/common/enumeration.h index 639c750..8d93568 100644 --- a/level_3/fss_read/c/main/common/enumeration.h +++ b/level_3/fss_read/c/main/common/enumeration.h @@ -123,6 +123,33 @@ extern "C" { }; // enum #endif // _di_fss_read_print_flag_e_ +/** + * FSS Delimit Parameter enumerations. + * + * fss_read_delimit_mode_*_e: + * - all: All delimits are to be applied. + * - content: Content are to have delimits applied. + * - content_greater: Content at this number or higher are to have delimits applied. + * - content_greater_object: Objects and Content at this number or higher are to have delimits applied. + * - content_lesser: Content at this number or lower are to have delimits applied. + * - content_lesser_object: Objects and Content at this number or lower are to have delimits applied. + * - content_object: Objects and Content are to have delimits applied + * - object: Objects arre to have delimits applied. + */ +#ifndef _di_fss_read_delimit_mode_e_ + enum { + fss_read_delimit_mode_none_e = 0, + fss_read_delimit_mode_all_e, + fss_read_delimit_mode_content_e, + fss_read_delimit_mode_content_greater_e, + fss_read_delimit_mode_content_greater_object_e, + fss_read_delimit_mode_content_lesser_e, + fss_read_delimit_mode_content_lesser_object_e, + fss_read_delimit_mode_content_object_e, + fss_read_delimit_mode_object_e, + }; // enum +#endif // _di_fss_read_delimit_mode_e_ + #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fss_read/c/main/common/string.c b/level_3/fss_read/c/main/common/string.c index 77e6753..3c65073 100644 --- a/level_3/fss_read/c/main/common/string.c +++ b/level_3/fss_read/c/main/common/string.c @@ -23,6 +23,14 @@ extern "C" { const f_string_static_t fss_read_string_two_s = macro_f_string_static_t_initialize_1(FSS_READ_string_two_s, 0, FSS_READ_string_two_s_length); #endif // _di_fss_read_s_ +#ifndef _di_fss_read_delimit_mode_s_ + const f_string_static_t fss_read_delimit_mode_name_none_s = macro_f_string_static_t_initialize_1(FSS_READ_delimit_mode_name_none_s, 0, FSS_READ_delimit_mode_name_none_s_length); + const f_string_static_t fss_read_delimit_mode_name_all_s = macro_f_string_static_t_initialize_1(FSS_READ_delimit_mode_name_all_s, 0, FSS_READ_delimit_mode_name_all_s_length); + const f_string_static_t fss_read_delimit_mode_name_object_s = macro_f_string_static_t_initialize_1(FSS_READ_delimit_mode_name_object_s, 0, FSS_READ_delimit_mode_name_object_s_length); + const f_string_static_t fss_read_delimit_mode_name_greater_s = macro_f_string_static_t_initialize_1(FSS_READ_delimit_mode_name_greater_s, 0, FSS_READ_delimit_mode_name_greater_s_length); + const f_string_static_t fss_read_delimit_mode_name_lesser_s = macro_f_string_static_t_initialize_1(FSS_READ_delimit_mode_name_lesser_s, 0, FSS_READ_delimit_mode_name_lesser_s_length); +#endif // _di_fss_read_delimit_mode_s_ + #ifndef _di_fss_read_parameter_s_ const f_string_static_t fss_read_short_at_s = macro_f_string_static_t_initialize_1(FSS_READ_short_at_s, 0, FSS_READ_short_at_s_length); const f_string_static_t fss_read_short_content_s = macro_f_string_static_t_initialize_1(FSS_READ_short_content_s, 0, FSS_READ_short_content_s_length); diff --git a/level_3/fss_read/c/main/common/string.h b/level_3/fss_read/c/main/common/string.h index df09115..08c4dd7 100644 --- a/level_3/fss_read/c/main/common/string.h +++ b/level_3/fss_read/c/main/common/string.h @@ -89,7 +89,7 @@ extern "C" { #endif // _di_fss_read_pipe_s_ /** - * A collection of static strings associated with FSS Payload Write. + * A collection of static strings associated with FSS Read. */ #ifndef _di_fss_read_s_ #define FSS_READ_string_two_s "two" @@ -100,6 +100,39 @@ extern "C" { #endif // _di_fss_read_s_ /** + * FSS Delimit Parameter strings. + * + * fss_read_delimit_mode_*: + * - all: All delimits are to be aplied. + * - content: Content are to have delimits applied. + * - content_greater: Content at this number or higher are to have delimits applied. + * - content_greater_object: Objects and Content at this number or higher are to have delimits applied. + * - content_lesser: Content at this number or lower are to have delimits applied. + * - content_lesser_object: Objects and Content at this number or lower are to have delimits applied. + * - content_object: Objects and Content are to have delimits applied + * - object: Objects arre to have delimits applied. + */ +#ifndef _di_fss_read_delimit_mode_s_ + #define FSS_READ_delimit_mode_name_none_s "none" + #define FSS_READ_delimit_mode_name_all_s "all" + #define FSS_READ_delimit_mode_name_object_s "object" + #define FSS_READ_delimit_mode_name_greater_s "+" + #define FSS_READ_delimit_mode_name_lesser_s "-" + + #define FSS_READ_delimit_mode_name_none_s_length 4 + #define FSS_READ_delimit_mode_name_all_s_length 3 + #define FSS_READ_delimit_mode_name_object_s_length 6 + #define FSS_READ_delimit_mode_name_greater_s_length 1 + #define FSS_READ_delimit_mode_name_lesser_s_length 1 + + extern const f_string_static_t fss_read_delimit_mode_name_none_s; + extern const f_string_static_t fss_read_delimit_mode_name_all_s; + extern const f_string_static_t fss_read_delimit_mode_name_object_s; + extern const f_string_static_t fss_read_delimit_mode_name_greater_s; + extern const f_string_static_t fss_read_delimit_mode_name_lesser_s; +#endif // _di_fss_read_delimit_mode_s_ + +/** * The main program parameters. */ #ifndef _di_fss_read_parameter_s_ @@ -150,7 +183,7 @@ extern "C" { #define FSS_READ_long_at_s_length 2 #define FSS_READ_long_content_s_length 7 - #define FSS_READ_long_columns_s_length 8 + #define FSS_READ_long_columns_s_length 7 #define FSS_READ_long_delimit_s_length 7 #define FSS_READ_long_depth_s_length 5 #define FSS_READ_long_empty_s_length 5 diff --git a/level_3/fss_read/c/main/main/print.c b/level_3/fss_read/c/main/main/print.c index 1111539..3647488 100644 --- a/level_3/fss_read/c/main/main/print.c +++ b/level_3/fss_read/c/main/main/print.c @@ -42,18 +42,22 @@ extern "C" { fss_read_print_message_help(print); - fll_program_print_help_option(print, fss_read_short_as_s, fss_read_long_as_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Designate the supported format to write as."); + fll_program_print_help_option(print, fss_read_short_as_s, fss_read_long_as_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Designate the supported format to read as."); f_print_dynamic_raw(f_string_eol_s, print->to); fll_program_print_help_usage(print, fss_read_program_name_s, f_string_empty_s); + fss_read_print_message_help_note_header(print, f_string_empty_s, f_string_empty_s); + fss_read_print_message_help_pipe(print); - fss_read_print_message_help_end_next(print); + fss_read_print_message_help_note(print, F_false); f_print_dynamic_raw(f_string_eol_s, print->to); + // @todo everything below needs to be reviewed and updated as appropriate. + fl_print_format(" The '%[%r%r%]' parameter supports the following standards with the specified possible case-sensitive values:%r", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_as_s, print->set->notable, f_string_eol_s); // FSS-0000 (Basic) diff --git a/level_3/fss_read/c/main/print/message.c b/level_3/fss_read/c/main/print/message.c index cac0653..6af6032 100644 --- a/level_3/fss_read/c/main/print/message.c +++ b/level_3/fss_read/c/main/print/message.c @@ -13,42 +13,131 @@ extern "C" { f_print_dynamic_raw(f_string_eol_s, print->to); - fll_program_print_help_option(print, fss_read_short_backtick_s, fss_read_long_backtick_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Use backticks to quote."); - fll_program_print_help_option(print, fss_read_short_content_s, fss_read_long_content_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " The Content to write."); - fll_program_print_help_option(print, fss_read_short_content_end_s, fss_read_long_content_end_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Write the end of Content characters."); - fll_program_print_help_option(print, fss_read_short_content_next_s, fss_read_long_content_next_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Write the next Content characters (separates multi-Content apart)."); - fll_program_print_help_option(print, fss_read_short_double_s, fss_read_long_double_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Use double quotes (default)."); - fll_program_print_help_option(print, fss_read_short_file_s, fss_read_long_file_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Specify a file to send data to."); - fll_program_print_help_option(print, fss_read_short_ignore_s, fss_read_long_ignore_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Ignore a given range within a Content."); - fll_program_print_help_option(print, fss_read_short_object_s, fss_read_long_object_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " The Object to write."); - fll_program_print_help_option(print, fss_read_short_object_open_s, fss_read_long_object_open_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Write the open Object characters."); - fll_program_print_help_option(print, fss_read_short_partial_s, fss_read_long_partial_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Do not write a complete Object and Content set."); - fll_program_print_help_option(print, fss_read_short_prepend_s, fss_read_long_prepend_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Prepend the given white space characters to the start of each multi-line Content."); - fll_program_print_help_option(print, fss_read_short_single_s, fss_read_long_single_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Use single quotes."); - fll_program_print_help_option(print, fss_read_short_trim_s, fss_read_long_trim_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Trim Object names."); + fll_program_print_help_option(print, fss_read_short_at_s, fss_read_long_at_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Select Object at this numeric index."); + fll_program_print_help_option(print, fss_read_short_content_s, fss_read_long_content_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Print the Content (default)."); + fll_program_print_help_option(print, fss_read_short_columns_s, fss_read_long_columns_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Print the total number of columns."); + fll_program_print_help_option(print, fss_read_short_delimit_s, fss_read_long_delimit_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Designate how to handle applying delimits."); + fll_program_print_help_option(print, fss_read_short_depth_s, fss_read_long_depth_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Select Object at this numeric depth."); + fll_program_print_help_option(print, fss_read_short_empty_s, fss_read_long_empty_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Include empty Content when processing."); + fll_program_print_help_option(print, fss_read_short_line_s, fss_read_long_line_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Print only the Content at the given line."); + fll_program_print_help_option(print, fss_read_short_name_s, fss_read_long_name_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Select Object with this name."); + fll_program_print_help_option(print, fss_read_short_object_s, fss_read_long_object_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Print the Object."); + fll_program_print_help_option(print, fss_read_short_pipe_s, fss_read_long_pipe_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Print using the special pipe format."); + fll_program_print_help_option(print, fss_read_short_original_s, fss_read_long_original_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Print with the original quotes and escapes."); + fll_program_print_help_option(print, fss_read_short_select_s, fss_read_long_select_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Select sub-Content at this index."); + fll_program_print_help_option(print, fss_read_short_total_s, fss_read_long_total_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Print the total number of lines."); + fll_program_print_help_option(print, fss_read_short_trim_s, fss_read_long_trim_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Trim Object names on select or print."); } #endif // _di_fss_read_print_message_help_ -#ifndef _di_fss_read_print_message_help_end_next_ - void fss_read_print_message_help_end_next(fl_print_t * const print) { +#ifndef _di_fss_read_print_message_help_note_header_ + void fss_read_print_message_help_note_header(fl_print_t * const print, const f_string_static_t number, const f_string_static_t name) { if (!print) return; - fl_print_format(" The '%[%r%r%]',", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_object_open_s, print->set->notable); - fl_print_format(" '%[%r%r%]', and", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_content_next_s, print->set->notable); - fl_print_format(" '%[%r%r%]' help facilitate writing the designated data for when using", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_content_end_s, print->set->notable); - fl_print_format(" '%[%r%r%]'.%r", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_partial_s, print->set->notable, f_string_eol_s); + fl_print_format(" %[Notes:%]%r This program will print the data associated with the given Object and Content based on the FSS", print->to, f_string_eol_s); - fl_print_format(" These may also be used when there is no '%[%r%r%]' or", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_object_s, print->set->notable); - fl_print_format(" '%[%r%r%]' specified to only print the designated data.%r", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_content_s, print->set->notable, f_string_eol_s); + if (number.used) { + fl_print_format("-%Q", print->to, number); + + if (name.used) { + fl_print_format(" (%Q)", print->to, name); + } + } + + fl_print_format(" standard.%r", print->to, f_string_eol_s); + } +#endif // _di_fss_read_print_message_help_note_header_ + +#ifndef _di_fss_read_print_message_help_note_ + void fss_read_print_message_help_note(fl_print_t * const print, const uint8_t new_line) { + + if (!print) return; + + f_color_set_context_t * const set = print->set; + + // TODO: this is just copied over and needs to be broken up somehow. + fl_print_format("%r All numeric positions (indexes) start at 0 instead of 1.%r", print->to, f_string_eol_s, f_string_eol_s); + fl_print_format(" For example, a file of 17 lines would range from 0 to 16.%r%r", print->to, f_string_eol_s, f_string_eol_s); + + fl_print_format(" When using the %[%r%r%] option, an order of operations is enforced on the parameters.%r", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_depth_s, set->notable, f_string_eol_s); + + fl_print_format(" When this order of operations is in effect, parameters to the right of a depth parameter are influenced by that depth parameter:%r", print->to, f_string_eol_s); + + fl_print_format(" %[%r%r%]: An Object index at the specified depth.%r", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_at_s, set->notable, f_string_eol_s); + fl_print_format(" %[%r%r%]: A new depth within the specified depth, indexed from the root.%r", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_depth_s, set->notable, f_string_eol_s); + fl_print_format(" %[%r%r%]: An Object name at the specified depth.%r%r", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_name_s, set->notable, f_string_eol_s, f_string_eol_s); + + fl_print_format(" The parameter %[%r%r%] must be in numeric order, but values in between may be skipped.%r", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_depth_s, set->notable, f_string_eol_s); + fl_print_format(" ('-d 0 -a 1 -d 2 -a 2' would specify index 1 at depth 0, any index at depth 1, and index 2 at depth 2.)%r", print->to, f_string_eol_s); + fl_print_format(" ('-d 2 -a 1 -d 0 -a 2' would be invalid because depth 2 is before depth 1.)%r%r", print->to, f_string_eol_s, f_string_eol_s); + + fl_print_format(" The parameter %[%r%r%] selects a Content column.%r%r", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_select_s, set->notable, f_string_eol_s, f_string_eol_s); + + fl_print_format(" Specify both %[%r%r%]", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_object_s, set->notable); + fl_print_format(" and the %[%r%r%] parameters to get the total objects.%r%r", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_total_s, set->notable, f_string_eol_s, f_string_eol_s); + + fl_print_format(" When both %[%r%r%]", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_at_s, set->notable); + fl_print_format(" and %[%r%r%] parameters are specified (at the same depth),", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_name_s, set->notable); + fl_print_format(" the %[%r%r%] parameter value will be treated as a position relative to the specified", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_at_s, set->notable); + fl_print_format(" %[%r%r%] parameter value.%r%r", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_name_s, set->notable, f_string_eol_s, f_string_eol_s); + + fl_print_format(" This program may support parameters, such as %[%r%r%]", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_depth_s, set->notable); + fl_print_format(" or %[%r%r%], even if not supported by the standard.%r", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_select_s, set->notable, f_string_eol_s); + fl_print_format(" This is done to help ensure consistency for scripting.%r%r", print->to, f_string_eol_s, f_string_eol_s); + + fl_print_format(" For parameters like %[%r%r%],", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_depth_s, set->notable); + fl_print_format(" if the standard doesn't support nested Content, then only a depth of 0 would be valid.%r", print->to, f_string_eol_s); + + fl_print_format(" For parameters like %[%r%r%],", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_select_s, set->notable); + fl_print_format(" if the standard doesn't support multiple Content groups, then only a select of 0 would be valid.%r%r", print->to, f_string_eol_s, f_string_eol_s); + + fl_print_format(" The parameter %[%r%r%]", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_trim_s, set->notable); + fl_print_format(" will remove leading and trailing white spaces when selecting objects or when printing objects.%r%r", print->to, f_string_eol_s, f_string_eol_s); + + fl_print_format(" When specifying both the %[%r%r%]", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_object_s, set->notable); + fl_print_format(" parameter and the %[%r%r%] parameter, the entire Object and Content are printed, including the formatting.%r", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_content_s, set->notable, f_string_eol_s); + fl_print_format(" Both the Object and Content printed are already escaped.%r", print->to, f_string_eol_s); + + if (new_line == 0x2) { + fl_print_format(" Depending on the standard both the Object and Content are separated by either a New Line character '\\n' (U+000A) or a space.%r%r", print->to, f_string_eol_s, f_string_eol_s); + } + else if (new_line) { + fl_print_format(" Both the Object and Content are separated by a New Line character '\\n' (U+000A).%r%r", print->to, f_string_eol_s, f_string_eol_s); + } + else { + fl_print_format(" Both the Object and Content are separated by a space.%r%r", print->to, f_string_eol_s, f_string_eol_s); + } + + fl_print_format(" The parameter %[%r%r%] accepts the following:%r", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_delimit_s, set->notable, f_string_eol_s); + fl_print_format(" - %[%r%]: Do not apply delimits.%r", print->to, set->notable, fss_read_delimit_mode_name_none_s, set->notable, f_string_eol_s); + fl_print_format(" - %[%r%]: (default) Apply all delimits.%r", print->to, set->notable, fss_read_delimit_mode_name_all_s, set->notable, f_string_eol_s); + fl_print_format(" - %[%r%]: Apply delimits for Objects.%r", print->to, set->notable, fss_read_delimit_mode_name_object_s, set->notable, f_string_eol_s); // @todo this isn't in embedded_list print, confirm/deny if this is intended or not. + fl_print_format(" - A number, 0 or greater: apply delimits for Content at the specified depth.%r", print->to, f_string_eol_s); + fl_print_format(" - A number, 0 or greater, followed by a %[%r%]: (such as '1+') apply delimits for Content at the specified depth and any greater depth (numerically).%r", print->to, set->notable, fss_read_delimit_mode_name_greater_s, set->notable, f_string_eol_s, f_string_eol_s); + fl_print_format(" - A number, 0 or lesser, followed by a %[%r%]: (such as '1-') apply delimits for Content at the specified depth and any lesser depth (numerically).%r%r", print->to, set->notable, fss_read_delimit_mode_name_lesser_s, set->notable, f_string_eol_s, f_string_eol_s); + + fl_print_format(" The %[%r%r%] parameter may be specified multiple times to customize the delimit behavior.%r", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_delimit_s, set->notable, f_string_eol_s); + + fl_print_format(" The %[%r%r%]", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_delimit_s, set->notable); + fl_print_format(" values %[%r%]", print->to, set->notable, fss_read_delimit_mode_name_none_s, set->notable); + fl_print_format(" and %[%r%],", print->to, set->notable, fss_read_delimit_mode_name_all_s, set->notable); + fl_print_format(" overrule all other delimit values.%r%r", print->to, f_string_eol_s, f_string_eol_s); + + fl_print_format(" The parameters %[%r%r%]", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_columns_s, set->notable); + fl_print_format(" and %[%r%r%]", print->to, set->notable, f_console_symbol_long_normal_s, fss_read_long_select_s, set->notable); + fl_print_format(" refer to a Content column.%r", print->to, f_string_eol_s); + fl_print_format(" The word 'column' is being loosely defined to refer to a specific Content.%r", print->to, f_string_eol_s); + fl_print_format(" This is not to be confused with a depth.%r", print->to, f_string_eol_s); } -#endif // _di_fss_read_print_message_help_end_next_ +#endif // _di_fss_read_print_message_help_note_ #ifndef _di_fss_read_print_message_help_pipe_ void fss_read_print_message_help_pipe(fl_print_t * const print) { if (!print) return; + // @todo there is a pipe input format but this documentation is for write rather than read, update this as appropriate or remove function entirely. fl_print_format("%r The pipe uses the Backspace character '%[\\b%]' (%[U+0008%]) to designate the start of a Content.%r", print->to, f_string_eol_s, print->set->notable, print->set->notable, print->set->notable, print->set->notable, f_string_eol_s); fl_print_format(" The pipe uses the Form Feed character '%[\\f%]' (%[U+000C%]) to designate the end of the last Content.%r", print->to, print->set->notable, print->set->notable, print->set->notable, print->set->notable, f_string_eol_s); fl_print_format(" The pipe uses the Vertical Line character '%[\\v%]' (%[U+000B%]) is used to ignore a Content range (use this both before and after the range).%r", print->to, print->set->notable, print->set->notable, print->set->notable, print->set->notable, f_string_eol_s); diff --git a/level_3/fss_read/c/main/print/message.h b/level_3/fss_read/c/main/print/message.h index 587e7e0..6dde2e4 100644 --- a/level_3/fss_read/c/main/print/message.h +++ b/level_3/fss_read/c/main/print/message.h @@ -31,18 +31,40 @@ extern "C" { #endif // _di_fss_read_print_message_help_ /** - * Print standard parts of the help regarding Object End, Content Next, and Content End usage. + * Print standard parts of the help regarding the notes header. * * This is expected to be called as part of the help printing and does not perform any locking. * * @param print * The output structure to print to. + * @param number + * The FSS standard number, such as "0000". + * @param name + * The FSS standard name, such as "Basic". * * This does not alter print.custom.setting.state.status. */ -#ifndef _di_fss_read_print_message_help_end_next_ - extern void fss_read_print_message_help_end_next(fl_print_t * const print); -#endif // _di_fss_read_print_message_help_end_next_ +#ifndef _di_fss_read_print_message_help_note_header_ + extern void fss_read_print_message_help_note_header(fl_print_t * const print, const f_string_static_t number, const f_string_static_t name); +#endif // _di_fss_read_print_message_help_note_header_ + +/** + * Print standard parts of the help regarding notes. + * + * This is expected to be called as part of the help printing and does not perform any locking. + * + * @param print + * The output structure to print to. + * + * This does not alter print.custom.setting.state.status. + * @param new_line + * If 0x0 (F_false), then print help regarding space separating Object and Content. + * If 0x1 (F_true), then print help regarding new line separating Object and Content. + * If 0x2, then print both separation types (intended for use by the general fss_read program). + */ +#ifndef _di_fss_read_print_message_help_note_ + extern void fss_read_print_message_help_note(fl_print_t * const print, const uint8_t new_line); +#endif // _di_fss_read_print_message_help_note_ /** * Print standard parts of the help regarding pipe usage. diff --git a/level_3/fss_read/c/payload/common.c b/level_3/fss_read/c/payload/common.c index eafdb0c..b5fd25d 100644 --- a/level_3/fss_read/c/payload/common.c +++ b/level_3/fss_read/c/payload/common.c @@ -16,6 +16,7 @@ extern "C" { const f_string_static_t fss_read_format_code_long_000e_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_long_000e_s, 0, FSS_READ_format_code_long_000e_s_length); const f_string_static_t fss_read_format_code_human_000e_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_human_000e_s, 0, FSS_READ_format_code_human_000e_s_length); const f_string_static_t fss_read_format_code_machine_000e_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_machine_000e_s, 0, FSS_READ_format_code_machine_000e_s_length); + const f_string_static_t fss_read_format_code_name_000e_s = macro_f_string_static_t_initialize_1(FSS_READ_format_code_name_000e_s, 0, FSS_READ_format_code_name_000e_s_length); #endif // _di_fss_read_payload_s_ #ifdef __cplusplus diff --git a/level_3/fss_read/c/payload/common.h b/level_3/fss_read/c/payload/common.h index 7b762e8..bf3fe87 100644 --- a/level_3/fss_read/c/payload/common.h +++ b/level_3/fss_read/c/payload/common.h @@ -31,6 +31,7 @@ extern "C" { #define FSS_READ_format_code_long_000e_s "fss-000e" #define FSS_READ_format_code_human_000e_s "payload" #define FSS_READ_format_code_machine_000e_s "payload" + #define FSS_READ_format_code_name_000e_s "Payload" #define FSS_READ_payload_s_length 7 @@ -43,6 +44,7 @@ extern "C" { #define FSS_READ_format_code_long_000e_s_length 8 #define FSS_READ_format_code_human_000e_s_length 7 #define FSS_READ_format_code_machine_000e_s_length 7 + #define FSS_READ_format_code_name_000e_s_length 7 extern const f_string_static_t fss_read_payload_s; @@ -55,6 +57,7 @@ extern "C" { extern const f_string_static_t fss_read_format_code_long_000e_s; extern const f_string_static_t fss_read_format_code_human_000e_s; extern const f_string_static_t fss_read_format_code_machine_000e_s; + extern const f_string_static_t fss_read_format_code_name_000e_s; #endif // _di_fss_read_payload_s_ #ifdef __cplusplus diff --git a/level_3/fss_read/c/payload/print.c b/level_3/fss_read/c/payload/print.c index 0e83576..3f0cdff 100644 --- a/level_3/fss_read/c/payload/print.c +++ b/level_3/fss_read/c/payload/print.c @@ -37,7 +37,13 @@ extern "C" { fss_read_print_message_help_pipe(print); - fss_read_print_message_help_end_next(print); + fss_read_print_message_help_note(print, F_true); + + // @todo use these stirngs in place of the format prints below. + //As an exceptional case, a --depth of 1 applies only to the explicit Object of 'header'. + //Content at this depth is processed as FSS-0001 Extended. + // + //The Content of the explicit Object of 'payload' will not contain any Content close pipe control codes when using --pipe. fl_print_format("%r The FSS-000E (Payload) specification does not support quoted names, therefore the parameters '%[%r%r%]'", print->to, f_string_eol_s, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_single_s, print->set->notable); fl_print_format(" and '%[%r%r%]' do nothing.%r%r", print->to, print->set->notable, f_console_symbol_long_normal_s, fss_read_long_double_s, print->set->notable, f_string_eol_s, f_string_eol_s); diff --git a/level_3/fss_read/data/documentation/man/man1/fss_basic_list_read.1 b/level_3/fss_read/data/documentation/man/man1/fss_basic_list_read.1 index 03d3bbb..1bcc56e 100644 --- a/level_3/fss_read/data/documentation/man/man1/fss_basic_list_read.1 +++ b/level_3/fss_read/data/documentation/man/man1/fss_basic_list_read.1 @@ -6,7 +6,7 @@ fss_basic_list_read \- Read data in \fBFSS-0003 (Basic List)\fR format. [\fI\,OPTIONS\/\fR] [\fI\,FILENAMES\/\fR] .SH DESCRIPTION .PP -This program will print the Content associated with the given Object and Content main based on the \fBFSS-0002 Basic List\fR standard. +This program will print the data associated with the given Object and Content based on the \fBFSS-0002 Basic List\fR standard. All numeric positions (indexes) start at 0 instead of 1. For example, a file of 17 lines would range from 0 to 16. diff --git a/level_3/fss_read/data/documentation/man/man1/fss_basic_read.1 b/level_3/fss_read/data/documentation/man/man1/fss_basic_read.1 index d5710d7..402466e 100644 --- a/level_3/fss_read/data/documentation/man/man1/fss_basic_read.1 +++ b/level_3/fss_read/data/documentation/man/man1/fss_basic_read.1 @@ -6,7 +6,7 @@ fss_basic_read \- Read data in \fBFSS-0000 (Basic)\fR format. [\fI\,OPTIONS\/\fR] [\fI\,FILENAMES\/\fR] .SH DESCRIPTION .PP -This program will print the Content associated with the given Object and Content main based on the \fBFSS-0000 Basic\fR standard. +This program will print the data associated with the given Object and Content based on the \fBFSS-0000 Basic\fR standard. All numeric positions (indexes) start at 0 instead of 1. For example, a file of 17 lines would range from 0 to 16. diff --git a/level_3/fss_read/data/documentation/man/man1/fss_embedded_list_read.1 b/level_3/fss_read/data/documentation/man/man1/fss_embedded_list_read.1 index adae22d..11f3f94 100644 --- a/level_3/fss_read/data/documentation/man/man1/fss_embedded_list_read.1 +++ b/level_3/fss_read/data/documentation/man/man1/fss_embedded_list_read.1 @@ -6,7 +6,7 @@ fss_embedded_list_read \- Read data in \fBFSS-0008 (Embedded List)\fR format. [\fI\,OPTIONS\/\fR] [\fI\,FILENAMES\/\fR] .SH DESCRIPTION .PP -This program will print the Content associated with the given Object and Content main based on the \fBFSS-0008 Embedded List\fR standard. +This program will print the data associated with the given Object and Content based on the \fBFSS-0008 Embedded List\fR standard. All numeric positions (indexes) start at 0 instead of 1. For example, a file of 17 lines would range from 0 to 16. diff --git a/level_3/fss_read/data/documentation/man/man1/fss_extended_list_read.1 b/level_3/fss_read/data/documentation/man/man1/fss_extended_list_read.1 index d30cf34..68231d1 100644 --- a/level_3/fss_read/data/documentation/man/man1/fss_extended_list_read.1 +++ b/level_3/fss_read/data/documentation/man/man1/fss_extended_list_read.1 @@ -6,7 +6,7 @@ fss_extended_list_read \- Read data in \fBFSS-0003 (Extended List)\fR format. [\fI\,OPTIONS\/\fR] [\fI\,FILENAMES\/\fR] .SH DESCRIPTION .PP -This program will print the Content associated with the given Object and Content main based on the \fBFSS-0003 Extended List\fR standard. +This program will print the data associated with the given Object and Content based on the \fBFSS-0003 Extended List\fR standard. All numeric positions (indexes) start at 0 instead of 1. For example, a file of 17 lines would range from 0 to 16. diff --git a/level_3/fss_read/data/documentation/man/man1/fss_extended_read.1 b/level_3/fss_read/data/documentation/man/man1/fss_extended_read.1 index 73887e9..280c638 100644 --- a/level_3/fss_read/data/documentation/man/man1/fss_extended_read.1 +++ b/level_3/fss_read/data/documentation/man/man1/fss_extended_read.1 @@ -6,7 +6,7 @@ fss_extended_read \- Read data in \fBFSS-0001 (Extended)\fR format. [\fI\,OPTIONS\/\fR] [\fI\,FILENAMES\/\fR] .SH DESCRIPTION .PP -This program will print the Content associated with the given Object and Content main based on the \fBFSS-0001 Extended\fR standard. +This program will print the data associated with the given Object and Content based on the \fBFSS-0001 Extended\fR standard. All numeric positions (indexes) start at 0 instead of 1. For example, a file of 17 lines would range from 0 to 16. diff --git a/level_3/fss_read/data/documentation/man/man1/fss_payload_read.1 b/level_3/fss_read/data/documentation/man/man1/fss_payload_read.1 index 4b72316..4a8d359 100644 --- a/level_3/fss_read/data/documentation/man/man1/fss_payload_read.1 +++ b/level_3/fss_read/data/documentation/man/man1/fss_payload_read.1 @@ -6,7 +6,7 @@ fss_payload_read \- Read data in \fBFSS-000E (Payload)\fR format. [\fI\,OPTIONS\/\fR] [\fI\,FILENAMES\/\fR] .SH DESCRIPTION .PP -This program will print the Content associated with the given Object and Content main based on the \fBFSS-000E Payload\fR standard. +This program will print the data associated with the given Object and Content based on the \fBFSS-000E Payload\fR standard. All numeric positions (indexes) start at 0 instead of 1. For example, a file of 17 lines would range from 0 to 16. diff --git a/level_3/fss_write/c/basic/common.c b/level_3/fss_write/c/basic/common.c index 36b136d..5d2e88d 100644 --- a/level_3/fss_write/c/basic/common.c +++ b/level_3/fss_write/c/basic/common.c @@ -14,6 +14,7 @@ extern "C" { const f_string_static_t fss_write_format_code_long_0000_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_long_0000_s, 0, FSS_WRITE_format_code_long_0000_s_length); const f_string_static_t fss_write_format_code_human_0000_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_human_0000_s, 0, FSS_WRITE_format_code_human_0000_s_length); const f_string_static_t fss_write_format_code_machine_0000_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_machine_0000_s, 0, FSS_WRITE_format_code_machine_0000_s_length); + const f_string_static_t fss_write_format_code_name_0000_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_name_0000_s, 0, FSS_WRITE_format_code_name_0000_s_length); #endif // _di_fss_write_basic_s_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/basic/common.h b/level_3/fss_write/c/basic/common.h index 0fa359e..64109cd 100644 --- a/level_3/fss_write/c/basic/common.h +++ b/level_3/fss_write/c/basic/common.h @@ -29,6 +29,7 @@ extern "C" { #define FSS_WRITE_format_code_long_0000_s "fss-0000" #define FSS_WRITE_format_code_human_0000_s "basic" #define FSS_WRITE_format_code_machine_0000_s "basic" + #define FSS_WRITE_format_code_name_0000_s "Basic" #define FSS_WRITE_basic_standard_s_length 16 @@ -39,6 +40,7 @@ extern "C" { #define FSS_WRITE_format_code_long_0000_s_length 8 #define FSS_WRITE_format_code_human_0000_s_length 5 #define FSS_WRITE_format_code_machine_0000_s_length 5 + #define FSS_WRITE_format_code_name_0000_s_length 5 extern const f_string_static_t fss_write_basic_standard_s; @@ -49,6 +51,7 @@ extern "C" { extern const f_string_static_t fss_write_format_code_long_0000_s; extern const f_string_static_t fss_write_format_code_human_0000_s; extern const f_string_static_t fss_write_format_code_machine_0000_s; + extern const f_string_static_t fss_write_format_code_name_0000_s; #endif // _di_fss_write_basic_s_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/basic_list/common.c b/level_3/fss_write/c/basic_list/common.c index 5b1f07e..1af2e05 100644 --- a/level_3/fss_write/c/basic_list/common.c +++ b/level_3/fss_write/c/basic_list/common.c @@ -14,6 +14,7 @@ extern "C" { const f_string_static_t fss_write_format_code_long_0002_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_long_0002_s, 0, FSS_WRITE_format_code_long_0002_s_length); const f_string_static_t fss_write_format_code_human_0002_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_human_0002_s, 0, FSS_WRITE_format_code_human_0002_s_length); const f_string_static_t fss_write_format_code_machine_0002_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_machine_0002_s, 0, FSS_WRITE_format_code_machine_0002_s_length); + const f_string_static_t fss_write_format_code_name_0002_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_name_0002_s, 0, FSS_WRITE_format_code_name_0002_s_length); #endif // _di_fss_write_basic_list_s_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/basic_list/common.h b/level_3/fss_write/c/basic_list/common.h index 3afef3f..47c45d4 100644 --- a/level_3/fss_write/c/basic_list/common.h +++ b/level_3/fss_write/c/basic_list/common.h @@ -29,6 +29,7 @@ extern "C" { #define FSS_WRITE_format_code_long_0002_s "fss-0002" #define FSS_WRITE_format_code_human_0002_s "basic list" #define FSS_WRITE_format_code_machine_0002_s "basic_list" + #define FSS_WRITE_format_code_name_0002_s "Basic List" #define FSS_WRITE_basic_list_standard_s_length 21 @@ -39,6 +40,7 @@ extern "C" { #define FSS_WRITE_format_code_long_0002_s_length 8 #define FSS_WRITE_format_code_human_0002_s_length 10 #define FSS_WRITE_format_code_machine_0002_s_length 10 + #define FSS_WRITE_format_code_name_0002_s_length 10 extern const f_string_static_t fss_write_basic_list_standard_s; @@ -49,6 +51,7 @@ extern "C" { extern const f_string_static_t fss_write_format_code_long_0002_s; extern const f_string_static_t fss_write_format_code_human_0002_s; extern const f_string_static_t fss_write_format_code_machine_0002_s; + extern const f_string_static_t fss_write_format_code_name_0002_s; #endif // _di_fss_write_basic_list_s_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/embedded_list/common.c b/level_3/fss_write/c/embedded_list/common.c index 05b4b64..490ae78 100644 --- a/level_3/fss_write/c/embedded_list/common.c +++ b/level_3/fss_write/c/embedded_list/common.c @@ -14,6 +14,7 @@ extern "C" { const f_string_static_t fss_write_format_code_long_0008_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_long_0008_s, 0, FSS_WRITE_format_code_long_0008_s_length); const f_string_static_t fss_write_format_code_human_0008_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_human_0008_s, 0, FSS_WRITE_format_code_human_0008_s_length); const f_string_static_t fss_write_format_code_machine_0008_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_machine_0008_s, 0, FSS_WRITE_format_code_machine_0008_s_length); + const f_string_static_t fss_write_format_code_name_0008_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_name_0008_s, 0, FSS_WRITE_format_code_name_0008_s_length); #endif // _di_fss_write_embedded_list_s_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/embedded_list/common.h b/level_3/fss_write/c/embedded_list/common.h index cde14a9..db576bc 100644 --- a/level_3/fss_write/c/embedded_list/common.h +++ b/level_3/fss_write/c/embedded_list/common.h @@ -29,6 +29,7 @@ extern "C" { #define FSS_WRITE_format_code_long_0008_s "fss-0008" #define FSS_WRITE_format_code_human_0008_s "embedded list" #define FSS_WRITE_format_code_machine_0008_s "embedded_list" + #define FSS_WRITE_format_code_name_0008_s "Embedded List" #define FSS_WRITE_embedded_list_standard_s_length 24 @@ -39,6 +40,7 @@ extern "C" { #define FSS_WRITE_format_code_long_0008_s_length 8 #define FSS_WRITE_format_code_human_0008_s_length 13 #define FSS_WRITE_format_code_machine_0008_s_length 13 + #define FSS_WRITE_format_code_name_0008_s_length 13 extern const f_string_static_t fss_write_embedded_list_standard_s; @@ -49,6 +51,7 @@ extern "C" { extern const f_string_static_t fss_write_format_code_long_0008_s; extern const f_string_static_t fss_write_format_code_human_0008_s; extern const f_string_static_t fss_write_format_code_machine_0008_s; + extern const f_string_static_t fss_write_format_code_name_0008_s; #endif // _di_fss_write_embedded_list_s_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/extended/common.c b/level_3/fss_write/c/extended/common.c index e77fc7d..5f0e0dd 100644 --- a/level_3/fss_write/c/extended/common.c +++ b/level_3/fss_write/c/extended/common.c @@ -14,6 +14,7 @@ extern "C" { const f_string_static_t fss_write_format_code_long_0001_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_long_0001_s, 0, FSS_WRITE_format_code_long_0001_s_length); const f_string_static_t fss_write_format_code_human_0001_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_human_0001_s, 0, FSS_WRITE_format_code_human_0001_s_length); const f_string_static_t fss_write_format_code_machine_0001_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_machine_0001_s, 0, FSS_WRITE_format_code_machine_0001_s_length); + const f_string_static_t fss_write_format_code_name_0001_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_name_0001_s, 0, FSS_WRITE_format_code_name_0001_s_length); #endif // _di_fss_write_extended_s_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/extended/common.h b/level_3/fss_write/c/extended/common.h index 4fbcce9..90a63f2 100644 --- a/level_3/fss_write/c/extended/common.h +++ b/level_3/fss_write/c/extended/common.h @@ -29,6 +29,7 @@ extern "C" { #define FSS_WRITE_format_code_long_0001_s "fss-0001" #define FSS_WRITE_format_code_human_0001_s "extended" #define FSS_WRITE_format_code_machine_0001_s "extended" + #define FSS_WRITE_format_code_name_0001_s "Extended" #define FSS_WRITE_extended_standard_s_length 19 @@ -39,6 +40,7 @@ extern "C" { #define FSS_WRITE_format_code_long_0001_s_length 8 #define FSS_WRITE_format_code_human_0001_s_length 8 #define FSS_WRITE_format_code_machine_0001_s_length 8 + #define FSS_WRITE_format_code_name_0001_s_length 8 extern const f_string_static_t fss_write_extended_standard_s; @@ -49,6 +51,7 @@ extern "C" { extern const f_string_static_t fss_write_format_code_long_0001_s; extern const f_string_static_t fss_write_format_code_human_0001_s; extern const f_string_static_t fss_write_format_code_machine_0001_s; + extern const f_string_static_t fss_write_format_code_name_0001_s; #endif // _di_fss_write_extended_s_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/extended_list/common.c b/level_3/fss_write/c/extended_list/common.c index 16431bc..5e1ba37 100644 --- a/level_3/fss_write/c/extended_list/common.c +++ b/level_3/fss_write/c/extended_list/common.c @@ -14,6 +14,7 @@ extern "C" { const f_string_static_t fss_write_format_code_long_0003_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_long_0003_s, 0, FSS_WRITE_format_code_long_0003_s_length); const f_string_static_t fss_write_format_code_human_0003_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_human_0003_s, 0, FSS_WRITE_format_code_human_0003_s_length); const f_string_static_t fss_write_format_code_machine_0003_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_machine_0003_s, 0, FSS_WRITE_format_code_machine_0003_s_length); + const f_string_static_t fss_write_format_code_name_0003_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_name_0003_s, 0, FSS_WRITE_format_code_name_0003_s_length); #endif // _di_fss_write_extended_list_s_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/extended_list/common.h b/level_3/fss_write/c/extended_list/common.h index e00cd13..140ae84 100644 --- a/level_3/fss_write/c/extended_list/common.h +++ b/level_3/fss_write/c/extended_list/common.h @@ -29,6 +29,7 @@ extern "C" { #define FSS_WRITE_format_code_long_0003_s "fss-0003" #define FSS_WRITE_format_code_human_0003_s "extended list" #define FSS_WRITE_format_code_machine_0003_s "extended_list" + #define FSS_WRITE_format_code_name_0003_s "Extended List" #define FSS_WRITE_extended_list_standard_s_length 24 @@ -39,6 +40,7 @@ extern "C" { #define FSS_WRITE_format_code_long_0003_s_length 8 #define FSS_WRITE_format_code_human_0003_s_length 13 #define FSS_WRITE_format_code_machine_0003_s_length 13 + #define FSS_WRITE_format_code_name_0003_s_length 13 extern const f_string_static_t fss_write_extended_list_standard_s; @@ -49,6 +51,7 @@ extern "C" { extern const f_string_static_t fss_write_format_code_long_0003_s; extern const f_string_static_t fss_write_format_code_human_0003_s; extern const f_string_static_t fss_write_format_code_machine_0003_s; + extern const f_string_static_t fss_write_format_code_name_0003_s; #endif // _di_fss_write_extended_list_s_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/payload/common.c b/level_3/fss_write/c/payload/common.c index 1eb7051..b192bde 100644 --- a/level_3/fss_write/c/payload/common.c +++ b/level_3/fss_write/c/payload/common.c @@ -16,6 +16,7 @@ extern "C" { const f_string_static_t fss_write_format_code_long_000e_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_long_000e_s, 0, FSS_WRITE_format_code_long_000e_s_length); const f_string_static_t fss_write_format_code_human_000e_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_human_000e_s, 0, FSS_WRITE_format_code_human_000e_s_length); const f_string_static_t fss_write_format_code_machine_000e_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_machine_000e_s, 0, FSS_WRITE_format_code_machine_000e_s_length); + const f_string_static_t fss_write_format_code_name_000e_s = macro_f_string_static_t_initialize_1(FSS_WRITE_format_code_name_000e_s, 0, FSS_WRITE_format_code_name_000e_s_length); #endif // _di_fss_write_payload_s_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/payload/common.h b/level_3/fss_write/c/payload/common.h index a42e342..011d1b4 100644 --- a/level_3/fss_write/c/payload/common.h +++ b/level_3/fss_write/c/payload/common.h @@ -31,6 +31,7 @@ extern "C" { #define FSS_WRITE_format_code_long_000e_s "fss-000e" #define FSS_WRITE_format_code_human_000e_s "payload" #define FSS_WRITE_format_code_machine_000e_s "payload" + #define FSS_WRITE_format_code_name_000e_s "Payload" #define FSS_WRITE_payload_s_length 7 @@ -43,6 +44,7 @@ extern "C" { #define FSS_WRITE_format_code_long_000e_s_length 8 #define FSS_WRITE_format_code_human_000e_s_length 7 #define FSS_WRITE_format_code_machine_000e_s_length 7 + #define FSS_WRITE_format_code_name_000e_s_length 7 extern const f_string_static_t fss_write_payload_s; @@ -55,6 +57,7 @@ extern "C" { extern const f_string_static_t fss_write_format_code_long_000e_s; extern const f_string_static_t fss_write_format_code_human_000e_s; extern const f_string_static_t fss_write_format_code_machine_000e_s; + extern const f_string_static_t fss_write_format_code_name_000e_s; #endif // _di_fss_write_payload_s_ #ifdef __cplusplus -- 1.8.3.1