From 9c9eeea35e3553c9da655b87cd1ddd42ede67a7c Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Fri, 30 Aug 2019 12:48:54 -0500 Subject: [PATCH] Update: redesign console processing code Simplify the console structure and reduce the size of codes and parameters. The "extra" parameter seems a bit overkill, remove it and help keep this project more along the lines of the idea of "Featureless". Rewrite and document fl_process_parameters(). Implementing functions were only functionally updated. Additional changes are likely necessary for the logic, such as supporting multiple calls like "program -h +n +l", which by order of operation the final "+l" should override the "+n". --- level_0/f_colors/c/colors.h | 16 ++ level_0/f_console/c/console.c | 16 +- level_0/f_console/c/console.h | 145 +++++------- level_0/f_types/c/types.h | 26 +-- level_1/fl_console/c/console.c | 257 +++++++++------------ level_1/fl_console/c/console.h | 24 +- level_3/firewall/c/firewall.h | 44 ++-- .../fss_basic_list_read/c/fss_basic_list_read.h | 20 +- .../fss_basic_list_write/c/fss_basic_list_write.h | 14 +- level_3/fss_basic_read/c/fss_basic_read.h | 16 +- level_3/fss_basic_write/c/fss_basic_write.h | 14 +- level_3/fss_extended_read/c/fss_extended_read.h | 18 +- level_3/fss_extended_write/c/fss_extended_write.h | 16 +- level_3/fss_status_code/c/fss_status_code.h | 18 +- level_3/init/c/init.h | 26 +-- level_3/status_code/c/status_code.h | 18 +- 16 files changed, 332 insertions(+), 356 deletions(-) diff --git a/level_0/f_colors/c/colors.h b/level_0/f_colors/c/colors.h index b42616f..cfcae92 100644 --- a/level_0/f_colors/c/colors.h +++ b/level_0/f_colors/c/colors.h @@ -101,6 +101,15 @@ extern "C" { #define f_colors_format_initialize_xterminal { "\033[", "m", ";" } #endif // _di_f_colors_format_ +/** + * A structure containing all supported color codes. + * + * Different system will support a different set. + * + * Custom initializers are provided for common defaults: + * - f_colors_initialize_linux: ideal for linux console. + * - f_colors_initialize_xterminal: ideal for linux x-terminal. + */ #ifndef _di_f_colors_ typedef struct { const char *reset; @@ -147,6 +156,13 @@ extern "C" { #define f_colors_initialize_xterminal { "0", "1", "4", "5", "7", "8", "30", "31", "32", "33", "34", "35", "36", "37", "40", "41", "42", "43", "44", "45", "46", "47", "90", "91", "92", "93", "94", "95", "96", "97", "100", "101", "102", "103", "104", "105", "106", "107" } #endif // _di_f_colors_ +/** + * Provide global default global instances of f_colors structures. + * + * Supported instances: + * - f_colors_format_linux: ideal for linux console. + * - f_colors_format_xterminal: ideal for linux x-terminal. + */ #ifndef _di_f_default_colors_ static const f_colors_format f_colors_format_linux = f_colors_format_initialize_linux; static const f_colors_format f_colors_format_xterminal = f_colors_format_initialize_xterminal; diff --git a/level_0/f_console/c/console.c b/level_0/f_console/c/console.c index 7060a4f..6196f15 100644 --- a/level_0/f_console/c/console.c +++ b/level_0/f_console/c/console.c @@ -10,22 +10,18 @@ extern "C" { if (result == 0) return f_status_set_error(f_invalid_parameter); #endif // _di_level_0_parameter_checking_ - const f_string_length length = strnlen(input, 4); + const f_string_length length = strnlen(input, 3); if (length == 0) { *result = f_console_none; - return f_none; + return f_no_data; } if (input[0] == f_console_symbol_enable) { if (length > 1) { if (input[1] == f_console_symbol_enable) { if (length > 2) { - if (input[2] == f_console_symbol_enable) { - if (length > 3) *result = f_console_extra_enable; - else *result = f_console_empty_extra_enable; - } - else *result = f_console_long_enable; + *result = f_console_long_enable; } else *result = f_console_empty_long_enable; } @@ -37,11 +33,7 @@ extern "C" { if (length > 1) { if (input[1] == f_console_symbol_disable) { if (length > 2) { - if (input[2] == f_console_symbol_disable) { - if (length > 3) *result = f_console_extra_disable; - else *result = f_console_empty_extra_disable; - } - else *result = f_console_long_disable; + *result = f_console_long_disable; } else *result = f_console_empty_long_disable; } diff --git a/level_0/f_console/c/console.h b/level_0/f_console/c/console.h index 7626226..f751357 100644 --- a/level_0/f_console/c/console.h +++ b/level_0/f_console/c/console.h @@ -23,7 +23,7 @@ extern "C" { #endif /** - * result values that represent the type of command found. + * Result values that represent the type of command found. */ #ifndef _di_f_console_ids_ enum { @@ -32,19 +32,15 @@ extern "C" { f_console_short_disable, f_console_long_enable, f_console_long_disable, - f_console_extra_enable, - f_console_extra_disable, f_console_empty_short_enable, f_console_empty_short_disable, f_console_empty_long_enable, f_console_empty_long_disable, - f_console_empty_extra_enable, - f_console_empty_extra_disable, }; #endif // _di_f_console_ids_ /** - * the symbols passed to the program for option handling. + * The symbols passed to the program for option handling. * * The following will be processed as an integer and therefore must not be string. * - f_console_symbol_enable @@ -59,12 +55,11 @@ extern "C" { #define f_console_symbol_long_enable "--" #define f_console_symbol_long_disable "++" - - #define f_console_symbol_extra_enable "---" - #define f_console_symbol_extra_disable "+++" #endif // _di_f_console_symbols_ -// create some standard command line parameter options required by the kevux/fss/fll specifications. +/** + * Create some standard command line parameter options required by the kevux/fss/fll specifications. + */ #ifndef _di_f_standard_console_parameters_ #define f_console_standard_short_debug "d" #define f_console_standard_short_help "h" @@ -79,35 +74,43 @@ extern "C" { #define f_console_standard_long_version "version" #endif // _di_f_standard_console_parameters_ -// the maximum size for a single parameter (this should be hellishly more than enough) +/** + * The maximum size for a single parameter. + */ #ifndef _di_f_console_max_size_ #define f_console_max_size f_string_max_size #endif // _di_f_console_max_size_ +/** + * Provide a default allocation step. + * + * For a UTF-8 friendly allocation step, set to at least 4. + */ #ifndef _di_f_console_default_allocation_step_ - // provide a UTF-8 friendly allocation step. #define f_console_default_allocation_step 4 #endif // _di_f_console_default_allocation_step_ + +/** + * Provide console type enumerations: + * + * - none: parameter not found. + * - found: parameter found. + * - additional: parameter found, extra data exists (such as '-f filename', 'filename' would be the extra data). + * + * - normal: parameters using minus sign, such as '--help'. + * - inverse: parameters using plus sign, such as '++version'. + * - other: parameters using neither minus nor plus sign, such as 'build'. + */ #ifndef _di_f_console_types_ typedef f_min_u_short f_console_id; - /** - * none: parameter not found. - * found: parameter found. - * additional: parameter found, extra data exists (such as '-f filename', 'filename' would be the extra data). - */ enum { f_console_result_none, f_console_result_found, f_console_result_additional, }; - /** - * normal: parameters using minus sign, such as '--help'. - * inverse: parameters using plus sign, such as '++version'. - * other: parameters using neither minus nor plus sign, such as 'build'. - */ enum { f_console_type_normal, f_console_type_inverse, @@ -115,83 +118,59 @@ extern "C" { }; #endif // _di_f_console_types_ +/** + * Provide a structure for describing console parameters for the console processing functions to use. + * + * The short parameters are will be prepended with either '-' or '+'. + * The long parameters are will be prepended with either '--' or '++'. + * The other parameters are for any other parameter that has no prepended characters. + * + * - symbol_short: The single character string, such as 'h' in '-h'. + * - symbol_long: The multi-character string, such as 'help' in '--help'. + * - symbol_other: The special meaning parameter, such as 'all' in 'make all'. + * + * - has_additional: Designates that a parameter will have a given number of additional arguments, such as 'blue' in '--color blue'. + * - type: One of the f_console_type_* codes, defining how this parameter is to be processed. + * - result: A code representing that the parameter was found and how it was found ('-h' vs '--help'). + * - total: A number representing the total number of times this parameter was found ('-h -h' would result in a total of 2). + * - additional: An array of locations representing where in the argv[] the additional arguments are found. + */ #ifndef _di_f_console_parameter_ typedef struct { const char *symbol_short; const char *symbol_long; - const char *symbol_extra; const char *symbol_other; - const f_bool has_additional; - const f_u_int type; - f_u_int result; + const uint8_t has_additional; + const uint8_t type; + + uint8_t result; + uint8_t total; f_string_lengths additional; - f_string_length length; } f_console_parameter; - #define f_console_parameter_initialize(symbol_short, symbol_long, symbol_extra, symbol_other, has_additional, type_value, length) \ - { symbol_short, symbol_long, symbol_extra, symbol_other, has_additional, type_value, f_console_result_none, f_string_lengths_initialize, length } + #define f_console_parameter_initialize(symbol_short, symbol_long, symbol_other, has_additional, type_value) \ + { symbol_short, symbol_long, symbol_other, has_additional, type_value, f_console_result_none, 0, f_string_lengths_initialize } #endif // _di_f_console_parameter_ +/** + * Determine the type code the given input parameter represents. + * + * @param input + * The input parameter to process. + * @param result + * The resulting console type code determined by this function. + * + * @return + * f_none on success. + * f_no_data the input string is empty. + * f_reallocation_error (with error bit) on memory reallocation error. + */ #ifndef _di_f_console_identify_ - /** - * This is used to help standardize a single method of handling command line option parsing. - * This should allow for every single command line program to use the same form of syntax for command line options. - */ extern f_return_status f_console_identify(const f_string input, f_console_id *result); #endif // _di_f_console_identify_ -#ifndef _di_f_console_is_enable_ - /** - * perform checks against short & long options to see if the string is one of them (normal). - */ - #define f_console_is_enable(result, string, short_option, long_option, max_length) \ - ((result == f_console_short_enable && strncmp(string, short_option, max_length) == 0) || \ - (result == f_console_long_enable && strncmp(string, long_option, max_length) == 0)) -#endif // _di_f_console_is_enable_ - -#ifndef _di_f_console_is_disable_ - /** - * perform checks against short & long options to see if the string is one of them (inverse). - */ - #define f_console_is_disable(result, string, short_option, long_option, max_length) \ - ((result == f_console_short_disable && strncmp(string, short_option, max_length) == 0) || \ - (result == f_console_long_disable && strncmp(string, long_option, max_length) == 0)) -#endif // _di_f_console_is_disable_ - -#ifndef _di_f_console_is_extra_enable_ - /** - * perform checks against extra option to see if the string is one of them (normal). - */ - #define f_console_is_extra_enable(result, string, extra_option, max_length) \ - (result == f_console_extra_enable && strncmp(string, extra_option, max_length) == 0) -#endif // _di_f_console_is_extra_enable_ - -#ifndef _di_f_console_is_extra_disable_ - /** - * perform checks against extra option to see if the string is one of them (inverse). - */ - #define f_console_is_extra_disable(result, string, extra_option, max_length) \ - (result == f_console_extra_disable && strncmp(string, extra_option, max_length) == 0) -#endif // _di_f_console_is_extra_disable_ - -#ifndef _di_f_console_is_empty_enable_ - /** - * perform checks against empty options to see if the string is one of them (normal). - */ - #define f_console_is_empty_enable(result, string) \ - (result == f_console_empty_short_enable || result == f_console_empty_long_enable || result == f_console_empty_extra_enable) -#endif // _di_f_console_is_empty_enable_ - -#ifndef _di_f_console_is_empty_disable_ - /** - * perform checks against empty options to see if the string is one of them (inverse). - */ - #define f_console_is_empty_disable(result, string) \ - (result == f_console_empty_short_disable || result == f_console_empty_long_disable || result == f_console_empty_extra_disable) -#endif // _di_f_console_is_empty_disable_ - #ifdef __cplusplus } // extern "C" #endif diff --git a/level_0/f_types/c/types.h b/level_0/f_types/c/types.h index 9cde8ac..9972d8a 100644 --- a/level_0/f_types/c/types.h +++ b/level_0/f_types/c/types.h @@ -7,22 +7,22 @@ * * Provides datatype re-definitions * If your compiler lacks the ability to produce such, simply re-define them as needed - * An "ideal" definition for a standard expected size would be (64-bit): + * An "ideal" definition for a standard expected size would be: * char: 2^8 = 256 - * short: 2^32 = 4294967296 - * int: 2^64 = 1.84467e19 - * long: 2^128 = 3.40282e38 - * long long: 2^256 = 1.15792e77 + * short: 2^16 = 65536 + * int: 2^32 = 4294967296 + * long: 2^64 = 1.84467e19 + * long long: 2^128 = 3.40282e38 * * If you need exact size, use one of the following: - * int8_t: 2^7 (signed) - * uint8_t: 2^8 (unsigned) - * int16_t: 2^15 (signed) - * uint16_t: 2^16 (unsigned) - * int32_t: 2^31 (signed) - * uint32_t: 2^32 (unsigned) - * int64_t: 2^63 (signed) - * uint64_t: 2^64 (unsigned) + * int8_t: 2^7 (8-bit signed) + * uint8_t: 2^8 (8-bit unsigned) + * int16_t: 2^15 (16-bit signed) + * uint16_t: 2^16 (16-bit unsigned) + * int32_t: 2^31 (32-bit signed) + * uint32_t: 2^32 (32-bit unsigned) + * int64_t: 2^63 (64-bit signed) + * uint64_t: 2^64 (64-bit unsigned) */ #ifndef _F_types_h #define _F_types_h diff --git a/level_1/fl_console/c/console.c b/level_1/fl_console/c/console.c index 1a2bd80..425b791 100644 --- a/level_1/fl_console/c/console.c +++ b/level_1/fl_console/c/console.c @@ -14,13 +14,17 @@ extern "C" { f_console_id result = 0; f_bool found = f_false; - f_array_length location = 1; // parameter 0 represents the program name so skip it + f_array_length location = 1; // Parameter 0 represents the program name so skip it. f_string_length sub_location = 0; - f_string_length increments = 0; + f_string_length increment_by = 0; f_string_length string_length = 0; f_array_length parameter_counter = 0; - f_string_lengths extra_initiator = f_string_lengths_initialize; + f_u_short console_short = f_console_none; + f_u_short console_long = f_console_none; + f_u_short console_type = f_console_type_normal; + + f_string_lengths needs_additional = f_string_lengths_initialize; // loop through and read all parameters while (location < argc) { @@ -30,131 +34,117 @@ extern "C" { // process the current parameter if (result == f_console_short_enable || result == f_console_short_disable) { - increments = 1; + increment_by = 1; sub_location = 1; } else if (result == f_console_long_enable || result == f_console_long_disable) { - increments = string_length; + increment_by = string_length; sub_location = 2; } - else if (result == f_console_extra_enable || result == f_console_extra_disable) { - increments = string_length; - sub_location = 3; - } else { - increments = 1; + increment_by = string_length; sub_location = 0; } - // Now handle the normal commands - if (argv[location][0] == f_console_symbol_enable) { - if (sub_location < string_length) { - for (parameter_counter = 0; parameter_counter < total_parameters; parameter_counter++) { - if (parameters[parameter_counter].type != f_console_type_normal) { - continue; - } - - if (parameters[parameter_counter].symbol_short != 0 && parameters[parameter_counter].symbol_long != 0) { - if (f_console_is_enable(result, &argv[location][sub_location], parameters[parameter_counter].symbol_short, parameters[parameter_counter].symbol_long, string_length + 1)) { - parameters[parameter_counter].result = f_console_result_found; - - if (parameters[parameter_counter].has_additional) { - if (extra_initiator.used >= extra_initiator.size) { - f_status allocation_status = f_none; + // Handle the normal commands. + if (result == f_console_short_enable || result == f_console_long_enable) { + console_short = f_console_short_enable; + console_long = f_console_long_enable; + console_type = f_console_type_normal; + } + else if (result == f_console_short_disable || result == f_console_long_disable) { + console_short = f_console_short_disable; + console_long = f_console_long_disable; + console_type = f_console_type_inverse; + } + else { + console_short = f_console_none; + } - f_resize_string_lengths(allocation_status, extra_initiator, extra_initiator.size + f_console_default_allocation_step); - if (f_status_is_error(allocation_status)) { - f_delete_string_lengths(status, extra_initiator); - return f_status_set_error(allocation_status); - } - } + // Additional parameters must always follow what requests them. + if (needs_additional.used > 0) { + parameter_counter = needs_additional.array[0]; - extra_initiator.array[extra_initiator.used] = parameter_counter; - extra_initiator.used++; - } - } - } + if (parameters[parameter_counter].additional.used >= parameters[parameter_counter].additional.size) { + f_status allocation_status = f_none; - if (parameters[parameter_counter].symbol_extra != 0) { - if (f_console_is_extra_enable(result, &argv[location][sub_location], parameters[parameter_counter].symbol_extra, string_length + 1)) { - parameters[parameter_counter].result = f_console_result_found; + f_resize_string_lengths(allocation_status, parameters[parameter_counter].additional, parameters[parameter_counter].additional.size + f_console_default_allocation_step); - if (parameters[parameter_counter].has_additional) { - if (extra_initiator.used >= extra_initiator.size) { - f_status allocation_status = f_none; + if (f_status_is_error(allocation_status)) { + f_delete_string_lengths(status, needs_additional); + return f_status_set_error(allocation_status); + } + } - f_resize_string_lengths(allocation_status, extra_initiator, extra_initiator.size + f_console_default_allocation_step); + parameters[parameter_counter].result = f_console_result_additional; + parameters[parameter_counter].additional.array[parameters[parameter_counter].additional.used] = location; + parameters[parameter_counter].additional.used++; - if (f_status_is_error(allocation_status)) { - f_delete_string_lengths(status, extra_initiator); - return f_status_set_error(allocation_status); - } - } + needs_additional.used--; - extra_initiator.array[extra_initiator.used] = parameter_counter; - extra_initiator.used++; - } - } - } - } // for - } + // Pop the matched parameter off of the top of the needs_additional array. + for (f_string_length i = 0; i < needs_additional.used; i++) { + needs_additional.array[i] = needs_additional.array[i + 1]; + } // for } - // now handle the inverse commands - else if (argv[location][0] == f_console_symbol_disable) { - if (sub_location < string_length) { + else if (console_short > f_console_none) { + // The sub_location is used on a per increment basis (such as 'tar -xcf', the '-' would have an increment of 1, therefore x, c, and f would all be three separate parameters). + while (sub_location < string_length) { for (parameter_counter = 0; parameter_counter < total_parameters; parameter_counter++) { - if (parameters[parameter_counter].type != f_console_type_inverse) { + if (parameters[parameter_counter].type != console_type) { continue; } - if (parameters[parameter_counter].symbol_short != 0 && parameters[parameter_counter].symbol_long != 0) { - if (f_console_is_disable(result, &argv[location][sub_location], parameters[parameter_counter].symbol_short, parameters[parameter_counter].symbol_long, string_length + 1)) { - parameters[parameter_counter].result = f_console_result_found; - - if (parameters[parameter_counter].has_additional) { - if (extra_initiator.used >= extra_initiator.size) { - f_status allocation_status = f_none; - - f_resize_string_lengths(allocation_status, extra_initiator, extra_initiator.size + f_console_default_allocation_step); - - if (f_status_is_error(allocation_status)) { - f_delete_string_lengths(status, extra_initiator); - return f_status_set_error(allocation_status); - } - } + if (result == console_short) { + if (parameters[parameter_counter].symbol_short == 0) { + continue; + } - extra_initiator.array[extra_initiator.used] = parameter_counter; - extra_initiator.used++; - } + if (strncmp(&argv[location][sub_location], parameters[parameter_counter].symbol_short, increment_by + 1) != 0) { + continue; } } + else if (result == console_long) { + if (parameters[parameter_counter].symbol_long == 0) { + continue; + } - if (parameters[parameter_counter].symbol_extra != 0) { - if (f_console_is_extra_disable(result, &argv[location][sub_location], parameters[parameter_counter].symbol_extra, string_length + 1)) { - parameters[parameter_counter].result = f_console_result_found; + if (strncmp(&argv[location][sub_location], parameters[parameter_counter].symbol_long, increment_by + 1) != 0) { + continue; + } + } + else { + continue; + } - if (parameters[parameter_counter].has_additional) { - if (extra_initiator.used >= extra_initiator.size) { - f_status allocation_status = f_none; + parameters[parameter_counter].result = f_console_result_found; + parameters[parameter_counter].total++; - f_resize_string_lengths(allocation_status, extra_initiator, extra_initiator.size + f_console_default_allocation_step); + if (parameters[parameter_counter].has_additional) { + if (needs_additional.used + parameters[parameter_counter].has_additional > needs_additional.size) { + f_status allocation_status = f_none; - if (f_status_is_error(allocation_status)) { - f_delete_string_lengths(status, extra_initiator); - return f_status_set_error(allocation_status); - } - } + f_resize_string_lengths(allocation_status, needs_additional, needs_additional.used + parameters[parameter_counter].has_additional); - extra_initiator.array[extra_initiator.used] = parameter_counter; - extra_initiator.used++; + if (f_status_is_error(allocation_status)) { + f_delete_string_lengths(status, needs_additional); + return f_status_set_error(allocation_status); } } + + for (f_array_length additional = 0; additional < parameters[parameter_counter].has_additional; additional++) { + needs_additional.array[needs_additional.used] = parameter_counter; + needs_additional.used++; + } // for } + + break; } // for - } + + sub_location += increment_by; + } // while } else { - // use found to determine if the remaining parameter should be populated found = f_false; for (parameter_counter = 0; parameter_counter < total_parameters; parameter_counter++) { @@ -162,78 +152,61 @@ extern "C" { continue; } - if (parameters[parameter_counter].length > 0 && parameters[parameter_counter].symbol_other != 0) { - if (strncmp(argv[location], parameters[parameter_counter].symbol_other, parameters[parameter_counter].length + 1) == 0) { + if (parameters[parameter_counter].symbol_other == 0) { + continue; + } + + if (strncmp(argv[location], parameters[parameter_counter].symbol_other, string_length + 1) != 0) { + continue; + } + + parameters[parameter_counter].result = f_console_result_found; + parameters[parameter_counter].total++; + + if (parameters[parameter_counter].has_additional) { + if (needs_additional.used + parameters[parameter_counter].has_additional > needs_additional.size) { f_status allocation_status = f_none; - if (parameters[parameter_counter].additional.used >= parameters[parameter_counter].additional.size) { - f_resize_string_lengths(allocation_status, parameters[parameter_counter].additional, parameters[parameter_counter].additional.size + f_console_default_allocation_step); - } + f_resize_string_lengths(allocation_status, needs_additional, needs_additional.used + parameters[parameter_counter].has_additional); if (f_status_is_error(allocation_status)) { - f_delete_string_lengths(status, extra_initiator); + f_delete_string_lengths(status, needs_additional); return f_status_set_error(allocation_status); } - - parameters[parameter_counter].result = f_console_result_found; - - // when "other" is supplied, the extra will be recycled to represent the location of the "other" such that ordering can be determined by the caller - parameters[parameter_counter].additional.array[parameters[parameter_counter].additional.used] = location; - parameters[parameter_counter].additional.used++; - - found = f_true; - break; } + + for (f_array_length additional = 0; additional < parameters[parameter_counter].has_additional; additional++) { + needs_additional.array[needs_additional.used] = parameter_counter; + needs_additional.used++; + } // for } + + found = f_true; + break; } // for if (!found) { - if (extra_initiator.used > 0) { + // populate list of remaining parameters not associated with anything. + if (remaining->used >= remaining->size) { f_status allocation_status = f_none; - if (parameters[extra_initiator.array[0]].additional.used >= parameters[extra_initiator.array[0]].additional.size) { - f_resize_string_lengths(allocation_status, parameters[extra_initiator.array[0]].additional, parameters[extra_initiator.array[0]].additional.size + f_console_default_allocation_step); - } + f_resize_string_lengths(allocation_status, (*remaining), remaining->size + f_console_default_allocation_step); if (f_status_is_error(allocation_status)) { - f_delete_string_lengths(status, extra_initiator); + f_delete_string_lengths(status, needs_additional); return f_status_set_error(allocation_status); } - - parameters[extra_initiator.array[0]].result = f_console_result_additional; - parameters[extra_initiator.array[0]].additional.array[parameters[extra_initiator.array[0]].additional.used] = location; - parameters[extra_initiator.array[0]].additional.used++; - - extra_initiator.used--; - - f_string_length i = 0; - - for (; i < extra_initiator.used; i++) { - extra_initiator.array[i] = extra_initiator.array[i + 1]; - } // for } - else { - if (remaining->used >= remaining->size) { - f_status allocation_status = f_none; - - f_resize_string_lengths(allocation_status, (*remaining), remaining->size + f_console_default_allocation_step); - - if (f_status_is_error(allocation_status)) { - f_delete_string_lengths(status, extra_initiator); - return f_status_set_error(allocation_status); - } - } - remaining->array[remaining->used] = location; - remaining->used++; - } + remaining->array[remaining->used] = location; + remaining->used++; } } - ++location; + location++; } // while - if (extra_initiator.used > 0) { + if (needs_additional.used > 0) { status = f_no_data; } else { @@ -242,7 +215,7 @@ extern "C" { { f_status allocation_status = f_none; - f_delete_string_lengths(allocation_status, extra_initiator); + f_delete_string_lengths(allocation_status, needs_additional); } return status; diff --git a/level_1/fl_console/c/console.h b/level_1/fl_console/c/console.h index 3d25a3a..a5c6823 100644 --- a/level_1/fl_console/c/console.h +++ b/level_1/fl_console/c/console.h @@ -26,6 +26,28 @@ extern "C" { /** * Process console parameters. * + * Short parameters are processed as follows: + * - Begin with either '-' or '+'. + * - "Empty" parameters are allow, such that '-' or '+' are valid parameters. + * - Are one character long. + * - May be grouped as a single parameter, such as "tar -xcf" and "tar -x -c -f" are equivalent. + * - Additional parameters must immediately follow the parameter or grouped parameters, such as "tar -xfc file.tar.gz" or "tar -x -f file.tar.gz -c". + * + * Long parameters are processed as follows: + * - Begin with either '--' or '++'. + * - "Empty" parameters are allow, such that '--' or '++' are valid parameters. + * - Are any length long so long as it is less than f_console_max_size. + * - May not be grouped and must be separated from any subsequent parameter, such as: "tar --extract --create --file". + * - Additional parameters must immediately follow the parameter, such as "tar --extract --file file.tar.gz --create". + * + * Other parameters are processed as follows: + * - Anything that does not begin with '-', '+', '--', or '++'. + * - Are any length long so long as it is less than f_console_max_size. + * - May not be grouped and must be separated from any subsequent parameter, such as: "tar extract create file". + * - Additional parameters must immediately follow the parameter, such as "tar extract file file.tar.gz create". + * + * The UTF-8 BOM is not allowed in the parameters. + * * @param argc * The number of parameters passed to the process. * @param argv @@ -37,7 +59,7 @@ extern "C" { * * @return * f_none on success. - * f_no_data if no "extra" parameters were found. + * f_no_data if "additional" parameters were expected but not found. * f_invalid_parameter (with error bit) if a parameter is invalid. * f_reallocation_error (with error bit) on memory reallocation error. */ diff --git a/level_3/firewall/c/firewall.h b/level_3/firewall/c/firewall.h index 7c134ba..c712ce5 100644 --- a/level_3/firewall/c/firewall.h +++ b/level_3/firewall/c/firewall.h @@ -102,12 +102,6 @@ extern "C" { #define firewall_command_lock "lock" #define firewall_command_show "show" - #define firewall_command_start_length 5 - #define firewall_command_stop_length 4 - #define firewall_command_restart_length 7 - #define firewall_command_lock_length 4 - #define firewall_command_show_length 4 - #define firewall_ip_list "ip_list" #define firewall_ip_list_source "source" #define firewall_ip_list_source_action "-s" @@ -245,31 +239,31 @@ extern "C" { #ifdef _en_firewall_debug_ #define f_console_parameter_initialize_firewall \ { \ - f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_debug, f_console_standard_long_debug, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(0, 0, 0, firewall_command_start, f_false, f_console_type_other, firewall_command_start_length), \ - f_console_parameter_initialize(0, 0, 0, firewall_command_stop, f_false, f_console_type_other, firewall_command_stop_length), \ - f_console_parameter_initialize(0, 0, 0, firewall_command_restart, f_false, f_console_type_other, firewall_command_restart_length), \ - f_console_parameter_initialize(0, 0, 0, firewall_command_lock, f_false, f_console_type_other, firewall_command_lock_length), \ - f_console_parameter_initialize(0, 0, 0, firewall_command_show, f_false, f_console_type_other, firewall_command_show_length), \ + f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_debug, f_console_standard_long_debug, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(0, 0, firewall_command_start, f_false, f_console_type_other), \ + f_console_parameter_initialize(0, 0, firewall_command_stop, f_false, f_console_type_other), \ + f_console_parameter_initialize(0, 0, firewall_command_restart, f_false, f_console_type_other), \ + f_console_parameter_initialize(0, 0, firewall_command_lock, f_false, f_console_type_other), \ + f_console_parameter_initialize(0, 0, firewall_command_show, f_false, f_console_type_other), \ } #define firewall_total_parameters 10 #else #define f_console_parameter_initialize_firewall \ { \ - f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(0, 0, 0, firewall_command_start, f_false, f_console_type_other, firewall_command_start_length), \ - f_console_parameter_initialize(0, 0, 0, firewall_command_stop, f_false, f_console_type_other, firewall_command_stop_length), \ - f_console_parameter_initialize(0, 0, 0, firewall_command_restart, f_false, f_console_type_other, firewall_command_restart_length), \ - f_console_parameter_initialize(0, 0, 0, firewall_command_lock, f_false, f_console_type_other, firewall_command_lock_length), \ - f_console_parameter_initialize(0, 0, 0, firewall_command_show, f_false, f_console_type_other, firewall_command_show_length), \ + f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(0, 0, firewall_command_start, f_false, f_console_type_other), \ + f_console_parameter_initialize(0, 0, firewall_command_stop, f_false, f_console_type_other), \ + f_console_parameter_initialize(0, 0, firewall_command_restart, f_false, f_console_type_other), \ + f_console_parameter_initialize(0, 0, firewall_command_lock, f_false, f_console_type_other), \ + f_console_parameter_initialize(0, 0, firewall_command_show, f_false, f_console_type_other), \ } #define firewall_total_parameters 9 diff --git a/level_3/fss_basic_list_read/c/fss_basic_list_read.h b/level_3/fss_basic_list_read/c/fss_basic_list_read.h index 280d94b..20d4c13 100644 --- a/level_3/fss_basic_list_read/c/fss_basic_list_read.h +++ b/level_3/fss_basic_list_read/c/fss_basic_list_read.h @@ -85,16 +85,16 @@ extern "C" { #define f_console_parameter_initialize_fss_basic_list_read \ { \ - f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(fss_basic_list_read_short_name, fss_basic_list_read_long_name, 0, 0, f_true, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_basic_list_read_short_count, fss_basic_list_read_long_count, 0, 0, f_true, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_basic_list_read_short_total, fss_basic_list_read_long_total, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_basic_list_read_short_object, fss_basic_list_read_long_object, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_basic_list_read_short_size, fss_basic_list_read_long_size, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_basic_list_read_short_line, fss_basic_list_read_long_line, 0, 0, f_true, f_console_type_normal, 0), \ + f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(fss_basic_list_read_short_name, fss_basic_list_read_long_name, 0, f_true, f_console_type_normal), \ + f_console_parameter_initialize(fss_basic_list_read_short_count, fss_basic_list_read_long_count, 0, f_true, f_console_type_normal), \ + f_console_parameter_initialize(fss_basic_list_read_short_total, fss_basic_list_read_long_total, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(fss_basic_list_read_short_object, fss_basic_list_read_long_object, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(fss_basic_list_read_short_size, fss_basic_list_read_long_size, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(fss_basic_list_read_short_line, fss_basic_list_read_long_line, 0, f_true, f_console_type_normal), \ } #define fss_basic_list_read_total_parameters 10 diff --git a/level_3/fss_basic_list_write/c/fss_basic_list_write.h b/level_3/fss_basic_list_write/c/fss_basic_list_write.h index 30e1d64..293147a 100644 --- a/level_3/fss_basic_list_write/c/fss_basic_list_write.h +++ b/level_3/fss_basic_list_write/c/fss_basic_list_write.h @@ -72,13 +72,13 @@ extern "C" { #define f_console_parameter_initialize_fss_basic_list_write \ { \ - f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(fss_basic_list_write_short_object, fss_basic_list_write_long_object, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_basic_list_write_short_file, fss_basic_list_write_long_file, 0, 0, f_true, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_basic_list_write_short_string, fss_basic_list_write_long_string, 0, 0, f_true, f_console_type_normal, 0), \ + f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(fss_basic_list_write_short_object, fss_basic_list_write_long_object, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(fss_basic_list_write_short_file, fss_basic_list_write_long_file, 0, f_true, f_console_type_normal), \ + f_console_parameter_initialize(fss_basic_list_write_short_string, fss_basic_list_write_long_string, 0, f_true, f_console_type_normal), \ } #define fss_basic_list_write_total_parameters 7 diff --git a/level_3/fss_basic_read/c/fss_basic_read.h b/level_3/fss_basic_read/c/fss_basic_read.h index b258b9d..12817fd 100644 --- a/level_3/fss_basic_read/c/fss_basic_read.h +++ b/level_3/fss_basic_read/c/fss_basic_read.h @@ -79,14 +79,14 @@ extern "C" { #define f_console_parameter_initialize_fss_basic_read \ { \ - f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(fss_basic_read_short_name, fss_basic_read_long_name, 0, 0, f_true, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_basic_read_short_count, fss_basic_read_long_count, 0, 0, f_true, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_basic_read_short_total, fss_basic_read_long_total, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_basic_read_short_object, fss_basic_read_long_object, 0, 0, f_false, f_console_type_normal, 0), \ + f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(fss_basic_read_short_name, fss_basic_read_long_name, 0, f_true, f_console_type_normal), \ + f_console_parameter_initialize(fss_basic_read_short_count, fss_basic_read_long_count, 0, f_true, f_console_type_normal), \ + f_console_parameter_initialize(fss_basic_read_short_total, fss_basic_read_long_total, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(fss_basic_read_short_object, fss_basic_read_long_object, 0, f_false, f_console_type_normal), \ } #define fss_basic_read_total_parameters 8 diff --git a/level_3/fss_basic_write/c/fss_basic_write.h b/level_3/fss_basic_write/c/fss_basic_write.h index 2fdbfc2..04f5fac 100644 --- a/level_3/fss_basic_write/c/fss_basic_write.h +++ b/level_3/fss_basic_write/c/fss_basic_write.h @@ -71,13 +71,13 @@ extern "C" { #define f_console_parameter_initialize_fss_basic_write \ { \ - f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(fss_basic_write_short_object, fss_basic_write_long_object, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_basic_write_short_file, fss_basic_write_long_file, 0, 0, f_true, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_basic_write_short_string, fss_basic_write_long_string, 0, 0, f_true, f_console_type_normal, 0), \ + f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(fss_basic_write_short_object, fss_basic_write_long_object, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(fss_basic_write_short_file, fss_basic_write_long_file, 0, f_true, f_console_type_normal), \ + f_console_parameter_initialize(fss_basic_write_short_string, fss_basic_write_long_string, 0, f_true, f_console_type_normal), \ } #define fss_basic_write_total_parameters 7 diff --git a/level_3/fss_extended_read/c/fss_extended_read.h b/level_3/fss_extended_read/c/fss_extended_read.h index 4d77c53..2ca873c 100644 --- a/level_3/fss_extended_read/c/fss_extended_read.h +++ b/level_3/fss_extended_read/c/fss_extended_read.h @@ -82,15 +82,15 @@ extern "C" { #define f_console_parameter_initialize_fss_extended_read \ { \ - f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(fss_extended_read_short_name, fss_extended_read_long_name, 0, 0, f_true, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_extended_read_short_count, fss_extended_read_long_count, 0, 0, f_true, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_extended_read_short_total, fss_extended_read_long_total, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_extended_read_short_object, fss_extended_read_long_object, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_extended_read_short_select, fss_extended_read_long_select, 0, 0, f_true, f_console_type_normal, 0), \ + f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(fss_extended_read_short_name, fss_extended_read_long_name, 0, f_true, f_console_type_normal), \ + f_console_parameter_initialize(fss_extended_read_short_count, fss_extended_read_long_count, 0, f_true, f_console_type_normal), \ + f_console_parameter_initialize(fss_extended_read_short_total, fss_extended_read_long_total, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(fss_extended_read_short_object, fss_extended_read_long_object, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(fss_extended_read_short_select, fss_extended_read_long_select, 0, f_true, f_console_type_normal), \ } #define fss_extended_read_total_parameters 9 diff --git a/level_3/fss_extended_write/c/fss_extended_write.h b/level_3/fss_extended_write/c/fss_extended_write.h index 1fb2077..6093d77 100644 --- a/level_3/fss_extended_write/c/fss_extended_write.h +++ b/level_3/fss_extended_write/c/fss_extended_write.h @@ -75,14 +75,14 @@ extern "C" { #define f_console_parameter_initialize_fss_extended_write \ { \ - f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(fss_extended_write_short_object, fss_extended_write_long_object, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_extended_write_short_file, fss_extended_write_long_file, 0, 0, f_true, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_extended_write_short_string, fss_extended_write_long_string, 0, 0, f_true, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_extended_write_short_partial, fss_extended_write_long_partial, 0, 0, f_false, f_console_type_normal, 0), \ + f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(fss_extended_write_short_object, fss_extended_write_long_object, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(fss_extended_write_short_file, fss_extended_write_long_file, 0, f_true, f_console_type_normal), \ + f_console_parameter_initialize(fss_extended_write_short_string, fss_extended_write_long_string, 0, f_true, f_console_type_normal), \ + f_console_parameter_initialize(fss_extended_write_short_partial, fss_extended_write_long_partial, 0, f_false, f_console_type_normal), \ } #define fss_extended_write_total_parameters 8 diff --git a/level_3/fss_status_code/c/fss_status_code.h b/level_3/fss_status_code/c/fss_status_code.h index fd220f4..d7f5cce 100644 --- a/level_3/fss_status_code/c/fss_status_code.h +++ b/level_3/fss_status_code/c/fss_status_code.h @@ -77,15 +77,15 @@ extern "C" { #define f_console_parameter_initialize_fss_status_code \ { \ - f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(fss_status_code_short_is_fine, fss_status_code_long_is_fine, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_status_code_short_is_warning, fss_status_code_long_is_warning, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_status_code_short_is_error, fss_status_code_long_is_error, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_status_code_short_context, fss_status_code_long_context, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(fss_status_code_short_number, fss_status_code_long_number, 0, 0, f_false, f_console_type_normal, 0), \ + f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(fss_status_code_short_is_fine, fss_status_code_long_is_fine, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(fss_status_code_short_is_warning, fss_status_code_long_is_warning, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(fss_status_code_short_is_error, fss_status_code_long_is_error, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(fss_status_code_short_context, fss_status_code_long_context, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(fss_status_code_short_number, fss_status_code_long_number, 0, f_false, f_console_type_normal), \ } #define fss_status_code_total_parameters 9 diff --git a/level_3/init/c/init.h b/level_3/init/c/init.h index cee48ab..6691399 100644 --- a/level_3/init/c/init.h +++ b/level_3/init/c/init.h @@ -164,25 +164,25 @@ extern "C" { #ifdef _en_init_debug_ #define f_console_parameter_initialize_init \ { \ - f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_debug, f_console_standard_long_debug, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(init_parameter_runlevel_short_name, init_parameter_runlevel_long_name, 0, 0, f_true, f_console_type_normal, 0), \ - f_console_parameter_initialize(init_parameter_no_prepare_short_name, init_parameter_no_prepare_long_name, 0, 0, f_true, f_console_type_normal, 0), \ + f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_debug, f_console_standard_long_debug, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(init_parameter_runlevel_short_name, init_parameter_runlevel_long_name, 0, f_true, f_console_type_normal), \ + f_console_parameter_initialize(init_parameter_no_prepare_short_name, init_parameter_no_prepare_long_name, 0, f_true, f_console_type_normal), \ } #define init_total_parameters 7 #else #define f_console_parameter_initialize_init \ { \ - f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(init_parameter_runlevel_short_name, init_parameter_runlevel_long_name, 0, 0, f_true, f_console_type_normal, 0), \ - f_console_parameter_initialize(init_parameter_no_prepare_short_name, init_parameter_no_prepare_long_name, 0, 0, f_true, f_console_type_normal, 0), \ + f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(init_parameter_runlevel_short_name, init_parameter_runlevel_long_name, 0, f_true, f_console_type_normal), \ + f_console_parameter_initialize(init_parameter_no_prepare_short_name, init_parameter_no_prepare_long_name, 0, f_true, f_console_type_normal), \ } #define init_total_parameters 6 diff --git a/level_3/status_code/c/status_code.h b/level_3/status_code/c/status_code.h index c7bb88a..d89f948 100644 --- a/level_3/status_code/c/status_code.h +++ b/level_3/status_code/c/status_code.h @@ -74,15 +74,15 @@ extern "C" { #define f_console_parameter_initialize_status_code \ { \ - f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \ - f_console_parameter_initialize(status_code_short_is_fine, status_code_long_is_fine, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(status_code_short_is_warning, status_code_long_is_warning, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(status_code_short_is_error, status_code_long_is_error, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(status_code_short_context, status_code_long_context, 0, 0, f_false, f_console_type_normal, 0), \ - f_console_parameter_initialize(status_code_short_number, status_code_long_number, 0, 0, f_false, f_console_type_normal, 0), \ + f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \ + f_console_parameter_initialize(status_code_short_is_fine, status_code_long_is_fine, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(status_code_short_is_warning, status_code_long_is_warning, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(status_code_short_is_error, status_code_long_is_error, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(status_code_short_context, status_code_long_context, 0, f_false, f_console_type_normal), \ + f_console_parameter_initialize(status_code_short_number, status_code_long_number, 0, f_false, f_console_type_normal), \ } #define status_code_total_parameters 9 -- 1.8.3.1