]> Kevux Git Server - fll/commitdiff
Bugfix: consistently use the data.output file for standard output printing.
authorKevin Day <thekevinday@gmail.com>
Fri, 23 Oct 2020 01:28:41 +0000 (20:28 -0500)
committerKevin Day <thekevinday@gmail.com>
Fri, 23 Oct 2020 01:28:41 +0000 (20:28 -0500)
There are still places that need to be converted from f_type_output and printf() to use this data.output file.
With this change, the data.output will be used and can more readily be updated to point to some file other than standard output.

The fss_*_read programs are not updated with this commit due to having additional changes.
These changes will also be applied to those programs in another commit.

31 files changed:
level_3/byte_dump/c/byte_dump.c
level_3/byte_dump/c/byte_dump.h
level_3/fake/c/fake.c
level_3/fake/c/fake.h
level_3/fake/c/private-build.c
level_3/fake/c/private-make.c
level_3/firewall/c/firewall.c
level_3/firewall/c/firewall.h
level_3/firewall/c/private-firewall.c
level_3/fss_basic_list_write/c/fss_basic_list_write.c
level_3/fss_basic_list_write/c/fss_basic_list_write.h
level_3/fss_basic_write/c/fss_basic_write.c
level_3/fss_basic_write/c/fss_basic_write.h
level_3/fss_extended_list_write/c/fss_extended_list_write.c
level_3/fss_extended_list_write/c/fss_extended_list_write.h
level_3/fss_extended_write/c/fss_extended_write.c
level_3/fss_extended_write/c/fss_extended_write.h
level_3/fss_status_code/c/fss_status_code.c
level_3/fss_status_code/c/fss_status_code.h
level_3/fss_status_code/c/private-fss_status_code.c
level_3/iki_read/c/iki_read.c
level_3/iki_read/c/iki_read.h
level_3/iki_read/c/private-iki_read.c
level_3/iki_write/c/iki_write.c
level_3/iki_write/c/iki_write.h
level_3/init/c/init.c
level_3/init/c/init.h
level_3/init/c/private-init.c
level_3/status_code/c/private-status_code.c
level_3/status_code/c/status_code.c
level_3/status_code/c/status_code.h

index 1ef274280d50e7382e233a8393c044d0940a92c5..049170cbcb550cb16ef5c820289a19fc007c7bd9 100644 (file)
@@ -6,70 +6,70 @@ extern "C" {
 #endif
 
 #ifndef _di_byte_dump_print_help_
-  f_return_status byte_dump_print_help(const f_file_t file, const f_color_context_t context) {
+  f_return_status byte_dump_print_help(const f_file_t output, const f_color_context_t context) {
 
-    fll_program_print_help_header(file, context, byte_dump_name_long, byte_dump_version);
+    fll_program_print_help_header(output, context, byte_dump_name_long, byte_dump_version);
 
-    fll_program_print_help_option(file, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
-    fll_program_print_help_option(file, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
-    fll_program_print_help_option(file, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
+    fll_program_print_help_option(output, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
+    fll_program_print_help_option(output, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
+    fll_program_print_help_option(output, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
 
-    fprintf(file.stream, "%c", f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
-    fll_program_print_help_option(file, context, byte_dump_short_binary, byte_dump_long_binary, f_console_symbol_short_enable, f_console_symbol_long_enable, "     Display binary representation.");
-    fll_program_print_help_option(file, context, byte_dump_short_decimal, byte_dump_long_decimal, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Display decimal representation.");
-    fll_program_print_help_option(file, context, byte_dump_short_duodecimal, byte_dump_long_duodecimal, f_console_symbol_short_enable, f_console_symbol_long_enable, " Display duodecimal representation.");
-    fll_program_print_help_option(file, context, byte_dump_short_hexidecimal, byte_dump_long_hexidecimal, f_console_symbol_short_enable, f_console_symbol_long_enable, "Display hexadecimal representation.");
-    fll_program_print_help_option(file, context, byte_dump_short_octal, byte_dump_long_octal, f_console_symbol_short_enable, f_console_symbol_long_enable, "      Display octal representation.");
+    fll_program_print_help_option(output, context, byte_dump_short_binary, byte_dump_long_binary, f_console_symbol_short_enable, f_console_symbol_long_enable, "     Display binary representation.");
+    fll_program_print_help_option(output, context, byte_dump_short_decimal, byte_dump_long_decimal, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Display decimal representation.");
+    fll_program_print_help_option(output, context, byte_dump_short_duodecimal, byte_dump_long_duodecimal, f_console_symbol_short_enable, f_console_symbol_long_enable, " Display duodecimal representation.");
+    fll_program_print_help_option(output, context, byte_dump_short_hexidecimal, byte_dump_long_hexidecimal, f_console_symbol_short_enable, f_console_symbol_long_enable, "Display hexadecimal representation.");
+    fll_program_print_help_option(output, context, byte_dump_short_octal, byte_dump_long_octal, f_console_symbol_short_enable, f_console_symbol_long_enable, "      Display octal representation.");
 
-    fprintf(file.stream, "%c", f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
-    fll_program_print_help_option(file, context, byte_dump_short_first, byte_dump_long_first, f_console_symbol_short_enable, f_console_symbol_long_enable, "      Start reading at this byte offset.");
-    fll_program_print_help_option(file, context, byte_dump_short_last, byte_dump_long_last, f_console_symbol_short_enable, f_console_symbol_long_enable, "       Stop reading at this (inclusive) byte offset.");
-    fll_program_print_help_option(file, context, byte_dump_short_width, byte_dump_long_width, f_console_symbol_short_enable, f_console_symbol_long_enable, "      Set number of columns of Bytes to display.");
+    fll_program_print_help_option(output, context, byte_dump_short_first, byte_dump_long_first, f_console_symbol_short_enable, f_console_symbol_long_enable, "      Start reading at this byte offset.");
+    fll_program_print_help_option(output, context, byte_dump_short_last, byte_dump_long_last, f_console_symbol_short_enable, f_console_symbol_long_enable, "       Stop reading at this (inclusive) byte offset.");
+    fll_program_print_help_option(output, context, byte_dump_short_width, byte_dump_long_width, f_console_symbol_short_enable, f_console_symbol_long_enable, "      Set number of columns of Bytes to display.");
 
-    fprintf(file.stream, "%c", f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
-    fll_program_print_help_option(file, context, byte_dump_short_text, byte_dump_long_text, f_console_symbol_short_enable, f_console_symbol_long_enable, "       Include a column of text when displaying the bytes.");
-    fll_program_print_help_option(file, context, byte_dump_short_placeholder, byte_dump_long_placeholder, f_console_symbol_short_enable, f_console_symbol_long_enable, "Use a placeholder character instead of a space for placeholders.");
+    fll_program_print_help_option(output, context, byte_dump_short_text, byte_dump_long_text, f_console_symbol_short_enable, f_console_symbol_long_enable, "       Include a column of text when displaying the bytes.");
+    fll_program_print_help_option(output, context, byte_dump_short_placeholder, byte_dump_long_placeholder, f_console_symbol_short_enable, f_console_symbol_long_enable, "Use a placeholder character instead of a space for placeholders.");
 
-    fprintf(file.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
+    fprintf(output.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
 
-    fl_color_print(file.stream, context.set.important, " Special Options: ");
+    fl_color_print(output.stream, context.set.important, " Special Options: ");
 
-    fll_program_print_help_option_long(file, context, byte_dump_long_normal, f_console_symbol_long_enable, " Display UTF-8 symbols for ASCII control codes.");
-    fll_program_print_help_option_long(file, context, byte_dump_long_simple, f_console_symbol_long_enable, " Display spaces for ASCII control codes.");
-    fll_program_print_help_option_long(file, context, byte_dump_long_classic, f_console_symbol_long_enable, "Display periods for ASCII control codes.");
+    fll_program_print_help_option_long(output, context, byte_dump_long_normal, f_console_symbol_long_enable, " Display UTF-8 symbols for ASCII control codes.");
+    fll_program_print_help_option_long(output, context, byte_dump_long_simple, f_console_symbol_long_enable, " Display spaces for ASCII control codes.");
+    fll_program_print_help_option_long(output, context, byte_dump_long_classic, f_console_symbol_long_enable, "Display periods for ASCII control codes.");
 
-    fll_program_print_help_usage(file, context, byte_dump_name, "filename(s)");
+    fll_program_print_help_usage(output, context, byte_dump_name, "filename(s)");
 
-    fprintf(file.stream, "  When using the ");
-    fl_color_print(file.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, byte_dump_long_text);
-    fprintf(file.stream, " option, some UTF-8 characters may be replaced by your instance and cause display alignment issues.");
+    fprintf(output.stream, "  When using the ");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, byte_dump_long_text);
+    fprintf(output.stream, " option, some UTF-8 characters may be replaced by your instance and cause display alignment issues.");
 
-    fprintf(file.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
+    fprintf(output.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
 
-    fprintf(file.stream, "  Special UTF-8 characters and non-spacing UTF-8 characters may be replaced with a space (or a placeholder when the ");
-    fl_color_print(file.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, byte_dump_long_placeholder);
-    fprintf(file.stream, " option is used).");
+    fprintf(output.stream, "  Special UTF-8 characters and non-spacing UTF-8 characters may be replaced with a space (or a placeholder when the ");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, byte_dump_long_placeholder);
+    fprintf(output.stream, " option is used).");
 
-    fprintf(file.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
+    fprintf(output.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
 
-    fprintf(file.stream, "  UTF-8 \"Combining\" characters might have a space appended to allow a proper display but this may cause copy and paste issues.");
+    fprintf(output.stream, "  UTF-8 \"Combining\" characters might have a space appended to allow a proper display but this may cause copy and paste issues.");
 
-    fprintf(file.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
+    fprintf(output.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
 
-    fprintf(file.stream, "  When ");
-    fl_color_print(file.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, byte_dump_long_last);
-    fprintf(file.stream, " is used, any UTF-8 sequences will still be printed in full should any part is found within the requested range.");
+    fprintf(output.stream, "  When ");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, byte_dump_long_last);
+    fprintf(output.stream, " is used, any UTF-8 sequences will still be printed in full should any part is found within the requested range.");
 
-    fprintf(file.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
+    fprintf(output.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
 
     return F_none;
   }
index d81902ea3bed15dae0ba18d472c90209c09376e0..1084765e14f54863e6b0b49a43608c84bb6438f8 100644 (file)
@@ -245,7 +245,7 @@ extern "C" {
 /**
  * Print help.
  *
- * @param file
+ * @param output
  *   The file to print to.
  * @param context
  *   The color context settings.
@@ -254,7 +254,7 @@ extern "C" {
  *   F_none on success.
  */
 #ifndef _di_byte_dump_print_help_
-  extern f_return_status byte_dump_print_help(const f_file_t file, const f_color_context_t context);
+  extern f_return_status byte_dump_print_help(const f_file_t output, const f_color_context_t context);
 #endif // _di_byte_dump_print_help_
 
 /**
index 2513637644f27644aab13a2c6dcb2ddfe035670c..348b886c538e12c446f312bd28752c48bee363f3 100644 (file)
@@ -11,88 +11,88 @@ extern "C" {
 #endif
 
 #ifndef _di_fake_print_help_
-  f_return_status fake_print_help(const f_file_t file, const f_color_context_t context) {
-
-    fll_program_print_help_header(file, context, fake_name_long, fake_version);
-
-    fll_program_print_help_option(file, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
-    fll_program_print_help_option(file, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
-    fll_program_print_help_option(file, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
-
-    fprintf(file.stream, "%c", f_string_eol[0]);
-
-    fll_program_print_help_option(file, context, fake_short_define, fake_long_define, f_console_symbol_short_enable, f_console_symbol_long_enable, "  Override defines from settings file with this define.");
-    fll_program_print_help_option(file, context, fake_short_fakefile, fake_long_fakefile, f_console_symbol_short_enable, f_console_symbol_long_enable, "Use this fakefile.");
-    fll_program_print_help_option(file, context, fake_short_mode, fake_long_mode, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Use this mode when processing the build settings.");
-    fll_program_print_help_option(file, context, fake_short_process, fake_long_process, f_console_symbol_short_enable, f_console_symbol_long_enable, " Process name for storing build states.");
-    fll_program_print_help_option(file, context, fake_short_settings, fake_long_settings, f_console_symbol_short_enable, f_console_symbol_long_enable, "Use this settings file.");
-
-    fprintf(file.stream, "%c", f_string_eol[0]);
-
-    fll_program_print_help_option(file, context, fake_short_path_build, fake_long_path_build, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Specify a custom build directory.");
-    fll_program_print_help_option(file, context, fake_short_path_data, fake_long_path_data, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Specify a custom path to the data files.");
-    fll_program_print_help_option(file, context, fake_short_path_sources, fake_long_path_sources, f_console_symbol_short_enable, f_console_symbol_long_enable, " Specify a custom path to the source files.");
-    fll_program_print_help_option(file, context, fake_short_path_work, fake_long_path_work, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Use includes/libraries/programs from this directory instead of system.");
-
-    fprintf(file.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
-
-    fl_color_print(file.stream, context.set.important, " Special Options: ");
-
-    fll_program_print_help_option_long(file, context, fake_long_documents_disabled, f_console_symbol_long_enable, "   Forcibly do not build documents files.");
-    fll_program_print_help_option_long(file, context, fake_long_documents_enabled, f_console_symbol_long_enable, "    Forcibly do build documents files.");
-    fll_program_print_help_option_long(file, context, fake_long_shared_disabled, f_console_symbol_long_enable, "Forcibly do not build shared files.");
-    fll_program_print_help_option_long(file, context, fake_long_shared_enabled, f_console_symbol_long_enable, " Forcibly do build shared files.");
-    fll_program_print_help_option_long(file, context, fake_long_static_disabled, f_console_symbol_long_enable, "Forcibly do not build static files.");
-    fll_program_print_help_option_long(file, context, fake_long_static_enabled, f_console_symbol_long_enable, " Forcibly do build static files.");
-
-    fprintf(file.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
-
-    fl_color_print(file.stream, context.set.important, " Operations: ");
-
-    fll_program_print_help_option_other(file, context, fake_other_operation_build, "   Build or compile the code based on build settings file.");
-    fll_program_print_help_option_other(file, context, fake_other_operation_clean, "   Delete all build files.");
-    fll_program_print_help_option_other(file, context, fake_other_operation_make, "    Build or compile the code based on fakefile.");
-    fll_program_print_help_option_other(file, context, fake_other_operation_skeleton, "Build a skeleton directory structure.");
-
-    fll_program_print_help_usage(file, context, fake_name, "operation");
-
-    fprintf(file.stream, "  When performing the ");
-    fl_color_print(file.stream, context.set.notable, "%s", fake_other_operation_build);
-    fprintf(file.stream, " operation, the ");
-    fl_color_print(file.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, fake_long_mode);
-    fprintf(file.stream, " parameter specifies a name (limited to alpha-numeric, underscore, and dash) to be used in addition to the global.");
-    fprintf(file.stream, "%c", f_string_eol[0]);
-
-    fprintf(file.stream, "  For example, when a ");
-    fl_color_print(file.stream, context.set.notable, "%s", fake_long_mode);
-    fprintf(file.stream, " of 'fll_monolithic' is specified, build libaries from both 'build_libraries' and 'build_libraries-fll_monolithic' are used (but not 'build_libraries-fll_level').");
-
-    fprintf(file.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
-
-    fprintf(file.stream, "  When specifying the ");
-    fl_color_print(file.stream, context.set.notable, "%s", fake_long_fakefile);
-    fprintf(file.stream, " or the ");
-    fl_color_print(file.stream, context.set.notable, "%s", fake_long_settings);
-    fprintf(file.stream, " parameters, the filenames are relative to the data build directory, unless a path is used.");
-    fprintf(file.stream, "%c", f_string_eol[0]);
-
-    fprintf(file.stream, "  For example, with '");
-    fl_color_print(file.stream, context.set.notable, "%s%s my_fakefile", f_console_symbol_long_enable, fake_long_fakefile);
-    fprintf(file.stream, "' the fakefile at '");
-    fl_color_print(file.stream, context.set.notable, "./%s%smy_fakefile", fake_default_path_data, fake_default_path_build);
-    fprintf(file.stream, " would be used, however with '");
-    fl_color_print(file.stream, context.set.notable, "%s%s ./my_fakefile", f_console_symbol_long_enable, fake_long_fakefile);
-    fprintf(file.stream, "' the fakefile at '");
-    fl_color_print(file.stream, context.set.notable, "./my_fakefile", fake_default_path_data, fake_default_path_build);
-    fprintf(file.stream, " would be used.");
-
-    fprintf(file.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
+  f_return_status fake_print_help(const f_file_t output, const f_color_context_t context) {
+
+    fll_program_print_help_header(output, context, fake_name_long, fake_version);
+
+    fll_program_print_help_option(output, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
+    fll_program_print_help_option(output, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
+    fll_program_print_help_option(output, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
+
+    fll_program_print_help_option(output, context, fake_short_define, fake_long_define, f_console_symbol_short_enable, f_console_symbol_long_enable, "  Override defines from settings file with this define.");
+    fll_program_print_help_option(output, context, fake_short_fakefile, fake_long_fakefile, f_console_symbol_short_enable, f_console_symbol_long_enable, "Use this fakefile.");
+    fll_program_print_help_option(output, context, fake_short_mode, fake_long_mode, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Use this mode when processing the build settings.");
+    fll_program_print_help_option(output, context, fake_short_process, fake_long_process, f_console_symbol_short_enable, f_console_symbol_long_enable, " Process name for storing build states.");
+    fll_program_print_help_option(output, context, fake_short_settings, fake_long_settings, f_console_symbol_short_enable, f_console_symbol_long_enable, "Use this settings file.");
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
+
+    fll_program_print_help_option(output, context, fake_short_path_build, fake_long_path_build, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Specify a custom build directory.");
+    fll_program_print_help_option(output, context, fake_short_path_data, fake_long_path_data, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Specify a custom path to the data files.");
+    fll_program_print_help_option(output, context, fake_short_path_sources, fake_long_path_sources, f_console_symbol_short_enable, f_console_symbol_long_enable, " Specify a custom path to the source files.");
+    fll_program_print_help_option(output, context, fake_short_path_work, fake_long_path_work, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Use includes/libraries/programs from this directory instead of system.");
+
+    fprintf(output.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
+
+    fl_color_print(output.stream, context.set.important, " Special Options: ");
+
+    fll_program_print_help_option_long(output, context, fake_long_documents_disabled, f_console_symbol_long_enable, "   Forcibly do not build documents files.");
+    fll_program_print_help_option_long(output, context, fake_long_documents_enabled, f_console_symbol_long_enable, "    Forcibly do build documents files.");
+    fll_program_print_help_option_long(output, context, fake_long_shared_disabled, f_console_symbol_long_enable, "Forcibly do not build shared files.");
+    fll_program_print_help_option_long(output, context, fake_long_shared_enabled, f_console_symbol_long_enable, " Forcibly do build shared files.");
+    fll_program_print_help_option_long(output, context, fake_long_static_disabled, f_console_symbol_long_enable, "Forcibly do not build static files.");
+    fll_program_print_help_option_long(output, context, fake_long_static_enabled, f_console_symbol_long_enable, " Forcibly do build static files.");
+
+    fprintf(output.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
+
+    fl_color_print(output.stream, context.set.important, " Operations: ");
+
+    fll_program_print_help_option_other(output, context, fake_other_operation_build, "   Build or compile the code based on build settings file.");
+    fll_program_print_help_option_other(output, context, fake_other_operation_clean, "   Delete all build files.");
+    fll_program_print_help_option_other(output, context, fake_other_operation_make, "    Build or compile the code based on fakefile.");
+    fll_program_print_help_option_other(output, context, fake_other_operation_skeleton, "Build a skeleton directory structure.");
+
+    fll_program_print_help_usage(output, context, fake_name, "operation");
+
+    fprintf(output.stream, "  When performing the ");
+    fl_color_print(output.stream, context.set.notable, "%s", fake_other_operation_build);
+    fprintf(output.stream, " operation, the ");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, fake_long_mode);
+    fprintf(output.stream, " parameter specifies a name (limited to alpha-numeric, underscore, and dash) to be used in addition to the global.");
+    fprintf(output.stream, "%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  For example, when a ");
+    fl_color_print(output.stream, context.set.notable, "%s", fake_long_mode);
+    fprintf(output.stream, " of 'fll_monolithic' is specified, build libaries from both 'build_libraries' and 'build_libraries-fll_monolithic' are used (but not 'build_libraries-fll_level').");
+
+    fprintf(output.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
+
+    fprintf(output.stream, "  When specifying the ");
+    fl_color_print(output.stream, context.set.notable, "%s", fake_long_fakefile);
+    fprintf(output.stream, " or the ");
+    fl_color_print(output.stream, context.set.notable, "%s", fake_long_settings);
+    fprintf(output.stream, " parameters, the filenames are relative to the data build directory, unless a path is used.");
+    fprintf(output.stream, "%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  For example, with '");
+    fl_color_print(output.stream, context.set.notable, "%s%s my_fakefile", f_console_symbol_long_enable, fake_long_fakefile);
+    fprintf(output.stream, "' the fakefile at '");
+    fl_color_print(output.stream, context.set.notable, "./%s%smy_fakefile", fake_default_path_data, fake_default_path_build);
+    fprintf(output.stream, " would be used, however with '");
+    fl_color_print(output.stream, context.set.notable, "%s%s ./my_fakefile", f_console_symbol_long_enable, fake_long_fakefile);
+    fprintf(output.stream, "' the fakefile at '");
+    fl_color_print(output.stream, context.set.notable, "./my_fakefile", fake_default_path_data, fake_default_path_build);
+    fprintf(output.stream, " would be used.");
+
+    fprintf(output.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
 
     return F_none;
   }
index 12f2e1119f5aef09d4d885e819541601789e0463..5aaf430cb8df49049e4c0449043b6db7a6537ada 100644 (file)
@@ -380,7 +380,6 @@ extern "C" {
     mode_t umask;
     f_signal_t signal;
 
-
     f_string_dynamics_t define;
     f_string_dynamic_t fakefile;
     f_string_dynamics_t mode;
@@ -498,7 +497,7 @@ extern "C" {
 /**
  * Print help.
  *
- * @param file
+ * @param output
  *   The file to print to.
  * @param context
  *   The color context settings.
@@ -507,7 +506,7 @@ extern "C" {
  *   F_none on success.
  */
 #ifndef _di_fake_print_help_
-  extern f_return_status fake_print_help(const f_file_t file, const f_color_context_t context);
+  extern f_return_status fake_print_help(const f_file_t output, const f_color_context_t context);
 #endif // _di_fake_print_help_
 
 /**
index d4f77828d803e2a967fa58a195568cece519b1c9..2cb22f45f7f3cc8c98bd023575223624e9b4c653 100644 (file)
@@ -1311,7 +1311,7 @@ extern "C" {
         f_string_range_t range = f_macro_string_range_t_initialize(buffer.used);
         f_fss_delimits_t delimits = f_fss_delimits_t_initialize;
 
-        *status = fll_fss_extended_read(&buffer, &range, &objects, &contents, 0, 0, &delimits);
+        *status = fll_fss_extended_read(&buffer, &range, &objects, &contents, 0, 0, &delimits, 0);
 
         if (F_status_is_error(*status)) {
           fake_print_error_fss(data, F_status_set_fine(*status), "fll_fss_extended_read", data.file_data_build_settings.string, range, F_true);
@@ -2493,9 +2493,9 @@ extern "C" {
         fl_color_print(data.output.stream, data.context.set.important, "Building project%c", data_build.setting.project_name.used ? ' ' : 0);
 
         if (data_build.setting.project_name.used) {
-          fl_color_print_code(f_type_output, data.context.notable);
-          f_print_dynamic(f_type_output, data_build.setting.project_name);
-          fl_color_print_code(f_type_output, data.context.reset);
+          fl_color_print_code(data.output.stream, data.context.notable);
+          f_print_dynamic(data.output.stream, data_build.setting.project_name);
+          fl_color_print_code(data.output.stream, data.context.reset);
         }
 
         fl_color_print(data.output.stream, data.context.set.important, ".%c", f_string_eol[0]);
index 1777c038778da0717d23398e65ae99884d9c22df..b70314d8163dbdc6558597858945144f9f3cbe5c 100644 (file)
@@ -205,7 +205,7 @@ extern "C" {
       f_string_range_t range = f_macro_string_range_t_initialize(data_make->buffer.used);
       f_fss_delimits_t delimits = f_fss_delimits_t_initialize;
 
-      *status = fll_fss_basic_list_read(&data_make->buffer, &range, &list_objects, &list_contents, &delimits);
+      *status = fll_fss_basic_list_read(&data_make->buffer, &range, &list_objects, &list_contents, &delimits, 0);
 
       if (F_status_is_error(*status)) {
         fake_print_error_fss(data, *status, "fll_fss_basic_list_read", data.file_data_build_fakefile.string, range, F_true);
@@ -272,7 +272,7 @@ extern "C" {
             delimits.used = 0;
             content_range = list_contents.array[i].array[0];
 
-            *status = fll_fss_extended_read(&data_make->buffer, &content_range, &settings.objects, &settings.contents, 0, 0, &delimits);
+            *status = fll_fss_extended_read(&data_make->buffer, &content_range, &settings.objects, &settings.contents, 0, 0, &delimits, 0);
 
             if (F_status_is_error(*status)) {
               fake_print_error_fss(data, F_status_set_fine(*status), "fll_fss_extended_read", data.file_data_build_fakefile.string, content_range, F_true);
@@ -304,7 +304,7 @@ extern "C" {
           delimits.used = 0;
           content_range = list_contents.array[i].array[0];
 
-          *status = fll_fss_extended_read(&data_make->buffer, &content_range, &data_make->fakefile.array[data_make->fakefile.used].objects, &data_make->fakefile.array[data_make->fakefile.used].contents, 0, &data_make->fakefile.array[data_make->fakefile.used].quotess, &delimits);
+          *status = fll_fss_extended_read(&data_make->buffer, &content_range, &data_make->fakefile.array[data_make->fakefile.used].objects, &data_make->fakefile.array[data_make->fakefile.used].contents, 0, &data_make->fakefile.array[data_make->fakefile.used].quotess, &delimits, 0);
 
           if (F_status_is_error(*status)) {
             fake_print_error_fss(data, F_status_set_fine(*status), "fll_fss_extended_read", data.file_data_build_fakefile.string, content_range, F_true);
@@ -3573,7 +3573,7 @@ extern "C" {
 
     if (operation == fake_make_operation_type_print) {
       for (f_array_length_t i = 0; i < arguments.used; i++) {
-        f_print_dynamic(f_type_output, arguments.array[i]);
+        f_print_dynamic(data.output.stream, arguments.array[i]);
 
         if (i + 1 < arguments.used) {
           fprintf(data.output.stream, " ");
index 3c394f47f52b43a9965a39e8389c5b013e2d4f1d..ba83361fb8c6087dde39a4c5270022302e34dc3e 100644 (file)
@@ -12,44 +12,44 @@ extern "C" {
 #endif
 
 #ifndef _di_firewall_print_help_
-  f_return_status firewall_print_help(const f_file_t file, const f_color_context_t context) {
+  f_return_status firewall_print_help(const f_file_t output, const f_color_context_t context) {
 
-    fll_program_print_help_header(file, context, firewall_name_long, firewall_version);
+    fll_program_print_help_header(output, context, firewall_name_long, firewall_version);
 
-    fll_program_print_help_option(file, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
-    fll_program_print_help_option(file, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
-    fll_program_print_help_option(file, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
+    fll_program_print_help_option(output, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
+    fll_program_print_help_option(output, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
+    fll_program_print_help_option(output, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
 
-    printf("%c%c", f_string_eol[0], f_string_eol[0]);
-    fl_color_print(f_type_output, context.set.important, " Available Commands: ");
+    fprintf(output.stream, "%c%c", f_string_eol[0], f_string_eol[0]);
+    fl_color_print(output.stream, context.set.important, " Available Commands: ");
 
-    printf("%c  ", f_string_eol[0]);
-    fl_color_print(f_type_output, context.set.standout, firewall_command_start);
-    printf("    Turn on the firewall");
+    fprintf(output.stream, "%c  ", f_string_eol[0]);
+    fl_color_print(output.stream, context.set.standout, firewall_command_start);
+    fprintf(output.stream, "    Turn on the firewall");
 
-    printf("%c  ", f_string_eol[0]);
-    fl_color_print(f_type_output, context.set.standout, firewall_command_stop);
-    printf("     Turn off the firewall");
+    fprintf(output.stream, "%c  ", f_string_eol[0]);
+    fl_color_print(output.stream, context.set.standout, firewall_command_stop);
+    fprintf(output.stream, "     Turn off the firewall");
 
-    printf("%c  ", f_string_eol[0]);
-    fl_color_print(f_type_output, context.set.standout, firewall_command_restart);
-    printf("  Turn off and then turn on the firewall");
+    fprintf(output.stream, "%c  ", f_string_eol[0]);
+    fl_color_print(output.stream, context.set.standout, firewall_command_restart);
+    fprintf(output.stream, "  Turn off and then turn on the firewall");
 
-    printf("%c  ", f_string_eol[0]);
-    fl_color_print(f_type_output, context.set.standout, firewall_command_lock);
-    printf("     Prevent all communication");
+    fprintf(output.stream, "%c  ", f_string_eol[0]);
+    fl_color_print(output.stream, context.set.standout, firewall_command_lock);
+    fprintf(output.stream, "     Prevent all communication");
 
-    printf("%c  ", f_string_eol[0]);
-    fl_color_print(f_type_output, context.set.standout, firewall_command_show);
-    printf("     Show active firewall settings");
+    fprintf(output.stream, "%c  ", f_string_eol[0]);
+    fl_color_print(output.stream, context.set.standout, firewall_command_show);
+    fprintf(output.stream, "     Show active firewall settings");
 
-    fll_program_print_help_usage(file, context, firewall_name, "command");
+    fll_program_print_help_usage(output, context, firewall_name, "command");
 
     return F_none;
   }
@@ -230,10 +230,10 @@ extern "C" {
         }
 
         if (show_nat) {
-          fl_color_print(f_type_output, data->context.set.standout, "=========================== ");
-          fl_color_print(f_type_output, data->context.set.title, "NAT");
-          fl_color_print(f_type_output, data->context.set.standout, " ============================%c", f_string_eol[0]);
-          fflush(f_type_output);
+          fl_color_print(data->output.stream, data->context.set.standout, "=========================== ");
+          fl_color_print(data->output.stream, data->context.set.title, "NAT");
+          fl_color_print(data->output.stream, data->context.set.standout, " ============================%c", f_string_eol[0]);
+          fflush(data->output.stream);
 
           parameters.used = 6;
 
@@ -253,15 +253,15 @@ extern "C" {
 
           status = fll_execute_program((f_string_t) firewall_tool_iptables, parameters, 0, &return_code);
 
-          fprintf(f_type_output, "\n");
-          fflush(f_type_output);
+          fprintf(data->output.stream, "\n");
+          fflush(data->output.stream);
         }
 
         if (F_status_is_error_not(status) && show_mangle) {
-          fl_color_print(f_type_output, data->context.set.standout, "========================== ");
-          fl_color_print(f_type_output, data->context.set.title, "MANGLE");
-          fl_color_print(f_type_output, data->context.set.standout, " ==========================%c", f_string_eol[0]);
-          fflush(f_type_output);
+          fl_color_print(data->output.stream, data->context.set.standout, "========================== ");
+          fl_color_print(data->output.stream, data->context.set.title, "MANGLE");
+          fl_color_print(data->output.stream, data->context.set.standout, " ==========================%c", f_string_eol[0]);
+          fflush(data->output.stream);
 
           parameters.used = 6;
 
@@ -281,15 +281,15 @@ extern "C" {
 
           status = fll_execute_program((f_string_t) firewall_tool_iptables, parameters, 0, &return_code);
 
-          fprintf(f_type_output, "\n");
-          fflush(f_type_output);
+          fprintf(data->output.stream, "\n");
+          fflush(data->output.stream);
         }
 
         if (F_status_is_error_not(status) && show_ports) {
-          fl_color_print(f_type_output, data->context.set.standout, "========================== ");
-          fl_color_print(f_type_output, data->context.set.title, "FILTER");
-          fl_color_print(f_type_output, data->context.set.standout, " ==========================%c", f_string_eol[0]);
-          fflush(f_type_output);
+          fl_color_print(data->output.stream, data->context.set.standout, "========================== ");
+          fl_color_print(data->output.stream, data->context.set.title, "FILTER");
+          fl_color_print(data->output.stream, data->context.set.standout, " ==========================%c", f_string_eol[0]);
+          fflush(data->output.stream);
 
           parameters.used = 4;
 
@@ -305,8 +305,8 @@ extern "C" {
 
           status = fll_execute_program((f_string_t) firewall_tool_iptables, parameters, 0, &return_code);
 
-          fprintf(f_type_output, "\n");
-          fflush(f_type_output);
+          fprintf(data->output.stream, "\n");
+          fflush(data->output.stream);
         }
 
         if (F_status_is_error(status)) {
index 65876b83bc3501420971cd4ce58f8c96ee304a0c..48a004461b08c9b9a1c4953a31dbe13e7dd84f30 100644 (file)
@@ -294,7 +294,7 @@ extern "C" {
 /**
  * Print help.
  *
- * @param file
+ * @param output
  *   The file to print to.
  * @param context
  *   The color context settings.
@@ -303,7 +303,7 @@ extern "C" {
  *   F_none on success.
  */
 #ifndef _di_firewall_print_help_
-  extern f_return_status firewall_print_help(const f_file_t file, const f_color_context_t context);
+  extern f_return_status firewall_print_help(const f_file_t output, const f_color_context_t context);
 #endif // _di_firewall_print_help_
 
 /**
index 2883d7dddf7ca063ba805a5b18ec39e198031a0b..60d246883a9a118890361f5cc188f6944008d712 100644 (file)
@@ -651,7 +651,7 @@ f_return_status firewall_perform_commands(const firewall_local_data_t local, con
               {
                 f_string_range_t input = f_macro_string_range_t_initialize(local_buffer.used);
 
-                status = fll_fss_basic_read(&local_buffer, &input, &basic_objects, &basic_contents, 0, &delimits);
+                status = fll_fss_basic_read(&local_buffer, &input, &basic_objects, &basic_contents, 0, &delimits, 0);
               }
 
               if (F_status_set_error(status)) {
@@ -1398,7 +1398,7 @@ f_return_status firewall_buffer_rules(const f_string_t filename, const bool opti
   {
     f_string_range_t input = f_macro_string_range_t_initialize(local->buffer.used);
 
-    status = fll_fss_basic_list_read(&local->buffer, &input, &local->chain_objects, &local->chain_contents, &delimits);
+    status = fll_fss_basic_list_read(&local->buffer, &input, &local->chain_objects, &local->chain_contents, &delimits, 0);
   }
 
   if (F_status_is_error(status)) {
@@ -1433,7 +1433,7 @@ f_return_status firewall_buffer_rules(const f_string_t filename, const bool opti
 f_return_status firewall_process_rules(f_string_range_t *range, firewall_local_data_t *local, firewall_data_t *data) {
   f_fss_delimits_t delimits = f_fss_delimits_t_initialize;
 
-  f_status_t status = fll_fss_extended_read(&local->buffer, range, &local->rule_objects, &local->rule_contents, 0, 0, &delimits);
+  f_status_t status = fll_fss_extended_read(&local->buffer, range, &local->rule_objects, &local->rule_contents, 0, 0, &delimits, 0);
 
   if (F_status_is_error_not(status)) {
     status = fl_fss_apply_delimit(delimits, &local->buffer);
index df8c058c83fe90bee4d945680685d571a31cc1f9..3506599a7adc4145b1f6632dc43e58fd22b339fc 100644 (file)
@@ -6,80 +6,80 @@ extern "C" {
 #endif
 
 #ifndef _di_fss_basic_list_write_print_help_
-  f_return_status fss_basic_list_write_print_help(const f_file_t file, const f_color_context_t context) {
-
-    fll_program_print_help_header(file, context, fss_basic_list_write_name_long, fss_basic_list_write_version);
-
-    fll_program_print_help_option(file, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
-    fll_program_print_help_option(file, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
-    fll_program_print_help_option(file, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
-
-    printf("%c", f_string_eol[0]);
-
-    fll_program_print_help_option(file, context, fss_basic_list_write_short_file, fss_basic_list_write_long_file, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Specify a file to send output to.");
-    fll_program_print_help_option(file, context, fss_basic_list_write_short_content, fss_basic_list_write_long_content, f_console_symbol_short_enable, f_console_symbol_long_enable, "The Content to output.");
-    fll_program_print_help_option(file, context, fss_basic_list_write_short_double, fss_basic_list_write_long_double, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use double quotes (default).");
-    fll_program_print_help_option(file, context, fss_basic_list_write_short_ignore, fss_basic_list_write_long_ignore, f_console_symbol_short_enable, f_console_symbol_long_enable, " Ignore a given range within a content.");
-    fll_program_print_help_option(file, context, fss_basic_list_write_short_object, fss_basic_list_write_long_object, f_console_symbol_short_enable, f_console_symbol_long_enable, " The Object to output.");
-    fll_program_print_help_option(file, context, fss_basic_list_write_short_partial, fss_basic_list_write_long_partial, f_console_symbol_short_enable, f_console_symbol_long_enable, "Do not output end of Object/Content character.");
-    fll_program_print_help_option(file, context, fss_basic_list_write_short_prepend, fss_basic_list_write_long_prepend, f_console_symbol_short_enable, f_console_symbol_long_enable, "Prepend the given whitespace characters to the start of each multi-line Content.");
-    fll_program_print_help_option(file, context, fss_basic_list_write_short_single, fss_basic_list_write_long_single, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use single quotes.");
-    fll_program_print_help_option(file, context, fss_basic_list_write_short_trim, fss_basic_list_write_long_trim, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Trim object names.");
-
-    fll_program_print_help_usage(file, context, fss_basic_list_write_name, "");
-
-    printf("  The pipe uses the Backspace character '");
-    fl_color_print(f_type_output, context.set.notable, "\\b");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+0008");
-    printf(") to designate the start of a Content.%c", f_string_eol[0]);
-
-    printf("  The pipe uses the Form Feed character '");
-    fl_color_print(f_type_output, context.set.notable, "\\f");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+000C");
-    printf(") to designate the end of the last Content.%c", f_string_eol[0]);
-
-    printf("  The pipe uses the Vertical Line character '");
-    fl_color_print(f_type_output, context.set.notable, "\\v");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+000B");
-    printf(") is used to ignore a content range, which does nothing in this program.%c", f_string_eol[0]);
-
-    printf("  For the pipe, an Object is terminated by either a Backspace character '");
-    fl_color_print(f_type_output, context.set.notable, "\\b");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+0008");
-    printf(") or a Form Feed character '");
-    fl_color_print(f_type_output, context.set.notable, "\\f");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+000C");
-    printf(").%c", f_string_eol[0]);
-
-    printf("  The end of the pipe represents the end of any Object or Content.%c", f_string_eol[0]);
-
-    printf("%c", f_string_eol[0]);
-
-    printf("  The FSS-0002 (Basic List) specification does not support quoted names, therefore the parameters '");
-    fl_color_print(f_type_output, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_basic_list_write_long_single);
-    printf("' and '");
-    fl_color_print(f_type_output, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_basic_list_write_long_double);
-    printf("' do nothing.%c", f_string_eol[0]);
-
-    printf("%c", f_string_eol[0]);
-
-    printf("  This program does not use the parameter '");
-    fl_color_print(f_type_output, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_basic_list_write_long_ignore);
-    printf("', which therefore does nothing.%c", f_string_eol[0]);
-    printf("  This parameter requires two values.%c", f_string_eol[0]);
-
-    printf("%c", f_string_eol[0]);
+  f_return_status fss_basic_list_write_print_help(const f_file_t output, const f_color_context_t context) {
+
+    fll_program_print_help_header(output, context, fss_basic_list_write_name_long, fss_basic_list_write_version);
+
+    fll_program_print_help_option(output, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
+    fll_program_print_help_option(output, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
+    fll_program_print_help_option(output, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
+
+    fll_program_print_help_option(output, context, fss_basic_list_write_short_file, fss_basic_list_write_long_file, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Specify a file to send output to.");
+    fll_program_print_help_option(output, context, fss_basic_list_write_short_content, fss_basic_list_write_long_content, f_console_symbol_short_enable, f_console_symbol_long_enable, "The Content to output.");
+    fll_program_print_help_option(output, context, fss_basic_list_write_short_double, fss_basic_list_write_long_double, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use double quotes (default).");
+    fll_program_print_help_option(output, context, fss_basic_list_write_short_ignore, fss_basic_list_write_long_ignore, f_console_symbol_short_enable, f_console_symbol_long_enable, " Ignore a given range within a content.");
+    fll_program_print_help_option(output, context, fss_basic_list_write_short_object, fss_basic_list_write_long_object, f_console_symbol_short_enable, f_console_symbol_long_enable, " The Object to output.");
+    fll_program_print_help_option(output, context, fss_basic_list_write_short_partial, fss_basic_list_write_long_partial, f_console_symbol_short_enable, f_console_symbol_long_enable, "Do not output end of Object/Content character.");
+    fll_program_print_help_option(output, context, fss_basic_list_write_short_prepend, fss_basic_list_write_long_prepend, f_console_symbol_short_enable, f_console_symbol_long_enable, "Prepend the given whitespace characters to the start of each multi-line Content.");
+    fll_program_print_help_option(output, context, fss_basic_list_write_short_single, fss_basic_list_write_long_single, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use single quotes.");
+    fll_program_print_help_option(output, context, fss_basic_list_write_short_trim, fss_basic_list_write_long_trim, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Trim object names.");
+
+    fll_program_print_help_usage(output, context, fss_basic_list_write_name, "");
+
+    fprintf(output.stream, "  The pipe uses the Backspace character '");
+    fl_color_print(output.stream, context.set.notable, "\\b");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+0008");
+    fprintf(output.stream, ") to designate the start of a Content.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The pipe uses the Form Feed character '");
+    fl_color_print(output.stream, context.set.notable, "\\f");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+000C");
+    fprintf(output.stream, ") to designate the end of the last Content.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The pipe uses the Vertical Line character '");
+    fl_color_print(output.stream, context.set.notable, "\\v");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+000B");
+    fprintf(output.stream, ") is used to ignore a content range, which does nothing in this program.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  For the pipe, an Object is terminated by either a Backspace character '");
+    fl_color_print(output.stream, context.set.notable, "\\b");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+0008");
+    fprintf(output.stream, ") or a Form Feed character '");
+    fl_color_print(output.stream, context.set.notable, "\\f");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+000C");
+    fprintf(output.stream, ").%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The end of the pipe represents the end of any Object or Content.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The FSS-0002 (Basic List) specification does not support quoted names, therefore the parameters '");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_basic_list_write_long_single);
+    fprintf(output.stream, "' and '");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_basic_list_write_long_double);
+    fprintf(output.stream, "' do nothing.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  This program does not use the parameter '");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_basic_list_write_long_ignore);
+    fprintf(output.stream, "', which therefore does nothing.%c", f_string_eol[0]);
+    fprintf(output.stream, "  This parameter requires two values.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
     return F_none;
   }
@@ -154,7 +154,7 @@ extern "C" {
     f_file_t output = f_file_t_initialize;
 
     output.id = f_type_descriptor_output;
-    output.stream = f_type_output;
+    output.stream = data->output.stream;
     output.flag = f_file_flag_create | f_file_flag_write_only | f_file_flag_append;
 
     if (F_status_is_error_not(status)) {
@@ -453,7 +453,7 @@ extern "C" {
         }
         else if (data->error.verbosity != f_console_verbosity_quiet && data->parameters[fss_basic_list_write_parameter_file].result == f_console_result_none) {
           // ensure there is always a newline at the end, unless in quiet mode.
-          fprintf(f_type_output, "%c", f_string_eol[0]);
+          fprintf(data->output.stream, "%c", f_string_eol[0]);
         }
       }
 
index 052ca19f2535e3f26b0e6272c9e0f784fcd703b2..b42cf8bb6a56bd9bd6ad0a51df2bf01202373ac9 100644 (file)
@@ -154,7 +154,7 @@ extern "C" {
 /**
  * Print help.
  *
- * @param file
+ * @param output
  *   The file to print to.
  * @param context
  *   The color context settings.
@@ -163,7 +163,7 @@ extern "C" {
  *   F_none on success.
  */
 #ifndef _di_fss_basic_list_write_print_help_
-  extern f_return_status fss_basic_list_write_print_help(const f_file_t file, const f_color_context_t context);
+  extern f_return_status fss_basic_list_write_print_help(const f_file_t output, const f_color_context_t context);
 #endif // _di_fss_basic_list_write_print_help_
 
 /**
index 88c4b9b0d3ed801103c0a8816032351ec89b95e8..e1bb15bac341b9cb921d88e06c7f35513594ad74 100644 (file)
@@ -6,78 +6,78 @@ extern "C" {
 #endif
 
 #ifndef _di_fss_basic_write_print_help_
-  f_return_status fss_basic_write_print_help(const f_file_t file, const f_color_context_t context) {
-
-    fll_program_print_help_header(file, context, fss_basic_write_name_long, fss_basic_write_version);
-
-    fll_program_print_help_option(file, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
-    fll_program_print_help_option(file, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
-    fll_program_print_help_option(file, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
-
-    printf("%c", f_string_eol[0]);
-
-    fll_program_print_help_option(file, context, fss_basic_write_short_file, fss_basic_write_long_file, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Specify a file to send output to.");
-    fll_program_print_help_option(file, context, fss_basic_write_short_content, fss_basic_write_long_content, f_console_symbol_short_enable, f_console_symbol_long_enable, "The Content to output.");
-    fll_program_print_help_option(file, context, fss_basic_write_short_double, fss_basic_write_long_double, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use double quotes (default).");
-    fll_program_print_help_option(file, context, fss_basic_write_short_ignore, fss_basic_write_long_ignore, f_console_symbol_short_enable, f_console_symbol_long_enable, " Ignore a given range within a content.");
-    fll_program_print_help_option(file, context, fss_basic_write_short_object, fss_basic_write_long_object, f_console_symbol_short_enable, f_console_symbol_long_enable, " The Object to output.");
-    fll_program_print_help_option(file, context, fss_basic_write_short_partial, fss_basic_write_long_partial, f_console_symbol_short_enable, f_console_symbol_long_enable, "Do not output end of Object/Content character.");
-    fll_program_print_help_option(file, context, fss_basic_write_short_prepend, fss_basic_write_long_prepend, f_console_symbol_short_enable, f_console_symbol_long_enable, "Prepend the given whitespace characters to the start of each multi-line Content.");
-    fll_program_print_help_option(file, context, fss_basic_write_short_single, fss_basic_write_long_single, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use single quotes.");
-    fll_program_print_help_option(file, context, fss_basic_write_short_trim, fss_basic_write_long_trim, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Trim object names.");
-
-    fll_program_print_help_usage(file, context, fss_basic_write_name, "");
-
-    printf("  The pipe uses the Backspace character '");
-    fl_color_print(f_type_output, context.set.notable, "\\b");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+0008");
-    printf(") to designate the start of a Content.%c", f_string_eol[0]);
-
-    printf("  The pipe uses the Form Feed character '");
-    fl_color_print(f_type_output, context.set.notable, "\\f");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+000C");
-    printf(") to designate the end of the last Content.%c", f_string_eol[0]);
-
-    printf("  The pipe uses the Vertical Line character '");
-    fl_color_print(f_type_output, context.set.notable, "\\v");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+000B");
-    printf(") is used to ignore a content range, which does nothing in this program.%c", f_string_eol[0]);
-
-    printf("  For the pipe, an Object is terminated by either a Backspace character '");
-    fl_color_print(f_type_output, context.set.notable, "\\b");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+0008");
-    printf(") or a Form Feed character '");
-    fl_color_print(f_type_output, context.set.notable, "\\f");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+000C");
-    printf(").%c", f_string_eol[0]);
-
-    printf("  The end of the pipe represents the end of any Object or Content.%c", f_string_eol[0]);
-
-    printf("%c", f_string_eol[0]);
-
-    printf("  The FSS-0000 (Basic) specification does not support multi-line Content, therefore the parameter '");
-    fl_color_print(f_type_output, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_basic_write_long_prepend);
-    printf("' does nothing.%c", f_string_eol[0]);
-
-    printf("%c", f_string_eol[0]);
-
-    printf("  This program does not use the parameter '");
-    fl_color_print(f_type_output, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_basic_write_long_ignore);
-    printf("', which therefore does nothing.%c", f_string_eol[0]);
-    printf("  This parameter requires two values.%c", f_string_eol[0]);
-
-    printf("%c", f_string_eol[0]);
+  f_return_status fss_basic_write_print_help(const f_file_t output, const f_color_context_t context) {
+
+    fll_program_print_help_header(output, context, fss_basic_write_name_long, fss_basic_write_version);
+
+    fll_program_print_help_option(output, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
+    fll_program_print_help_option(output, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
+    fll_program_print_help_option(output, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
+
+    fll_program_print_help_option(output, context, fss_basic_write_short_file, fss_basic_write_long_file, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Specify a file to send output to.");
+    fll_program_print_help_option(output, context, fss_basic_write_short_content, fss_basic_write_long_content, f_console_symbol_short_enable, f_console_symbol_long_enable, "The Content to output.");
+    fll_program_print_help_option(output, context, fss_basic_write_short_double, fss_basic_write_long_double, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use double quotes (default).");
+    fll_program_print_help_option(output, context, fss_basic_write_short_ignore, fss_basic_write_long_ignore, f_console_symbol_short_enable, f_console_symbol_long_enable, " Ignore a given range within a content.");
+    fll_program_print_help_option(output, context, fss_basic_write_short_object, fss_basic_write_long_object, f_console_symbol_short_enable, f_console_symbol_long_enable, " The Object to output.");
+    fll_program_print_help_option(output, context, fss_basic_write_short_partial, fss_basic_write_long_partial, f_console_symbol_short_enable, f_console_symbol_long_enable, "Do not output end of Object/Content character.");
+    fll_program_print_help_option(output, context, fss_basic_write_short_prepend, fss_basic_write_long_prepend, f_console_symbol_short_enable, f_console_symbol_long_enable, "Prepend the given whitespace characters to the start of each multi-line Content.");
+    fll_program_print_help_option(output, context, fss_basic_write_short_single, fss_basic_write_long_single, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use single quotes.");
+    fll_program_print_help_option(output, context, fss_basic_write_short_trim, fss_basic_write_long_trim, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Trim object names.");
+
+    fll_program_print_help_usage(output, context, fss_basic_write_name, "");
+
+    fprintf(output.stream, "  The pipe uses the Backspace character '");
+    fl_color_print(output.stream, context.set.notable, "\\b");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+0008");
+    fprintf(output.stream, ") to designate the start of a Content.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The pipe uses the Form Feed character '");
+    fl_color_print(output.stream, context.set.notable, "\\f");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+000C");
+    fprintf(output.stream, ") to designate the end of the last Content.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The pipe uses the Vertical Line character '");
+    fl_color_print(output.stream, context.set.notable, "\\v");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+000B");
+    fprintf(output.stream, ") is used to ignore a content range, which does nothing in this program.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  For the pipe, an Object is terminated by either a Backspace character '");
+    fl_color_print(output.stream, context.set.notable, "\\b");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+0008");
+    fprintf(output.stream, ") or a Form Feed character '");
+    fl_color_print(output.stream, context.set.notable, "\\f");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+000C");
+    fprintf(output.stream, ").%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The end of the pipe represents the end of any Object or Content.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The FSS-0000 (Basic) specification does not support multi-line Content, therefore the parameter '");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_basic_write_long_prepend);
+    fprintf(output.stream, "' does nothing.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  This program does not use the parameter '");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_basic_write_long_ignore);
+    fprintf(output.stream, "', which therefore does nothing.%c", f_string_eol[0]);
+    fprintf(output.stream, "  This parameter requires two values.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
     return F_none;
   }
@@ -452,7 +452,7 @@ extern "C" {
         }
         else if (data->error.verbosity != f_console_verbosity_quiet && data->parameters[fss_basic_write_parameter_file].result == f_console_result_none) {
           // ensure there is always a newline at the end, unless in quiet mode.
-          fprintf(f_type_output, "%c", f_string_eol[0]);
+          fprintf(data->output.stream, "%c", f_string_eol[0]);
         }
       }
 
index 697db519fd18046b045ed92aab051f4626c0632f..a31a2dc9bc18b44c41a5eb29d4954c77a181f7bc 100644 (file)
@@ -153,7 +153,7 @@ extern "C" {
 /**
  * Print help.
  *
- * @param file
+ * @param output
  *   The file to print to.
  * @param context
  *   The color context settings.
@@ -162,7 +162,7 @@ extern "C" {
  *   F_none on success.
  */
 #ifndef _di_fss_basic_write_print_help_
-  extern f_return_status fss_basic_write_print_help(const f_file_t file, const f_color_context_t context);
+  extern f_return_status fss_basic_write_print_help(const f_file_t output, const f_color_context_t context);
 #endif // _di_fss_basic_write_print_help_
 
 /**
index 6b66c361ab864ca382ad11113745d303db898335..77461741e64d1167d9df3a8d97e7d950767e3914 100644 (file)
@@ -6,86 +6,86 @@ extern "C" {
 #endif
 
 #ifndef _di_fss_extended_list_write_print_help_
-  f_return_status fss_extended_list_write_print_help(const f_file_t file, const f_color_context_t context) {
-
-    fll_program_print_help_header(file, context, fss_extended_list_write_name_long, fss_extended_list_write_version);
-
-    fll_program_print_help_option(file, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
-    fll_program_print_help_option(file, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
-    fll_program_print_help_option(file, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
-
-    printf("%c", f_string_eol[0]);
-
-    fll_program_print_help_option(file, context, fss_extended_list_write_short_file, fss_extended_list_write_long_file, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Specify a file to send output to.");
-    fll_program_print_help_option(file, context, fss_extended_list_write_short_content, fss_extended_list_write_long_content, f_console_symbol_short_enable, f_console_symbol_long_enable, "The Content to output.");
-    fll_program_print_help_option(file, context, fss_extended_list_write_short_double, fss_extended_list_write_long_double, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use double quotes (default).");
-    fll_program_print_help_option(file, context, fss_extended_list_write_short_ignore, fss_extended_list_write_long_ignore, f_console_symbol_short_enable, f_console_symbol_long_enable, " Ignore a given range within a content.");
-    fll_program_print_help_option(file, context, fss_extended_list_write_short_object, fss_extended_list_write_long_object, f_console_symbol_short_enable, f_console_symbol_long_enable, " The Object to output.");
-    fll_program_print_help_option(file, context, fss_extended_list_write_short_partial, fss_extended_list_write_long_partial, f_console_symbol_short_enable, f_console_symbol_long_enable, "Do not output end of Object/Content character.");
-    fll_program_print_help_option(file, context, fss_extended_list_write_short_prepend, fss_extended_list_write_long_prepend, f_console_symbol_short_enable, f_console_symbol_long_enable, "Prepend the given whitespace characters to the start of each multi-line Content.");
-    fll_program_print_help_option(file, context, fss_extended_list_write_short_single, fss_extended_list_write_long_single, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use single quotes.");
-    fll_program_print_help_option(file, context, fss_extended_list_write_short_trim, fss_extended_list_write_long_trim, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Trim object names.");
-
-    fll_program_print_help_usage(file, context, fss_extended_list_write_name, "");
-
-    printf("  The pipe uses the Backspace character '");
-    fl_color_print(f_type_output, context.set.notable, "\\b");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+0008");
-    printf(") to designate the start of a Content.%c", f_string_eol[0]);
-
-    printf("  The pipe uses the Form Feed character '");
-    fl_color_print(f_type_output, context.set.notable, "\\f");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+000C");
-    printf(") to designate the end of the last Content.%c", f_string_eol[0]);
-
-    printf("  The pipe uses the Vertical Line character '");
-    fl_color_print(f_type_output, context.set.notable, "\\v");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+000B");
-    printf(") is used to ignore a content range (use this both before and after the range).%c", f_string_eol[0]);
-
-    printf("  For the pipe, an Object is terminated by either a Backspace character '");
-    fl_color_print(f_type_output, context.set.notable, "\\b");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+0008");
-    printf(") or a Form Feed character '");
-    fl_color_print(f_type_output, context.set.notable, "\\f");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+000C");
-    printf(").%c", f_string_eol[0]);
-
-    printf("  The end of the pipe represents the end of any Object or Content.%c", f_string_eol[0]);
-
-    printf("%c", f_string_eol[0]);
-
-    printf("  The FSS-0003 (Extended List) specification does not support quoted names, therefore the parameters '");
-    fl_color_print(f_type_output, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_extended_list_write_long_single);
-    printf("' and '");
-    fl_color_print(f_type_output, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_extended_list_write_long_double);
-    printf("' do nothing.%c", f_string_eol[0]);
-
-    printf("%c", f_string_eol[0]);
-
-    printf("  The parameter '");
-    fl_color_print(f_type_output, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_extended_list_write_long_ignore);
-    printf("' designates to not escape any valid nested Object or Content within some Content.%c", f_string_eol[0]);
-    printf("  This parameter requires two values.%c", f_string_eol[0]);
-    printf("  This parameter is not used for ignoring anything from the input pipe.%c", f_string_eol[0]);
-    printf("  This parameter must be specified after a '");
-    fl_color_print(f_type_output, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_extended_list_write_long_content);
-    printf("' parameter and this applies only to the Content represented by that specific '");
-    fl_color_print(f_type_output, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_extended_list_write_long_content);
-    printf("' parameter.%c", f_string_eol[0]);
-
-    printf("%c", f_string_eol[0]);
+  f_return_status fss_extended_list_write_print_help(const f_file_t output, const f_color_context_t context) {
+
+    fll_program_print_help_header(output, context, fss_extended_list_write_name_long, fss_extended_list_write_version);
+
+    fll_program_print_help_option(output, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
+    fll_program_print_help_option(output, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
+    fll_program_print_help_option(output, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
+
+    fll_program_print_help_option(output, context, fss_extended_list_write_short_file, fss_extended_list_write_long_file, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Specify a file to send output to.");
+    fll_program_print_help_option(output, context, fss_extended_list_write_short_content, fss_extended_list_write_long_content, f_console_symbol_short_enable, f_console_symbol_long_enable, "The Content to output.");
+    fll_program_print_help_option(output, context, fss_extended_list_write_short_double, fss_extended_list_write_long_double, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use double quotes (default).");
+    fll_program_print_help_option(output, context, fss_extended_list_write_short_ignore, fss_extended_list_write_long_ignore, f_console_symbol_short_enable, f_console_symbol_long_enable, " Ignore a given range within a content.");
+    fll_program_print_help_option(output, context, fss_extended_list_write_short_object, fss_extended_list_write_long_object, f_console_symbol_short_enable, f_console_symbol_long_enable, " The Object to output.");
+    fll_program_print_help_option(output, context, fss_extended_list_write_short_partial, fss_extended_list_write_long_partial, f_console_symbol_short_enable, f_console_symbol_long_enable, "Do not output end of Object/Content character.");
+    fll_program_print_help_option(output, context, fss_extended_list_write_short_prepend, fss_extended_list_write_long_prepend, f_console_symbol_short_enable, f_console_symbol_long_enable, "Prepend the given whitespace characters to the start of each multi-line Content.");
+    fll_program_print_help_option(output, context, fss_extended_list_write_short_single, fss_extended_list_write_long_single, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use single quotes.");
+    fll_program_print_help_option(output, context, fss_extended_list_write_short_trim, fss_extended_list_write_long_trim, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Trim object names.");
+
+    fll_program_print_help_usage(output, context, fss_extended_list_write_name, "");
+
+    fprintf(output.stream, "  The pipe uses the Backspace character '");
+    fl_color_print(output.stream, context.set.notable, "\\b");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+0008");
+    fprintf(output.stream, ") to designate the start of a Content.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The pipe uses the Form Feed character '");
+    fl_color_print(output.stream, context.set.notable, "\\f");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+000C");
+    fprintf(output.stream, ") to designate the end of the last Content.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The pipe uses the Vertical Line character '");
+    fl_color_print(output.stream, context.set.notable, "\\v");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+000B");
+    fprintf(output.stream, ") is used to ignore a content range (use this both before and after the range).%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  For the pipe, an Object is terminated by either a Backspace character '");
+    fl_color_print(output.stream, context.set.notable, "\\b");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+0008");
+    fprintf(output.stream, ") or a Form Feed character '");
+    fl_color_print(output.stream, context.set.notable, "\\f");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+000C");
+    fprintf(output.stream, ").%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The end of the pipe represents the end of any Object or Content.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The FSS-0003 (Extended List) specification does not support quoted names, therefore the parameters '");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_extended_list_write_long_single);
+    fprintf(output.stream, "' and '");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_extended_list_write_long_double);
+    fprintf(output.stream, "' do nothing.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The parameter '");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_extended_list_write_long_ignore);
+    fprintf(output.stream, "' designates to not escape any valid nested Object or Content within some Content.%c", f_string_eol[0]);
+    fprintf(output.stream, "  This parameter requires two values.%c", f_string_eol[0]);
+    fprintf(output.stream, "  This parameter is not used for ignoring anything from the input pipe.%c", f_string_eol[0]);
+    fprintf(output.stream, "  This parameter must be specified after a '");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_extended_list_write_long_content);
+    fprintf(output.stream, "' parameter and this applies only to the Content represented by that specific '");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_extended_list_write_long_content);
+    fprintf(output.stream, "' parameter.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
     return F_none;
   }
@@ -469,7 +469,7 @@ extern "C" {
         else if (data->error.verbosity != f_console_verbosity_quiet && data->parameters[fss_extended_list_write_parameter_file].result == f_console_result_none) {
 
           // ensure there is always a newline at the end, unless in quiet mode.
-          fprintf(f_type_output, "%c", f_string_eol[0]);
+          fprintf(data->output.stream, "%c", f_string_eol[0]);
         }
       }
 
index 29469203df6f97e332461f964c48d0f62bae7bdf..d0e983a2141679092387dfc2406b2f28a1f32ffb 100644 (file)
@@ -155,7 +155,7 @@ extern "C" {
 /**
  * Print help.
  *
- * @param file
+ * @param output
  *   The file to print to.
  * @param context
  *   The color context settings.
@@ -164,7 +164,7 @@ extern "C" {
  *   F_none on success.
  */
 #ifndef _di_fss_extended_list_write_print_help_
-  extern f_return_status fss_extended_list_write_print_help(const f_file_t file, const f_color_context_t context);
+  extern f_return_status fss_extended_list_write_print_help(const f_file_t output, const f_color_context_t context);
 #endif // _di_fss_extended_list_write_print_help_
 
 /**
index cbed51db79d4f14dc1b4ddd451c687ba88c179ad..1536aacb3cd791be69cfabe36779d35125957b06 100644 (file)
@@ -6,78 +6,78 @@ extern "C" {
 #endif
 
 #ifndef _di_fss_extended_write_print_help_
-  f_return_status fss_extended_write_print_help(const f_file_t file, const f_color_context_t context) {
-
-    fll_program_print_help_header(file, context, fss_extended_write_name_long, fss_extended_write_version);
-
-    fll_program_print_help_option(file, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
-    fll_program_print_help_option(file, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
-    fll_program_print_help_option(file, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
-
-    printf("%c", f_string_eol[0]);
-
-    fll_program_print_help_option(file, context, fss_extended_write_short_file, fss_extended_write_long_file, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Specify a file to send output to.");
-    fll_program_print_help_option(file, context, fss_extended_write_short_content, fss_extended_write_long_content, f_console_symbol_short_enable, f_console_symbol_long_enable, "The Content to output.");
-    fll_program_print_help_option(file, context, fss_extended_write_short_double, fss_extended_write_long_double, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use double quotes (default).");
-    fll_program_print_help_option(file, context, fss_extended_write_short_ignore, fss_extended_write_long_ignore, f_console_symbol_short_enable, f_console_symbol_long_enable, " Ignore a given range within a content.");
-    fll_program_print_help_option(file, context, fss_extended_write_short_object, fss_extended_write_long_object, f_console_symbol_short_enable, f_console_symbol_long_enable, " The Object to output.");
-    fll_program_print_help_option(file, context, fss_extended_write_short_partial, fss_extended_write_long_partial, f_console_symbol_short_enable, f_console_symbol_long_enable, "Do not output end of Object/Content character.");
-    fll_program_print_help_option(file, context, fss_extended_write_short_prepend, fss_extended_write_long_prepend, f_console_symbol_short_enable, f_console_symbol_long_enable, "Prepend the given whitespace characters to the start of each multi-line Content.");
-    fll_program_print_help_option(file, context, fss_extended_write_short_single, fss_extended_write_long_single, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use single quotes.");
-    fll_program_print_help_option(file, context, fss_extended_write_short_trim, fss_extended_write_long_trim, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Trim object names.");
-
-    fll_program_print_help_usage(file, context, fss_extended_write_name, "");
-
-    printf("  The pipe uses the Backspace character '");
-    fl_color_print(f_type_output, context.set.notable, "\\b");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+0008");
-    printf(") to designate the start of a Content.%c", f_string_eol[0]);
-
-    printf("  The pipe uses the Form Feed character '");
-    fl_color_print(f_type_output, context.set.notable, "\\f");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+000C");
-    printf(") to designate the end of the last Content.%c", f_string_eol[0]);
-
-    printf("  The pipe uses the Vertical Line character '");
-    fl_color_print(f_type_output, context.set.notable, "\\v");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+000B");
-    printf(") is used to ignore a content range, which does nothing in this program.%c", f_string_eol[0]);
-
-    printf("  For the pipe, an Object is terminated by either a Backspace character '");
-    fl_color_print(f_type_output, context.set.notable, "\\b");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+0008");
-    printf(") or a Form Feed character '");
-    fl_color_print(f_type_output, context.set.notable, "\\f");
-    printf("' (");
-    fl_color_print(f_type_output, context.set.notable, "U+000C");
-    printf(").%c", f_string_eol[0]);
-
-    printf("  The end of the pipe represents the end of any Object or Content.%c", f_string_eol[0]);
-
-    printf("%c", f_string_eol[0]);
-
-    printf("  The FSS-0001 (Extended) specification does not support multi-line Content, therefore the parameter '");
-    fl_color_print(f_type_output, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_extended_write_long_prepend);
-    printf("' does nothing.%c", f_string_eol[0]);
-
-    printf("%c", f_string_eol[0]);
-
-    printf("  This program does not use the parameter '");
-    fl_color_print(f_type_output, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_extended_write_long_ignore);
-    printf("', which therefore does nothing.%c", f_string_eol[0]);
-    printf("  This parameter requires two values.%c", f_string_eol[0]);
-
-    printf("%c", f_string_eol[0]);
+  f_return_status fss_extended_write_print_help(const f_file_t output, const f_color_context_t context) {
+
+    fll_program_print_help_header(output, context, fss_extended_write_name_long, fss_extended_write_version);
+
+    fll_program_print_help_option(output, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
+    fll_program_print_help_option(output, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
+    fll_program_print_help_option(output, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
+
+    fll_program_print_help_option(output, context, fss_extended_write_short_file, fss_extended_write_long_file, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Specify a file to send output to.");
+    fll_program_print_help_option(output, context, fss_extended_write_short_content, fss_extended_write_long_content, f_console_symbol_short_enable, f_console_symbol_long_enable, "The Content to output.");
+    fll_program_print_help_option(output, context, fss_extended_write_short_double, fss_extended_write_long_double, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use double quotes (default).");
+    fll_program_print_help_option(output, context, fss_extended_write_short_ignore, fss_extended_write_long_ignore, f_console_symbol_short_enable, f_console_symbol_long_enable, " Ignore a given range within a content.");
+    fll_program_print_help_option(output, context, fss_extended_write_short_object, fss_extended_write_long_object, f_console_symbol_short_enable, f_console_symbol_long_enable, " The Object to output.");
+    fll_program_print_help_option(output, context, fss_extended_write_short_partial, fss_extended_write_long_partial, f_console_symbol_short_enable, f_console_symbol_long_enable, "Do not output end of Object/Content character.");
+    fll_program_print_help_option(output, context, fss_extended_write_short_prepend, fss_extended_write_long_prepend, f_console_symbol_short_enable, f_console_symbol_long_enable, "Prepend the given whitespace characters to the start of each multi-line Content.");
+    fll_program_print_help_option(output, context, fss_extended_write_short_single, fss_extended_write_long_single, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use single quotes.");
+    fll_program_print_help_option(output, context, fss_extended_write_short_trim, fss_extended_write_long_trim, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Trim object names.");
+
+    fll_program_print_help_usage(output, context, fss_extended_write_name, "");
+
+    fprintf(output.stream, "  The pipe uses the Backspace character '");
+    fl_color_print(output.stream, context.set.notable, "\\b");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+0008");
+    fprintf(output.stream, ") to designate the start of a Content.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The pipe uses the Form Feed character '");
+    fl_color_print(output.stream, context.set.notable, "\\f");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+000C");
+    fprintf(output.stream, ") to designate the end of the last Content.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The pipe uses the Vertical Line character '");
+    fl_color_print(output.stream, context.set.notable, "\\v");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+000B");
+    fprintf(output.stream, ") is used to ignore a content range, which does nothing in this program.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  For the pipe, an Object is terminated by either a Backspace character '");
+    fl_color_print(output.stream, context.set.notable, "\\b");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+0008");
+    fprintf(output.stream, ") or a Form Feed character '");
+    fl_color_print(output.stream, context.set.notable, "\\f");
+    fprintf(output.stream, "' (");
+    fl_color_print(output.stream, context.set.notable, "U+000C");
+    fprintf(output.stream, ").%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The end of the pipe represents the end of any Object or Content.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  The FSS-0001 (Extended) specification does not support multi-line Content, therefore the parameter '");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_extended_write_long_prepend);
+    fprintf(output.stream, "' does nothing.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
+
+    fprintf(output.stream, "  This program does not use the parameter '");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, fss_extended_write_long_ignore);
+    fprintf(output.stream, "', which therefore does nothing.%c", f_string_eol[0]);
+    fprintf(output.stream, "  This parameter requires two values.%c", f_string_eol[0]);
+
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
     return F_none;
   }
@@ -527,7 +527,7 @@ extern "C" {
         }
         else if (data->error.verbosity != f_console_verbosity_quiet && data->parameters[fss_extended_write_parameter_file].result == f_console_result_none) {
           // ensure there is always a newline at the end, unless in quiet mode.
-          fprintf(f_type_output, "%c", f_string_eol[0]);
+          fprintf(data->output.stream, "%c", f_string_eol[0]);
         }
       }
 
index d32667fa23128dd49312989e7bb66cbb2c18258f..1cdfe663431a553b3f5e19a1e05abf8fc3279c02 100644 (file)
@@ -154,7 +154,7 @@ extern "C" {
 /**
  * Print help.
  *
- * @param file
+ * @param output
  *   The file to print to.
  * @param context
  *   The color context settings.
@@ -163,7 +163,7 @@ extern "C" {
  *   F_none on success.
  */
 #ifndef _di_fss_extended_write_print_help_
-  extern f_return_status fss_extended_write_print_help(const f_file_t file, const f_color_context_t context);
+  extern f_return_status fss_extended_write_print_help(const f_file_t output, const f_color_context_t context);
 #endif // _di_fss_extended_write_print_help_
 
 /**
index ba42cfdd277c30ac197b7dc19d5993ac3c3e55d3..8c2305998877c97632d4db0a84224aaf2aeb29b8 100644 (file)
@@ -6,28 +6,28 @@ extern "C" {
 #endif
 
 #ifndef _di_fss_status_code_print_help_
-  f_return_status fss_status_code_print_help(const f_file_t file, const f_color_context_t context) {
+  f_return_status fss_status_code_print_help(const f_file_t output, const f_color_context_t context) {
 
-    fll_program_print_help_header(file, context, fss_status_code_name_long, fss_status_code_version);
+    fll_program_print_help_header(output, context, fss_status_code_name_long, fss_status_code_version);
 
-    fll_program_print_help_option(file, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
-    fll_program_print_help_option(file, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
-    fll_program_print_help_option(file, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
+    fll_program_print_help_option(output, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
+    fll_program_print_help_option(output, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
+    fll_program_print_help_option(output, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
 
-    printf("%c", f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
-    fll_program_print_help_option(file, context, fss_status_code_short_is_fine, fss_status_code_long_is_fine, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Print F_true if the error code is not an error, F_false otherwise.");
-    fll_program_print_help_option(file, context, fss_status_code_short_is_warning, fss_status_code_long_is_warning, f_console_symbol_short_enable, f_console_symbol_long_enable, "Print F_true if the error code is a warning, F_false otherwise.");
-    fll_program_print_help_option(file, context, fss_status_code_short_is_error, fss_status_code_long_is_error, f_console_symbol_short_enable, f_console_symbol_long_enable, "  Print F_true if the error code is an error, F_false otherwise.");
-    fll_program_print_help_option(file, context, fss_status_code_short_number, fss_status_code_long_number, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Convert status code name to number.");
+    fll_program_print_help_option(output, context, fss_status_code_short_is_fine, fss_status_code_long_is_fine, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Print F_true if the error code is not an error, F_false otherwise.");
+    fll_program_print_help_option(output, context, fss_status_code_short_is_warning, fss_status_code_long_is_warning, f_console_symbol_short_enable, f_console_symbol_long_enable, "Print F_true if the error code is a warning, F_false otherwise.");
+    fll_program_print_help_option(output, context, fss_status_code_short_is_error, fss_status_code_long_is_error, f_console_symbol_short_enable, f_console_symbol_long_enable, "  Print F_true if the error code is an error, F_false otherwise.");
+    fll_program_print_help_option(output, context, fss_status_code_short_number, fss_status_code_long_number, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Convert status code name to number.");
 
-    fll_program_print_help_usage(file, context, fss_status_code_name, "status code(s)");
+    fll_program_print_help_usage(output, context, fss_status_code_name, "status code(s)");
 
     return F_none;
   }
index cf937ca0ef5963b1cd59cc1d05411b91f7a81653..7e5df36d8bba31dd41dd828ddc1233f359223ff0 100644 (file)
@@ -129,7 +129,7 @@ extern "C" {
 /**
  * Print help.
  *
- * @param file
+ * @param output
  *   The file to print to.
  * @param context
  *   The color context settings.
@@ -138,7 +138,7 @@ extern "C" {
  *   F_none on success.
  */
 #ifndef _di_fss_status_code_print_help_
-  extern f_return_status fss_status_code_print_help(const f_file_t file, const f_color_context_t context);
+  extern f_return_status fss_status_code_print_help(const f_file_t output, const f_color_context_t context);
 #endif // _di_fss_status_code_print_help_
 
 /**
index 70451916bd62ddf5448d4d812cc4db6fd7ceb471..a98d4f13ecab99ecf3a603c1d0f8b9b646c61a69 100644 (file)
@@ -53,13 +53,13 @@ extern "C" {
       status = fl_conversion_string_to_number_unsigned(value, &number, range);
 
       if (status == F_none) {
-        fl_color_print(f_type_output, data.context.set.error, "invalid name%c", f_string_eol[0]);
+        fl_color_print(data.output.stream, data.context.set.error, "invalid name%c", f_string_eol[0]);
 
         return F_status_set_error(F_parameter);
       }
 
       if (status == F_data_not || F_status_set_fine(status) == F_parameter) {
-        fl_color_print(f_type_output, data.context.set.error, "invalid data%c", f_string_eol[0]);
+        fl_color_print(data.output.stream, data.context.set.error, "invalid data%c", f_string_eol[0]);
 
         return status;
       }
@@ -76,10 +76,10 @@ extern "C" {
 
       if (F_status_is_error(status)) {
         if (F_status_set_fine(status) == F_data) {
-          fl_color_print(f_type_output, data.context.set.error, "unknown name%c", f_string_eol[0]);
+          fl_color_print(data.output.stream, data.context.set.error, "unknown name%c", f_string_eol[0]);
         }
         else {
-          fl_color_print(f_type_output, data.context.set.error, "failed to convert%c", f_string_eol[0]);
+          fl_color_print(data.output.stream, data.context.set.error, "failed to convert%c", f_string_eol[0]);
         }
 
         return status;
@@ -87,7 +87,7 @@ extern "C" {
     }
 
     if (status == F_data) {
-      fl_color_print(f_type_output, data.context.set.warning, "unknown code%c", f_string_eol[0]);
+      fl_color_print(data.output.stream, data.context.set.warning, "unknown code%c", f_string_eol[0]);
 
       return F_none;
     }
@@ -112,10 +112,10 @@ extern "C" {
 
     if (F_status_is_error(status)) {
       if (F_status_set_fine(status) == F_data) {
-        fl_color_print(f_type_output, data.context.set.error, "unknown code%c", f_string_eol[0]);
+        fl_color_print(data.output.stream, data.context.set.error, "unknown code%c", f_string_eol[0]);
       }
       else {
-        fl_color_print(f_type_output, data.context.set.error, "failed to convert%c", f_string_eol[0]);
+        fl_color_print(data.output.stream, data.context.set.error, "failed to convert%c", f_string_eol[0]);
       }
 
       return status;
@@ -134,17 +134,17 @@ extern "C" {
     f_status_t status = fl_conversion_string_to_number_unsigned(value, number, range);
 
     if (*number > F_status_size_max_with_signal) {
-      fl_color_print(f_type_output, data.context.set.error, "out of range%c", f_string_eol[0]);
+      fl_color_print(data.output.stream, data.context.set.error, "out of range%c", f_string_eol[0]);
 
       return status;
     }
 
     if (F_status_is_error(status)) {
       if (F_status_set_fine(status) == F_number_negative) {
-        fl_color_print(f_type_output, data.context.set.error, "out of range%c", f_string_eol[0]);
+        fl_color_print(data.output.stream, data.context.set.error, "out of range%c", f_string_eol[0]);
       }
       else {
-        fl_color_print(f_type_output, data.context.set.error, "invalid number%c", f_string_eol[0]);
+        fl_color_print(data.output.stream, data.context.set.error, "invalid number%c", f_string_eol[0]);
       }
 
       return status;
index d495a95d11b42c5ab81de398d63e045473f1dd66..f6d9687882302f972bdd40562e5f961ff87c2618 100644 (file)
@@ -6,83 +6,83 @@ extern "C" {
 #endif
 
 #ifndef _di_iki_read_print_help_
-  f_return_status iki_read_print_help(const f_file_t file, const f_color_context_t context) {
+  f_return_status iki_read_print_help(const f_file_t output, const f_color_context_t context) {
 
-    fll_program_print_help_header(file, context, iki_read_name_long, iki_read_version);
+    fll_program_print_help_header(output, context, iki_read_name_long, iki_read_version);
 
-    fll_program_print_help_option(file, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
-    fll_program_print_help_option(file, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
-    fll_program_print_help_option(file, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
+    fll_program_print_help_option(output, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
+    fll_program_print_help_option(output, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
+    fll_program_print_help_option(output, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
 
-    printf("%c", f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
-    fll_program_print_help_option(file, context, iki_read_short_at, iki_read_long_at, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Select variable at this numeric index.");
-    fll_program_print_help_option(file, context, iki_read_short_line, iki_read_long_line, f_console_symbol_short_enable, f_console_symbol_long_enable, " Print only the variables at the given line.");
-    fll_program_print_help_option(file, context, iki_read_short_name, iki_read_long_name, f_console_symbol_short_enable, f_console_symbol_long_enable, " Select variables with this name.");
-    fll_program_print_help_option(file, context, iki_read_short_whole, iki_read_long_whole, f_console_symbol_short_enable, f_console_symbol_long_enable, "Print all of the data instead of just the variable data.");
+    fll_program_print_help_option(output, context, iki_read_short_at, iki_read_long_at, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Select variable at this numeric index.");
+    fll_program_print_help_option(output, context, iki_read_short_line, iki_read_long_line, f_console_symbol_short_enable, f_console_symbol_long_enable, " Print only the variables at the given line.");
+    fll_program_print_help_option(output, context, iki_read_short_name, iki_read_long_name, f_console_symbol_short_enable, f_console_symbol_long_enable, " Select variables with this name.");
+    fll_program_print_help_option(output, context, iki_read_short_whole, iki_read_long_whole, f_console_symbol_short_enable, f_console_symbol_long_enable, "Print all of the data instead of just the variable data.");
 
-    printf("%c", f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
-    fll_program_print_help_option(file, context, iki_read_short_content, iki_read_long_content, f_console_symbol_short_enable, f_console_symbol_long_enable, "Print the variable content (default).");
-    fll_program_print_help_option(file, context, iki_read_short_literal, iki_read_long_literal, f_console_symbol_short_enable, f_console_symbol_long_enable, "Print the entire variable (aka: object, content, and syntax).");
-    fll_program_print_help_option(file, context, iki_read_short_object, iki_read_long_object, f_console_symbol_short_enable, f_console_symbol_long_enable, " Print the variable name (aka: object).");
-    fll_program_print_help_option(file, context, iki_read_short_total, iki_read_long_total, f_console_symbol_short_enable, f_console_symbol_long_enable, "  Print the total number of variables.");
+    fll_program_print_help_option(output, context, iki_read_short_content, iki_read_long_content, f_console_symbol_short_enable, f_console_symbol_long_enable, "Print the variable content (default).");
+    fll_program_print_help_option(output, context, iki_read_short_literal, iki_read_long_literal, f_console_symbol_short_enable, f_console_symbol_long_enable, "Print the entire variable (aka: object, content, and syntax).");
+    fll_program_print_help_option(output, context, iki_read_short_object, iki_read_long_object, f_console_symbol_short_enable, f_console_symbol_long_enable, " Print the variable name (aka: object).");
+    fll_program_print_help_option(output, context, iki_read_short_total, iki_read_long_total, f_console_symbol_short_enable, f_console_symbol_long_enable, "  Print the total number of variables.");
 
-    printf("%c", f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
-    fll_program_print_help_option(file, context, iki_read_short_substitute, iki_read_long_substitute, f_console_symbol_short_enable, f_console_symbol_long_enable, "Substitute the entire variable for the given name and content value with the given string.");
+    fll_program_print_help_option(output, context, iki_read_short_substitute, iki_read_long_substitute, f_console_symbol_short_enable, f_console_symbol_long_enable, "Substitute the entire variable for the given name and content value with the given string.");
 
-    fll_program_print_help_usage(file, context, iki_read_name, "filename(s)");
+    fll_program_print_help_usage(output, context, iki_read_name, "filename(s)");
 
-    fl_color_print(f_type_output, context.set.important, " Notes:");
+    fl_color_print(output.stream, context.set.important, " Notes:");
 
-    printf("%c", f_string_eol[0], f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0], f_string_eol[0]);
 
-    printf("  This program will find and print variables, vocabularies, or content following the IKI standard, without focusing on any particular vocabulary specification.%c", f_string_eol[0]);
+    fprintf(output.stream, "  This program will find and print variables, vocabularies, or content following the IKI standard, without focusing on any particular vocabulary specification.%c", f_string_eol[0]);
 
-    printf("%c", f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
-    printf("  The ");
-    fl_color_print(f_type_output, context.set.notable, "%s%s", f_console_symbol_long_enable, iki_read_long_substitute);
-    printf(" option, requires 3 additional parameters: ");
+    fprintf(output.stream, "  The ");
+    fl_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable, iki_read_long_substitute);
+    fprintf(output.stream, " option, requires 3 additional parameters: ");
 
-    fl_color_print(f_type_output, context.set.notable, "<");
-    printf("%s", iki_read_substitution_vocabulary);
-    fl_color_print(f_type_output, context.set.notable, ">");
-    printf(" ");
-    fl_color_print(f_type_output, context.set.notable, "<");
-    printf("%s", iki_read_substitution_replace);
-    fl_color_print(f_type_output, context.set.notable, ">");
-    printf(" ");
-    fl_color_print(f_type_output, context.set.notable, "<");
-    printf("%s", iki_read_substitution_with);
-    fl_color_print(f_type_output, context.set.notable, ">");
-    printf(".%c", f_string_eol[0]);
+    fl_color_print(output.stream, context.set.notable, "<");
+    fprintf(output.stream, "%s", iki_read_substitution_vocabulary);
+    fl_color_print(output.stream, context.set.notable, ">");
+    fprintf(output.stream, " ");
+    fl_color_print(output.stream, context.set.notable, "<");
+    fprintf(output.stream, "%s", iki_read_substitution_replace);
+    fl_color_print(output.stream, context.set.notable, ">");
+    fprintf(output.stream, " ");
+    fl_color_print(output.stream, context.set.notable, "<");
+    fprintf(output.stream, "%s", iki_read_substitution_with);
+    fl_color_print(output.stream, context.set.notable, ">");
+    fprintf(output.stream, ".%c", f_string_eol[0]);
 
-    fl_color_print(f_type_output, context.set.notable, "    %s", iki_read_substitution_vocabulary);
-    printf(": The name of the vocabulary whose content is to be substituted.%c", f_string_eol[0]);
+    fl_color_print(output.stream, context.set.notable, "    %s", iki_read_substitution_vocabulary);
+    fprintf(output.stream, ": The name of the vocabulary whose content is to be substituted.%c", f_string_eol[0]);
 
-    fl_color_print(f_type_output, context.set.notable, "    %s", iki_read_substitution_replace);
-    printf(":    The content matching this exact string will be substituted.%c", f_string_eol[0]);
+    fl_color_print(output.stream, context.set.notable, "    %s", iki_read_substitution_replace);
+    fprintf(output.stream, ":    The content matching this exact string will be substituted.%c", f_string_eol[0]);
 
-    fl_color_print(f_type_output, context.set.notable, "    %s", iki_read_substitution_with);
-    printf(":       The new string to use as the substitute.%c", f_string_eol[0]);
+    fl_color_print(output.stream, context.set.notable, "    %s", iki_read_substitution_with);
+    fprintf(output.stream, ":       The new string to use as the substitute.%c", f_string_eol[0]);
 
-    printf("%c", f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
-    printf("  The vocabulary and replacement are case-sensitive and must exactly match.%c", f_string_eol[0]);
+    fprintf(output.stream, "  The vocabulary and replacement are case-sensitive and must exactly match.%c", f_string_eol[0]);
 
-    printf("%c", f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
-    printf("  The default behavior is to only display content portion of the IKI variable.%c", f_string_eol[0]);
+    fprintf(output.stream, "  The default behavior is to only display content portion of the IKI variable.%c", f_string_eol[0]);
 
-    printf("%c", f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
     return F_none;
   }
index de698fc6eda50d9524f88a86210ed56cc099904a..d0ea1dbf8c19720fa2fa6359c99519ff9425eedf 100644 (file)
@@ -270,7 +270,7 @@ extern "C" {
 /**
  * Print help.
  *
- * @param file
+ * @param output
  *   The file to print to.
  * @param context
  *   The color context settings.
@@ -279,7 +279,7 @@ extern "C" {
  *   F_none on success.
  */
 #ifndef _di_iki_read_print_help_
-  extern f_return_status iki_read_print_help(const f_file_t file, const f_color_context_t context);
+  extern f_return_status iki_read_print_help(const f_file_t output, const f_color_context_t context);
 #endif // _di_iki_read_print_help_
 
 /**
index e34a1a60b8f193f80c7b678a75340951a5d0ab95..544f1751fd6990b324bff84800b48bd9ec6d7308 100644 (file)
@@ -170,7 +170,7 @@ extern "C" {
               iki_read_substitutions_print(*data, *variable, *content, *ranges, substitutionss[j], j, content_only);
             }
             else {
-              f_print_dynamic_partial(f_type_output, data->buffer, ranges->array[j]);
+              f_print_dynamic_partial(data->output.stream, data->buffer, ranges->array[j]);
             }
 
             printf("%c", f_string_eol[0]);
@@ -193,7 +193,7 @@ extern "C" {
           iki_read_substitutions_print(*data, *variable, *content, *ranges, substitutionss[i], i, content_only);
         }
         else {
-          f_print_dynamic_partial(f_type_output, data->buffer, ranges->array[i]);
+          f_print_dynamic_partial(data->output.stream, data->buffer, ranges->array[i]);
         }
 
         printf("%c", f_string_eol[0]);
@@ -226,7 +226,7 @@ extern "C" {
     }
 
     if (!variable->used) {
-      f_print_dynamic_partial(f_type_output, data->buffer, buffer_range);
+      f_print_dynamic_partial(data->output.stream, data->buffer, buffer_range);
       return F_none;
     }
 
@@ -321,7 +321,7 @@ extern "C" {
           range.start = i;
           range.stop = variable->array[j].start - 1;
 
-          f_print_dynamic_partial(f_type_output, data->buffer, range);
+          f_print_dynamic_partial(data->output.stream, data->buffer, range);
 
           range.start = variable->array[j].stop + 1;
           range.stop = buffer_range.stop;
@@ -348,7 +348,7 @@ extern "C" {
               iki_read_substitutions_print(*data, *variable, *content, *variable, substitutionss[j], j, F_false);
             }
             else {
-              f_print_dynamic_partial(f_type_output, data->buffer, variable->array[j]);
+              f_print_dynamic_partial(data->output.stream, data->buffer, variable->array[j]);
             }
           }
           else {
@@ -356,7 +356,7 @@ extern "C" {
               iki_read_substitutions_print(*data, *variable, *content, *ranges, substitutionss[j], j, content_only);
             }
             else {
-              f_print_dynamic_partial(f_type_output, data->buffer, ranges->array[j]);
+              f_print_dynamic_partial(data->output.stream, data->buffer, ranges->array[j]);
             }
           }
         }
@@ -365,7 +365,7 @@ extern "C" {
             iki_read_substitutions_print(*data, *variable, *content, *ranges, substitutionss[j], j, content_only);
           }
           else {
-            f_print_dynamic_partial(f_type_output, data->buffer, ranges->array[j]);
+            f_print_dynamic_partial(data->output.stream, data->buffer, ranges->array[j]);
           }
         }
 
@@ -375,7 +375,7 @@ extern "C" {
 
       if (i <= buffer_range.stop) {
         range.start = i;
-        f_print_dynamic_partial(f_type_output, data->buffer, range);
+        f_print_dynamic_partial(data->output.stream, data->buffer, range);
       }
     }
 
@@ -529,24 +529,24 @@ extern "C" {
 
     if (status == F_equal_to) {
       if (content_only) {
-        f_print_dynamic(f_type_output, substitutions.array[i].with);
+        f_print_dynamic(data.output.stream, substitutions.array[i].with);
       }
       else {
         range.start = variable.array[index].start;
         range.stop = content.array[index].start - 1;
 
-        f_print_dynamic_partial(f_type_output, data.buffer, range);
+        f_print_dynamic_partial(data.output.stream, data.buffer, range);
 
-        f_print_dynamic(f_type_output, substitutions.array[i].with);
+        f_print_dynamic(data.output.stream, substitutions.array[i].with);
 
         range.start = content.array[index].stop + 1;
         range.stop = variable.array[index].stop;
 
-        f_print_dynamic_partial(f_type_output, data.buffer, range);
+        f_print_dynamic_partial(data.output.stream, data.buffer, range);
       }
     }
     else {
-      f_print_dynamic_partial(f_type_output, data.buffer, ranges.array[index]);
+      f_print_dynamic_partial(data.output.stream, data.buffer, ranges.array[index]);
     }
   }
 #endif // _di_iki_read_substitutions_print_
index 9fd68b8cc7fffa2a1664027943f2d6d857dc7a5f..a0d51149ed037e33c2cfe4c627314bc51a131d7b 100644 (file)
@@ -6,46 +6,46 @@ extern "C" {
 #endif
 
 #ifndef _di_iki_write_print_help_
-  f_return_status iki_write_print_help(const f_file_t file, const f_color_context_t context) {
+  f_return_status iki_write_print_help(const f_file_t output, const f_color_context_t context) {
 
-    fll_program_print_help_header(file, context, iki_write_name_long, iki_write_version);
+    fll_program_print_help_header(output, context, iki_write_name_long, iki_write_version);
 
-    fll_program_print_help_option(file, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
-    fll_program_print_help_option(file, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
-    fll_program_print_help_option(file, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
+    fll_program_print_help_option(output, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
+    fll_program_print_help_option(output, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
+    fll_program_print_help_option(output, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
 
-    printf("%c", f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
-    fll_program_print_help_option(file, context, iki_write_short_file, iki_write_long_file, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Specify a file to send output to.");
-    fll_program_print_help_option(file, context, iki_write_short_content, iki_write_long_content, f_console_symbol_short_enable, f_console_symbol_long_enable, "The content to output.");
-    fll_program_print_help_option(file, context, iki_write_short_double, iki_write_long_double, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use double quotes (default).");
-    fll_program_print_help_option(file, context, iki_write_short_object, iki_write_long_object, f_console_symbol_short_enable, f_console_symbol_long_enable, " The object to output.");
-    fll_program_print_help_option(file, context, iki_write_short_single, iki_write_long_single, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use single quotes.");
+    fll_program_print_help_option(output, context, iki_write_short_file, iki_write_long_file, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Specify a file to send output to.");
+    fll_program_print_help_option(output, context, iki_write_short_content, iki_write_long_content, f_console_symbol_short_enable, f_console_symbol_long_enable, "The content to output.");
+    fll_program_print_help_option(output, context, iki_write_short_double, iki_write_long_double, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use double quotes (default).");
+    fll_program_print_help_option(output, context, iki_write_short_object, iki_write_long_object, f_console_symbol_short_enable, f_console_symbol_long_enable, " The object to output.");
+    fll_program_print_help_option(output, context, iki_write_short_single, iki_write_long_single, f_console_symbol_short_enable, f_console_symbol_long_enable, " Use single quotes.");
 
-    fll_program_print_help_usage(file, context, iki_write_name, "");
+    fll_program_print_help_usage(output, context, iki_write_name, "");
 
-    fl_color_print(f_type_output, context.set.important, " Notes:");
+    fl_color_print(output.stream, context.set.important, " Notes:");
 
-    printf("%c", f_string_eol[0], f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0], f_string_eol[0]);
 
-    printf("  This program will accept object and content strings to generate an IKI string, such as: ");
-    fl_color_print(f_type_output, context.set.notable, "object:\"content\"");
-    printf(".%c", f_string_eol[0]);
+    fprintf(output.stream, "  This program will accept object and content strings to generate an IKI string, such as: ");
+    fl_color_print(output.stream, context.set.notable, "object:\"content\"");
+    fprintf(output.stream, ".%c", f_string_eol[0]);
 
-    printf("  Each object must have a content (and each content must have an object).%c", f_string_eol[0]);
+    fprintf(output.stream, "  Each object must have a content (and each content must have an object).%c", f_string_eol[0]);
 
-    printf("%c", f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
-    printf("  When piping data to this program, a single end of line (\\n) must be used to separate each object from each content.%c", f_string_eol[0]);
-    printf("  Furthermore, each object must be followed by a content.%c", f_string_eol[0]);
+    fprintf(output.stream, "  When piping data to this program, a single end of line (\\n) must be used to separate each object from each content.%c", f_string_eol[0]);
+    fprintf(output.stream, "  Furthermore, each object must be followed by a content.%c", f_string_eol[0]);
 
-    printf("%c", f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
     return F_none;
   }
@@ -378,7 +378,7 @@ extern "C" {
 
         // ensure there is always a newline at the end, unless in quiet mode.
         if (F_status_is_error_not(status) && data->error.verbosity != f_console_verbosity_quiet && data->parameters[iki_write_parameter_file].result == f_console_result_none) {
-          fprintf(f_type_output, "%c", f_string_eol[0]);
+          fprintf(data->output.stream, "%c", f_string_eol[0]);
         }
       }
 
index 6331d00658e8bd72c5e83781c1e26c4d14210c16..430ab1f03c845da9b941b9557721ecfdf34731ff 100644 (file)
@@ -145,7 +145,7 @@ extern "C" {
 /**
  * Print help.
  *
- * @param file
+ * @param output
  *   The file to print to.
  * @param context
  *   The color context settings.
@@ -154,7 +154,7 @@ extern "C" {
  *   F_none on success.
  */
 #ifndef _di_iki_write_print_help_
-  extern f_return_status iki_write_print_help(const f_file_t file, const f_color_context_t context);
+  extern f_return_status iki_write_print_help(const f_file_t output, const f_color_context_t context);
 #endif // _di_iki_write_print_help_
 
 /**
index 0ecdf305e5520d9e5a545b4e7dda74da8ffc8a2f..a1f4cb0e3654bdabefd2e3fdde7ed6360ad30d2e 100644 (file)
 extern "C" {
 #endif
 
-// version printed may be used by scripts, so this will only print the version number and a newline, no extra information or colors
-#ifndef _di_init_print_version_
-  f_return_status init_print_version(const init_data_t data) {
-    printf("%s\n", init_version);
-
-    return F_none;
-  }
-#endif // _di_init_print_version_
-
 #ifndef _di_init_print_help_
-  f_return_status init_print_help(const f_file_t file, const f_color_context_t context) {
+  f_return_status init_print_help(const f_file_t output, const f_color_context_t context) {
 
-    fll_program_print_help_header(file, context, init_name_long, init_version);
+    fll_program_print_help_header(output, context, init_name_long, init_version);
 
-    fll_program_print_help_option(file, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
-    fll_program_print_help_option(file, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
-    fll_program_print_help_option(file, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
+    fll_program_print_help_option(output, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
+    fll_program_print_help_option(output, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
+    fll_program_print_help_option(output, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
 
-    printf("%c", f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
-    fll_program_print_help_option(file, context, init_parameter_no_prepare_short_name, init_parameter_no_prepare_long_name, f_console_symbol_short_enable, f_console_symbol_long_enable, " Do not attempt to process kernel command line or perform any boot-time specific preparations.");
-    fll_program_print_help_option(file, context, init_parameter_runlevel_short_name, init_parameter_runlevel_long_name, f_console_symbol_short_enable, f_console_symbol_long_enable, " Specify a custom run level, ignoring the kernel command line runlevel argument.");
+    fll_program_print_help_option(output, context, init_parameter_no_prepare_short_name, init_parameter_no_prepare_long_name, f_console_symbol_short_enable, f_console_symbol_long_enable, " Do not attempt to process kernel command line or perform any boot-time specific preparations.");
+    fll_program_print_help_option(output, context, init_parameter_runlevel_short_name, init_parameter_runlevel_long_name, f_console_symbol_short_enable, f_console_symbol_long_enable, " Specify a custom run level, ignoring the kernel command line runlevel argument.");
 
-    fll_program_print_help_usage(file, context, init_name, "");
+    fll_program_print_help_usage(output, context, init_name, "");
 
     return F_none;
   }
index b10c6e940f12706e5f51cf2060a27652f5efad26..51fceb3984a9b115b297ad6500e0f015be056498 100644 (file)
@@ -289,14 +289,10 @@ extern "C" {
     }
 #endif // _di_init_data_t_
 
-#ifndef _di_init_print_version_
-  extern f_return_status init_print_version(const init_data_t data);
-#endif // _di_init_print_version_
-
 /**
  * Print help.
  *
- * @param file
+ * @param output
  *   The file to print to.
  * @param context
  *   The color context settings.
@@ -305,7 +301,7 @@ extern "C" {
  *   F_none on success.
  */
 #ifndef _di_init_print_help_
-  extern f_return_status init_print_help(const f_file_t file, const f_color_context_t context);
+  extern f_return_status init_print_help(const f_file_t output, const f_color_context_t context);
 #endif // _di_init_print_help_
 
 /**
index 738c77a885ba88e2a6b90b23d5ceab7d74038da2..07dc4e722c1f60e35e08111820eeb0cd6a0021ff 100644 (file)
@@ -72,7 +72,7 @@
     {
       f_string_range_t input = f_macro_string_range_t_initialize(buffer->used);
 
-      status = fll_fss_basic_list_read(buffer, &input, objects, contents, &delimits);
+      status = fll_fss_basic_list_read(buffer, &input, objects, contents, &delimits, 0);
     }
 
     if (F_status_is_error(status)) {
     f_fss_delimits_t delimits = f_fss_delimits_t_initialize;
 
     // @todo: resume replacing code below.
-    status = fll_fss_extended_read(&buffer, input, &local->rule_objects, &local->rule_contents, 0, 0, &delimits);
+    status = fll_fss_extended_read(&buffer, input, &local->rule_objects, &local->rule_contents, 0, 0, &delimits, 0);
 
     if (F_status_is_error_not(*status)) {
       status = fl_fss_apply_delimit(delimits, &buffer);
       location.stop = objects.array[position].stop;
       delimits.used = 0;
 
-      status = fll_fss_extended_read(&buffer, &location, &objects, &contents, 0, 0, &delimits);
+      status = fll_fss_extended_read(&buffer, &location, &objects, &contents, 0, 0, &delimits, 0);
 
       if (F_status_is_error_not(*status)) {
         status = fl_fss_apply_delimit(delimits, &buffer);
     /*
     delimits.used = 0;
 
-    status = fll_fss_extended_read(&buffer, &location, &objects, &contents, 0, 0, &delimits);
+    status = fll_fss_extended_read(&buffer, &location, &objects, &contents, 0, 0, &delimits, 0);
 
     if (F_status_is_error_not(status)) {
       status = fl_fss_apply_delimit(delimits, &buffer);
     f_status_t status  = F_none;
     delimits.used = 0;
 
-    status = fll_fss_extended_read(buffer, location, objects, contents, 0, 0, &delimits);
+    status = fll_fss_extended_read(buffer, location, objects, contents, 0, 0, &delimits, 0);
 
     if (F_status_is_error_not(status)) {
       status = fl_fss_apply_delimit(delimits, &buffer);
index c44d8defdf16837c12e55664a396096c8c145b6f..41760cfbc6643ee763893156c8d4265c775020c0 100644 (file)
@@ -55,13 +55,13 @@ extern "C" {
       status = fl_conversion_string_to_number_unsigned(value, &number, range);
 
       if (status == F_none) {
-        fl_color_print(f_type_output, data.context.set.error, "invalid name%c", f_string_eol[0]);
+        fl_color_print(data.output.stream, data.context.set.error, "invalid name%c", f_string_eol[0]);
 
         return F_status_set_error(F_parameter);
       }
 
       if (status == F_data_not || F_status_set_fine(status) == F_parameter) {
-        fl_color_print(f_type_output, data.context.set.error, "invalid data%c", f_string_eol[0]);
+        fl_color_print(data.output.stream, data.context.set.error, "invalid data%c", f_string_eol[0]);
 
         return status;
       }
@@ -73,17 +73,17 @@ extern "C" {
 
     if (F_status_is_error(status)) {
       if (F_status_set_fine(status) == F_data) {
-        fl_color_print(f_type_output, data.context.set.error, "unknown name%c", f_string_eol[0]);
+        fl_color_print(data.output.stream, data.context.set.error, "unknown name%c", f_string_eol[0]);
       }
       else {
-        fl_color_print(f_type_output, data.context.set.error, "failed to convert%c", f_string_eol[0]);
+        fl_color_print(data.output.stream, data.context.set.error, "failed to convert%c", f_string_eol[0]);
       }
 
       return status;
     }
 
     if (status == F_data) {
-      fl_color_print(f_type_output, data.context.set.warning, "unknown code%c", f_string_eol[0]);
+      fl_color_print(data.output.stream, data.context.set.warning, "unknown code%c", f_string_eol[0]);
 
       return F_none;
     }
@@ -110,10 +110,10 @@ extern "C" {
 
     if (F_status_is_error(status)) {
       if (F_status_set_fine(status) == F_data) {
-        fl_color_print(f_type_output, data.context.set.error, "unknown code%c", f_string_eol[0]);
+        fl_color_print(data.output.stream, data.context.set.error, "unknown code%c", f_string_eol[0]);
       }
       else {
-        fl_color_print(f_type_output, data.context.set.error, "failed to convert%c", f_string_eol[0]);
+        fl_color_print(data.output.stream, data.context.set.error, "failed to convert%c", f_string_eol[0]);
       }
 
       return status;
@@ -132,17 +132,17 @@ extern "C" {
     f_status_t status = fl_conversion_string_to_number_unsigned(value, number, range);
 
     if (*number > F_status_size_max_with_signal) {
-      fl_color_print(f_type_output, data.context.set.error, "out of range%c", f_string_eol[0]);
+      fl_color_print(data.output.stream, data.context.set.error, "out of range%c", f_string_eol[0]);
 
       return status;
     }
 
     if (F_status_is_error(status)) {
       if (F_status_set_fine(status) == F_number_negative) {
-        fl_color_print(f_type_output, data.context.set.error, "out of range%c", f_string_eol[0]);
+        fl_color_print(data.output.stream, data.context.set.error, "out of range%c", f_string_eol[0]);
       }
       else {
-        fl_color_print(f_type_output, data.context.set.error, "invalid number%c", f_string_eol[0]);
+        fl_color_print(data.output.stream, data.context.set.error, "invalid number%c", f_string_eol[0]);
       }
 
       return status;
index 38df4928c9daed6ee33e0a343c6a35dc21c62c51..0bdd4c0afe689e059f4abf2fa621aa9910f082dd 100644 (file)
@@ -6,28 +6,28 @@ extern "C" {
 #endif
 
 #ifndef _di_status_code_print_help_
-  f_return_status status_code_print_help(const f_file_t file, const f_color_context_t context) {
+  f_return_status status_code_print_help(const f_file_t output, const f_color_context_t context) {
 
-    fll_program_print_help_header(file, context, status_code_name_long, status_code_version);
+    fll_program_print_help_header(output, context, status_code_name_long, status_code_version);
 
-    fll_program_print_help_option(file, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
-    fll_program_print_help_option(file, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
-    fll_program_print_help_option(file, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
-    fll_program_print_help_option(file, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
-    fll_program_print_help_option(file, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
+    fll_program_print_help_option(output, context, f_console_standard_short_help, f_console_standard_long_help, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Print this help message.");
+    fll_program_print_help_option(output, context, f_console_standard_short_dark, f_console_standard_long_dark, f_console_symbol_short_disable, f_console_symbol_long_disable, "    Output using colors that show up better on dark backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_light, f_console_standard_long_light, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Output using colors that show up better on light backgrounds.");
+    fll_program_print_help_option(output, context, f_console_standard_short_no_color, f_console_standard_long_no_color, f_console_symbol_short_disable, f_console_symbol_long_disable, "Do not output in color.");
+    fll_program_print_help_option(output, context, f_console_standard_short_quiet, f_console_standard_long_quiet, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Decrease verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_normal, f_console_standard_long_normal, f_console_symbol_short_disable, f_console_symbol_long_disable, "  Set verbosity to normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_verbose, f_console_standard_long_verbose, f_console_symbol_short_disable, f_console_symbol_long_disable, " Increase verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_debug, f_console_standard_long_debug, f_console_symbol_short_disable, f_console_symbol_long_disable, "   Enable debugging, inceasing verbosity beyond normal output.");
+    fll_program_print_help_option(output, context, f_console_standard_short_version, f_console_standard_long_version, f_console_symbol_short_disable, f_console_symbol_long_disable, " Print only the version number.");
 
-    printf("%c", f_string_eol[0]);
+    fprintf(output.stream, "%c", f_string_eol[0]);
 
-    fll_program_print_help_option(file, context, status_code_short_is_fine, status_code_long_is_fine, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Print F_true if the error code is not an error, F_false otherwise.");
-    fll_program_print_help_option(file, context, status_code_short_is_warning, status_code_long_is_warning, f_console_symbol_short_enable, f_console_symbol_long_enable, "Print F_true if the error code is a warning, F_false otherwise.");
-    fll_program_print_help_option(file, context, status_code_short_is_error, status_code_long_is_error, f_console_symbol_short_enable, f_console_symbol_long_enable, "  Print F_true if the error code is an error, F_false otherwise.");
-    fll_program_print_help_option(file, context, status_code_short_number, status_code_long_number, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Convert status code name to number.");
+    fll_program_print_help_option(output, context, status_code_short_is_fine, status_code_long_is_fine, f_console_symbol_short_enable, f_console_symbol_long_enable, "   Print F_true if the error code is not an error, F_false otherwise.");
+    fll_program_print_help_option(output, context, status_code_short_is_warning, status_code_long_is_warning, f_console_symbol_short_enable, f_console_symbol_long_enable, "Print F_true if the error code is a warning, F_false otherwise.");
+    fll_program_print_help_option(output, context, status_code_short_is_error, status_code_long_is_error, f_console_symbol_short_enable, f_console_symbol_long_enable, "  Print F_true if the error code is an error, F_false otherwise.");
+    fll_program_print_help_option(output, context, status_code_short_number, status_code_long_number, f_console_symbol_short_enable, f_console_symbol_long_enable, "    Convert status code name to number.");
 
-    fll_program_print_help_usage(file, context, status_code_name, "status code(s)");
+    fll_program_print_help_usage(output, context, status_code_name, "status code(s)");
 
     return F_none;
   }
index fbf2d3003060b9cfa3847d32800c77c8c6e65b94..2e8ee0e67a63ea92699ae797f17589d131713fc7 100644 (file)
@@ -128,7 +128,7 @@ extern "C" {
 /**
  * Print help.
  *
- * @param file
+ * @param output
  *   The file to print to.
  * @param context
  *   The color context settings.
@@ -137,7 +137,7 @@ extern "C" {
  *   F_none on success.
  */
 #ifndef _di_status_code_print_help_
-  extern f_return_status status_code_print_help(const f_file_t file, const f_color_context_t context);
+  extern f_return_status status_code_print_help(const f_file_t output, const f_color_context_t context);
 #endif // _di_status_code_print_help_
 
 /**