Convert the fake program.
Move the "%n" to "%in" to be consistent with how "%un" is used.
Change print string safely to ignore NULL rather than print the NULL character symbol.
This is done to be consistent with existing FLL design.
I realized printing the symbol is a problem when I test the fake build verbose setting.
Add warning output to fake and control programs.
Add -O2 optimization by default.
Provide standard conversion base data.
build_libraries -lc -lcap
build_libraries-level
build_libraries-level_threadless
-build_sources_library account.c private-account.c capability.c color.c color-common.c console.c console-common.c control_group.c control_group-common.c conversion.c private-conversion.c directory.c private-directory.c environment.c private-environment.c file.c file-common.c private-file.c fss.c private-fss.c fss-common.c fss_named.c fss_nest.c fss_set.c iki.c iki-common.c private-iki.c limit.c memory.c memory_structure.c private-memory.c path.c path-common.c private-path.c pipe.c print.c print-common.c private-print.c serialize.c serialize-common.c private-serialize.c signal.c socket.c string.c string-common.c private-string.c string_dynamic.c string_map.c string_quantity.c string_range.c string_triple.c type_array.c private-type_array.c utf.c utf-common.c private-utf.c utf_dynamic.c utf_map.c utf_triple.c
+build_sources_library account.c private-account.c capability.c color.c color-common.c console.c console-common.c control_group.c control_group-common.c conversion.c conversion-common.c private-conversion.c directory.c private-directory.c environment.c private-environment.c file.c file-common.c private-file.c fss.c private-fss.c fss-common.c fss_named.c fss_nest.c fss_set.c iki.c iki-common.c private-iki.c limit.c memory.c memory_structure.c private-memory.c path.c path-common.c private-path.c pipe.c print.c print-common.c private-print.c serialize.c serialize-common.c private-serialize.c signal.c socket.c string.c string-common.c private-string.c string_dynamic.c string_map.c string_quantity.c string_range.c string_triple.c type_array.c private-type_array.c utf.c utf-common.c private-utf.c utf_dynamic.c utf_map.c utf_triple.c
build_sources_library-level thread.c private-thread.c
build_sources_program
build_sources_headers account.h account-common.h capability.h capability-common.h color.h color-common.h console.h console-common.h control_group.h control_group-common.h conversion.h conversion-common.h directory.h directory_type.h directory-common.h environment.h environment-common.h execute.h execute-common.h file.h file-common.h fss.h fss-common.h fss_comment.h fss_delimit.h fss_named.h fss_nest.h fss_quote.h fss_set.h iki.h iki-common.h limit.h limit-common.h memory.h memory_structure.h memory-common.h path.h path-common.h pipe.h print.h print-common.h serialize.h serialize-common.h signal.h signal-common.h socket.h socket-common.h status.h string.h string-common.h string_dynamic.h string_map.h string_quantity.h string_range.h string_triple.h type.h type_array.h type_array-common.h utf.h utf-common.h utf_dynamic.h utf_map.h utf_triple.h
build_libraries -lc -lcap
build_libraries-monolithic
build_libraries-monolithic_threadless
-build_sources_library level_0/account.c level_0/private-account.c level_0/capability.c level_0/color.c level_0/color-common.c level_0/console.c level_0/console-common.c level_0/control_group.c level_0/control_group-common.c level_0/conversion.c level_0/private-conversion.c level_0/directory.c level_0/private-directory.c level_0/environment.c level_0/private-environment.c level_0/file.c level_0/file-common.c level_0/private-file.c level_0/fss.c level_0/private-fss.c level_0/fss-common.c level_0/fss_named.c level_0/fss_nest.c level_0/fss_set.c level_0/iki.c level_0/iki-common.c level_0/private-iki.c level_0/limit.c level_0/memory.c level_0/memory_structure.c level_0/private-memory.c level_0/path.c level_0/path-common.c level_0/private-path.c level_0/pipe.c level_0/print.c level_0/print-common.c level_0/private-print.c level_0/serialize.c level_0/serialize-common.c level_0/private-serialize.c level_0/signal.c level_0/socket.c level_0/string.c level_0/string-common.c level_0/private-string.c level_0/string_dynamic.c level_0/string_map.c level_0/string_quantity.c level_0/string_range.c level_0/string_triple.c level_0/type_array.c level_0/private-type_array.c level_0/utf.c level_0/utf-common.c level_0/private-utf.c level_0/utf_dynamic.c level_0/utf_map.c level_0/utf_triple.c level_1/console.c level_1/control_group.c level_1/conversion.c level_1/directory.c level_1/private-directory.c level_1/environment.c level_1/private-fss.c level_1/fss_basic.c level_1/fss_basic_list.c level_1/fss_embedded_list.c level_1/fss_extended.c level_1/fss_extended_list.c level_1/iki.c level_1/print.c level_1/private-print.c level_1/signal.c level_1/status.c level_1/string.c level_1/private-string.c level_1/utf.c level_1/private-utf.c level_1/utf_file.c level_1/private-utf_file.c level_2/control_group.c level_2/error.c level_2/error-common.c level_2/private-error.c level_2/execute.c level_2/private-execute.c level_2/file.c level_2/private-file.c level_2/fss.c level_2/private-fss.c level_2/fss_basic.c level_2/fss_basic_list.c level_2/fss_embedded_list.c level_2/fss_extended.c level_2/fss_extended_list.c level_2/fss_status.c level_2/iki.c level_2/private-iki.c level_2/path.c level_2/print.c level_2/program.c level_2/status.c
+build_sources_library level_0/account.c level_0/private-account.c level_0/capability.c level_0/color.c level_0/color-common.c level_0/console.c level_0/console-common.c level_0/control_group.c level_0/control_group-common.c level_0/conversion.c level_0/conversion-common.c level_0/private-conversion.c level_0/directory.c level_0/private-directory.c level_0/environment.c level_0/private-environment.c level_0/file.c level_0/file-common.c level_0/private-file.c level_0/fss.c level_0/private-fss.c level_0/fss-common.c level_0/fss_named.c level_0/fss_nest.c level_0/fss_set.c level_0/iki.c level_0/iki-common.c level_0/private-iki.c level_0/limit.c level_0/memory.c level_0/memory_structure.c level_0/private-memory.c level_0/path.c level_0/path-common.c level_0/private-path.c level_0/pipe.c level_0/print.c level_0/print-common.c level_0/private-print.c level_0/serialize.c level_0/serialize-common.c level_0/private-serialize.c level_0/signal.c level_0/socket.c level_0/string.c level_0/string-common.c level_0/private-string.c level_0/string_dynamic.c level_0/string_map.c level_0/string_quantity.c level_0/string_range.c level_0/string_triple.c level_0/type_array.c level_0/private-type_array.c level_0/utf.c level_0/utf-common.c level_0/private-utf.c level_0/utf_dynamic.c level_0/utf_map.c level_0/utf_triple.c level_1/console.c level_1/control_group.c level_1/conversion.c level_1/directory.c level_1/private-directory.c level_1/environment.c level_1/private-fss.c level_1/fss_basic.c level_1/fss_basic_list.c level_1/fss_embedded_list.c level_1/fss_extended.c level_1/fss_extended_list.c level_1/iki.c level_1/print.c level_1/private-print.c level_1/signal.c level_1/status.c level_1/string.c level_1/private-string.c level_1/utf.c level_1/private-utf.c level_1/utf_file.c level_1/private-utf_file.c level_2/control_group.c level_2/error.c level_2/error-common.c level_2/private-error.c level_2/execute.c level_2/private-execute.c level_2/file.c level_2/private-file.c level_2/fss.c level_2/private-fss.c level_2/fss_basic.c level_2/fss_basic_list.c level_2/fss_embedded_list.c level_2/fss_extended.c level_2/fss_extended_list.c level_2/fss_status.c level_2/iki.c level_2/private-iki.c level_2/path.c level_2/print.c level_2/program.c level_2/status.c
build_sources_library-monolithic level_0/thread.c level_0/private-thread.c
build_sources_program
build_sources_headers level_0/account.h level_0/account-common.h level_0/capability.h level_0/capability-common.h level_0/color.h level_0/color-common.h level_0/console.h level_0/console-common.h level_0/control_group.h level_0/control_group-common.h level_0/conversion.h level_0/conversion-common.h level_0/directory.h level_0/directory_type.h level_0/directory-common.h level_0/environment.h level_0/environment-common.h level_0/execute.h level_0/execute-common.h level_0/file.h level_0/file-common.h level_0/fss.h level_0/fss-common.h level_0/fss_comment.h level_0/fss_delimit.h level_0/fss_named.h level_0/fss_nest.h level_0/fss_quote.h level_0/fss_set.h level_0/iki.h level_0/iki-common.h level_0/limit.h level_0/limit-common.h level_0/memory.h level_0/memory_structure.h level_0/memory-common.h level_0/path.h level_0/path-common.h level_0/pipe.h level_0/print.h level_0/print-common.h level_0/serialize.h level_0/serialize-common.h level_0/signal.h level_0/signal-common.h level_0/socket.h level_0/socket-common.h level_0/status.h level_0/string.h level_0/string-common.h level_0/string_dynamic.h level_0/string_map.h level_0/string_quantity.h level_0/string_range.h level_0/string_triple.h level_0/type.h level_0/type_array.h level_0/type_array-common.h level_0/utf.h level_0/utf-common.h level_0/utf_dynamic.h level_0/utf_map.h level_0/utf_triple.h level_1/console.h level_1/control_group.h level_1/conversion.h level_1/directory.h level_1/environment.h level_1/execute.h level_1/execute-common.h level_1/fss.h level_1/fss_basic.h level_1/fss_basic_list.h level_1/fss_embedded_list.h level_1/fss_extended.h level_1/fss_extended_list.h level_1/fss_status.h level_1/iki.h level_1/print.h level_1/signal.h level_1/signal-common.h level_1/status.h level_1/string.h level_1/utf.h level_1/utf_file.h level_2/control_group.h level_2/error.h level_2/error-common.h level_2/execute.h level_2/file.h level_2/fss.h level_2/fss_basic.h level_2/fss_basic_list.h level_2/fss_embedded_list.h level_2/fss_extended.h level_2/fss_extended_list.h level_2/fss_status.h level_2/iki.h level_2/path.h level_2/print.h level_2/program.h level_2/status.h
macro_f_string_dynamic_t_clear(context.normal_reset)
#define macro_f_color_context_t_new(status, context) \
- macro_f_string_dynamic_t_resize(status, context.reset, f_color_max_size + 1) \
+ macro_f_string_dynamic_t_resize(status, context.reset, f_color_max_size + 1) \
if (F_status_is_error_not(status)) macro_f_string_dynamic_t_resize(status, context.warning, f_color_max_size + 1) \
if (F_status_is_error_not(status)) macro_f_string_dynamic_t_resize(status, context.error, f_color_max_size + 1) \
if (F_status_is_error_not(status)) macro_f_string_dynamic_t_resize(status, context.title, f_color_max_size + 1) \
extern "C" {
#endif
-#ifndef _di_fl_control_group_defines_
+#ifndef _di_f_control_group_defines_
const f_string_t f_control_group_path_system_default_s = f_control_group_path_system_default;
const f_string_t f_control_group_path_system_prefix_s = f_control_group_path_system_prefix;
const f_string_t f_control_group_path_system_suffix_s = f_control_group_path_system_suffix;
-#endif // _di_fl_control_group_defines_
+#endif // _di_f_control_group_defines_
#ifdef __cplusplus
} // extern "C"
/**
* The defines for control groups.
*/
-#ifndef _di_fl_control_group_defines_
+#ifndef _di_f_control_group_defines_
#define f_control_group_path_system_default "sys/fs/cgroup/"
#define f_control_group_path_system_prefix "/"
#define f_control_group_path_system_suffix "/cgroup.procs"
extern const f_string_t f_control_group_path_system_default_s;
extern const f_string_t f_control_group_path_system_prefix_s;
extern const f_string_t f_control_group_path_system_suffix_s;
-#endif // _di_fl_control_group_defines_
+#endif // _di_f_control_group_defines_
/**
* Provide a structure for associating some process with one or more control groups (cgroups).
--- /dev/null
+#include "conversion.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _di_f_conversion_data_t_defines_
+ const f_conversion_data_t f_conversion_data_base_2_s = macro_f_conversion_data_t_initialize(2, 0, 1);
+ const f_conversion_data_t f_conversion_data_base_8_s = macro_f_conversion_data_t_initialize(8, 0, 1);
+ const f_conversion_data_t f_conversion_data_base_10_s = macro_f_conversion_data_t_initialize(10, 0, 1);
+ const f_conversion_data_t f_conversion_data_base_12_s = macro_f_conversion_data_t_initialize(12, 0, 1);
+ const f_conversion_data_t f_conversion_data_base_16_s = macro_f_conversion_data_t_initialize(16, 0, 1);
+#endif // _di_f_conversion_data_t_defines_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
#endif // _di_f_conversion_data_t_
/**
+ * The defines for conversion data.
+ *
+ * f_conversion_data_base_*:
+ * - 2: Basic base-2 conversion structure.
+ * - 8: Basic base-8 conversion structure.
+ * - 10: Basic base-10 conversion structure.
+ * - 12: Basic base-12 conversion structure.
+ * - 16: Basic base-16 conversion structure.
+ */
+#ifndef _di_f_conversion_data_t_defines_
+ extern const f_conversion_data_t f_conversion_data_base_2_s;
+ extern const f_conversion_data_t f_conversion_data_base_8_s;
+ extern const f_conversion_data_t f_conversion_data_base_10_s;
+ extern const f_conversion_data_t f_conversion_data_base_12_s;
+ extern const f_conversion_data_t f_conversion_data_base_16_s;
+#endif // _di_f_conversion_data_t_defines_
+
+/**
* Define flags used by f_conversion_data_t.
*
* f_conversion_data_flag_*:
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string -lf_utf
-build_sources_library conversion.c private-conversion.c
+build_sources_library conversion.c conversion-common.c private-conversion.c
build_sources_program
build_sources_headers conversion.h conversion-common.h
build_sources_script
* - character_safe: "C", type is a 1-byte unsigned character, where control characters and other problems are handled.
* - color_after: "]", type is f_color_set_t such that the f_color_set_t.after is used.
* - color_before: "[", type is f_color_set_t such that the f_color_set_t.begin is used.
- * - number: "n", "N", type is an f_number_signed_t.
* - signed_8: "iii", "III", type is a int8_t.
* - signed_16: "ii", "II", type is a int16_t.
* - signed_32: "i", "I", type is a int32_t.
* - signed_64: "il", "IL", type is a signed int64_t.
* - signed_128: "ill", "ILL", type is a f_int_128_t.
+ * - number: "in", "IN", type is an f_number_signed_t.
* - size: "z", "Z", type is a size_t.
* - string_safe: "S", type is a NULL terminated string, where control characters and other problems are handled.
* - string_static: "q", type is an f_string_static_t or f_string_dynamic_t and NULLs are ignored (not printed).
f_print_format_type_character_safe,
f_print_format_type_color_after,
f_print_format_type_color_before,
- f_print_format_type_number,
f_print_format_type_signed_8,
f_print_format_type_signed_16,
f_print_format_type_signed_32,
f_print_format_type_signed_64,
f_print_format_type_signed_128,
+ f_print_format_type_signed_number,
f_print_format_type_size,
f_print_format_type_string,
f_print_format_type_string_safe,
i += width;
}
else {
- status = private_f_print_character_safely(string[i++], output);
- if (F_status_is_error(status)) return status;
+ if (string[i]) {
+ status = private_f_print_character_safely(string[i++], output);
+ if (F_status_is_error(status)) return status;
+ }
+ else {
+ ++i;
+ }
}
start = i;
/**
* Similar to a c-library printf, except that this prints a given dynamic string.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will print up to length 1-byte characters.
*
* This print function does not use locking, be sure something like flockfile() and funlockfile() are appropriately called.
/**
* Similar to a c-library printf, except that this will only print a specific range in a given dynamic string.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will print up to the specified range within the buffer.
*
* This print function does not use locking, be sure something like flockfile() and funlockfile() are appropriately called.
/**
* Similar to a c-library printf, except that this will only print a specific range.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will not print any 1-byte character at a location specified in except array.
* Will print up to length 1-byte characters.
*
/**
* Similar to a c-library printf, except that this prints a given dynamic string.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will not print any 1-byte character at a location specified in except array.
* Will print up to length 1-byte characters.
*
/**
* Similar to a c-library printf, except that this will only print a specific range.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* An offset is provided because the except_at/except_int positions are expected to be relative to the start position, without the offset applied.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will not print any 1-byte character at a location specified in except_at array.
* Will not print any 1-byte character within the ranges specified in except_in array.
* Will print up to length 1-byte characters.
/**
* Similar to a c-library printf, except that this prints a given dynamic string.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will not print any 1-byte character at a location specified in except_at array.
* Will not print any 1-byte character within the ranges specified in except_in array.
* Will print up to the length of the buffer.
/**
* Similar to a c-library printf, except that this will only print a specific range in a given dynamic string.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will not print any 1-byte character at a location specified in except array.
* Will print up to the specified range within the buffer.
*
/**
* Similar to a c-library printf, except that this will only print a specific range.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will print up to length 1-byte characters.
*
* This print function does not use locking, be sure something like flockfile() and funlockfile() are appropriately called.
/**
* Similar to a c-library printf.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will stop at NULL.
/**
* Similar to a c-library dprintf, except that this will only print a specific range.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will print up to length 1-byte characters.
*
* @param string
/**
* Similar to a c-library dprintf, except that this prints a given dynamic string.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will print up to length 1-byte characters.
*
* @param buffer
/**
* Similar to a c-library dprintf, except that this will only print a specific range in a given dynamic string.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will print up to length 1-byte characters.
*
* @param buffer
/**
* Similar to a c-library dprintf, except that this will only print a specific range.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will not print any 1-byte character at a location specified in except array.
* Will print up to length 1-byte characters.
*
/**
* Similar to a c-library dprintf, except that this prints a given dynamic string.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will not print any 1-byte character at a location specified in except array.
* Will print up to the length of the buffer.
*
/**
* Similar to a c-library dprintf, except that this will only print a specific range in a given dynamic string.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will not print any 1-byte character at a location specified in except array.
* Will print up to the specified range within the buffer.
*
i += width;
}
else {
- status = private_f_print_character_safely(string[i++], output);
- if (F_status_is_error(status)) return status;
+ if (string[i]) {
+ status = private_f_print_character_safely(string[i++], output);
+ if (F_status_is_error(status)) return status;
+ }
+ else {
+ ++i;
+ }
}
start = i;
}
#endif // _di_fl_print_color_terminated_
-#ifndef _di_fl_print_string_
- f_status_t fl_print_string(const f_string_t string, FILE *output, ...) {
+#ifndef _di_fl_print_format_
+ f_status_t fl_print_format(const f_string_t string, FILE *output, ...) {
#ifndef _di_level_1_parameter_checking_
if (!string) return 0;
if (!output) return 0;
if (*current == f_string_ascii_percent_s[0]) {
current += 1;
- current = private_fl_print_string_convert(current, output, &ap, &status);
+ current = private_fl_print_format_convert(current, output, &ap, &status);
if (F_status_is_error(status)) break;
}
else {
return status;
}
-#endif // _di_fl_print_string_
+#endif // _di_fl_print_format_
-#ifndef _di_fl_print_string_convert_
- f_string_t fl_print_string_convert(const f_string_t string, FILE *output, va_list *ap, f_status_t *status) {
+#ifndef _di_fl_print_format_convert_
+ f_string_t fl_print_format_convert(const f_string_t string, FILE *output, va_list *ap, f_status_t *status) {
#ifndef _di_level_1_parameter_checking_
if (!output) return 0;
if (!ap) return 0;
#endif // _di_level_1_parameter_checking_
- return private_fl_print_string_convert(string, output, ap, status);
+ return private_fl_print_format_convert(string, output, ap, status);
}
-#endif // _di_fl_print_string_convert_
+#endif // _di_fl_print_format_convert_
#ifndef _di_fl_print_string_va_
f_status_t fl_print_string_va(const f_string_t string, FILE *output, va_list *ap) {
if (*current == f_string_ascii_percent_s[0]) {
current += 1;
- current = private_fl_print_string_convert(current, output, ap, &status);
+ current = private_fl_print_format_convert(current, output, ap, &status);
if (F_status_is_error(status)) break;
}
else {
* @see f_print_safely()
* @see f_print_terminated()
*/
-#ifndef _di_fl_print_string_
- extern f_status_t fl_print_string(const f_string_t string, FILE *output, ...);
-#endif // _di_fl_print_string_
+#ifndef _di_fl_print_format_
+ extern f_status_t fl_print_format(const f_string_t string, FILE *output, ...);
+#endif // _di_fl_print_format_
/**
* Convert and print a single part of a formatted string represented by the '%'.
* @see f_print_safely()
* @see f_print_terminated()
*/
-#ifndef _di_fl_print_string_convert_
- extern f_string_t fl_print_string_convert(const f_string_t string, FILE *output, va_list *ap, f_status_t *status);
-#endif // _di_fl_print_string_convert_
+#ifndef _di_fl_print_format_convert_
+ extern f_string_t fl_print_format_convert(const f_string_t string, FILE *output, va_list *ap, f_status_t *status);
+#endif // _di_fl_print_format_convert_
/**
* A formatted print function similar to (but not the same as) the c-library vfprintf() function.
*
- * This is identical to fl_print_string() except it accepts a va_list as a variable instead of as "...".
+ * This is identical to fl_print_format() except it accepts a va_list as a variable instead of as "...".
*
* This print function does not use locking, be sure something like flockfile() and funlockfile() are appropriately called.
*
* @see f_print_dynamic_safely()
* @see f_print_safely()
* @see f_print_terminated()
- * @see fl_print_string()
+ * @see fl_print_format()
*/
#ifndef _di_fl_print_string_va_
extern f_status_t fl_print_string_va(const f_string_t string, FILE *output, va_list *ap);
/**
* Print a string, stripping leading and trailing whitespace.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
*
* This print function does not use locking, be sure something like flockfile() and funlockfile() are appropriately called.
*
/**
* Print a dynamic string, stripping leading and trailing whitespace.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will print the entire dynamic string, except for leading/trailing whitespace.
*
* NULL characters are treated as whitespace for the purpose of trimming.
/**
* Print a partial dynamic string, stripping leading and trailing whitespace.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will print the only the buffer range specified by range, except for leading/trailing whitespace.
*
* NULL characters are treated as whitespace for the purpose of trimming.
/**
* Print a string, stripping leading and trailing whitespace.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will not print any 1-byte character at a location specified in except_at array.
*
* NULL characters are treated as whitespace for the purpose of trimming.
/**
* Print a dynamic string, stripping leading and trailing whitespace.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will print the entire dynamic string, except for leading/trailing whitespace.
* Will not print any 1-byte character at a location specified in except_at array.
*
/**
* Print a string, stripping leading and trailing whitespace.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will not print any 1-byte character at a location specified in except_at array.
* Will not print any 1-byte character within the ranges specified in except_in array.
*
/**
* Print a dynamic string, stripping leading and trailing whitespace.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will print the entire dynamic string, except for leading/trailing whitespace.
* Will not print any 1-byte character at a location specified in except_at array.
* Will not print any 1-byte character within the ranges specified in except_in array.
/**
* Print a partial dynamic string, stripping leading and trailing whitespace.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will not print any 1-byte character at a location specified in except_at array.
* Will not print any 1-byte character within the ranges specified in except_in array.
* Will print the only the buffer range specified by range, except for leading/trailing whitespace.
/**
* Print a partial dynamic string, stripping leading and trailing whitespace.
*
- * Control characters are converted to the Unicode control character symbols, including NULL.
+ * Control characters are converted to the Unicode control character symbols, excluding NULL.
* UTF-8 sequences with invalid widths are converted to the unknown character '�'.
*
* Will not stop at NULL.
- * Will print NULL (as a control character symbol).
+ * Will not print NULL.
* Will not print any 1-byte character at a location specified in except array.
* Will print the only the buffer range specified by range, except for leading/trailing whitespace.
*
extern "C" {
#endif
-#if !defined(_di_fl_print_string_convert_) || !defined(_di_fl_print_string_)
- f_string_t private_fl_print_string_convert(f_string_t string, FILE *output, va_list *ap, f_status_t *status) {
+#if !defined(_di_fl_print_format_) || !defined(_di_fl_print_format_convert_)
+ f_string_t private_fl_print_format_convert(f_string_t string, FILE *output, va_list *ap, f_status_t *status) {
const f_string_t start = string;
return string;
}
- string += 1;
+ ++string;
if (*string < 0x30 || *string > 0x39) {
*status = F_status_set_error(F_valid_not);
if (*(string + 1) == f_string_ascii_I_s[0]) {
if (*(string + 2) == f_string_ascii_I_s[0]) {
type = f_print_format_type_signed_8;
- string = string + 2;
+ string += 2;
}
else {
type = f_print_format_type_signed_16;
- string += 1;
+ ++string;
}
}
else if (*(string + 1) == f_string_ascii_L_s[0]) {
if (*(string + 2) == f_string_ascii_L_s[0]) {
type = f_print_format_type_signed_128;
- string = string + 2;
+ string += 2;
}
else {
type = f_print_format_type_signed_64;
- string += 1;
+ ++string;
}
}
- }
- else if (*string == f_string_ascii_N_s[0]) {
- type = f_print_format_type_number;
- flag |= f_print_format_flag_uppercase;
+ else if (*(string + 1) == f_string_ascii_N_s[0]) {
+ type = f_print_format_type_signed_number;
+ flag |= f_print_format_flag_uppercase;
+ ++string;
+ }
}
else if (*string == f_string_ascii_Q_s[0]) {
const f_string_static_t value = va_arg(*ap, f_string_static_t);
if (*(string + 1) == f_string_ascii_I_s[0]) {
if (*(string + 2) == f_string_ascii_I_s[0]) {
type = f_print_format_type_unsigned_8;
- string = string + 2;
+ string += 2;
}
else {
type = f_print_format_type_unsigned_16;
- string += 1;
+ ++string;
}
}
else if (*(string + 1) == f_string_ascii_L_s[0]) {
if (*(string + 2) == f_string_ascii_L_s[0]) {
type = f_print_format_type_unsigned_128;
- string = string + 2;
+ string += 2;
}
else {
type = f_print_format_type_unsigned_64;
- string += 1;
+ ++string;
}
}
else if (*(string + 1) == f_string_ascii_N_s[0]) {
type = f_print_format_type_unsigned_number;
- string += 1;
+ ++string;
}
}
else {
if (*(string + 1) == f_string_ascii_i_s[0]) {
if (*(string + 2) == f_string_ascii_i_s[0]) {
type = f_print_format_type_signed_8;
- string = string + 2;
+ string += 2;
}
else {
type = f_print_format_type_signed_16;
- string += 1;
+ ++string;
}
}
else if (*(string + 1) == f_string_ascii_l_s[0]) {
if (*(string + 2) == f_string_ascii_l_s[0]) {
type = f_print_format_type_signed_128;
- string = string + 2;
+ string += 2;
}
else {
type = f_print_format_type_signed_64;
- string += 1;
+ ++string;
}
}
- }
- else if (*string == f_string_ascii_n_s[0]) {
- type = f_print_format_type_number;
+ else if (*(string + 1) == f_string_ascii_n_s[0]) {
+ type = f_print_format_type_signed_number;
+ ++string;
+ }
}
else if (*string == f_string_ascii_q_s[0]) {
const f_string_static_t value = va_arg(*ap, f_string_static_t);
if (*(string + 1) == f_string_ascii_i_s[0]) {
if (*(string + 2) == f_string_ascii_i_s[0]) {
type = f_print_format_type_unsigned_8;
- string = string + 2;
+ string += 2;
}
else {
type = f_print_format_type_unsigned_16;
- string += 1;
+ ++string;
}
}
else if (*(string + 1) == f_string_ascii_l_s[0]) {
if (*(string + 2) == f_string_ascii_l_s[0]) {
type = f_print_format_type_unsigned_128;
- string = string + 2;
+ string += 2;
}
else {
type = f_print_format_type_unsigned_64;
- string += 1;
+ ++string;
}
}
else if (*(string + 1) == f_string_ascii_n_s[0]) {
type = f_print_format_type_unsigned_number;
- string += 1;
+ ++string;
}
}
else if (*string == f_string_ascii_z_s[0]) {
conversion_data.width = precision;
}
- if (type == f_print_format_type_number) {
+ if (type == f_print_format_type_signed_number) {
*status = f_conversion_number_signed_print(va_arg(*ap, f_number_signed_t), conversion_data, output);
}
else if (type == f_print_format_type_signed_64) {
return string;
}
-#endif // !defined(_di_fl_print_string_convert_) || !defined(_di_fl_print_string_)
+#endif // !defined(_di_fl_print_format_) || !defined(_di_fl_print_format_convert_)
-#if !defined(_di_fl_print_string_convert_) || !defined(_di_fl_print_string_)
+#if !defined(_di_fl_print_format_) || !defined(_di_fl_print_format_convert_)
f_string_t private_fl_print_convert_number(f_string_t string, va_list *ap, unsigned int *number, f_status_t *status) {
for (*number = 0; *string; string += 1) {
return string;
}
-#endif // !defined(_di_fl_print_string_convert_) || !defined(_di_fl_print_string_)
+#endif // !defined(_di_fl_print_format_) || !defined(_di_fl_print_format_convert_)
#if !defined(_di_fl_print_trim_except_) || !defined(_di_fl_print_trim_except_dynamic_) || !defined(_di_fl_print_trim_except_dynamic_partial_) || !defined(_di_fl_print_trim_except_in_) || !defined(_di_fl_print_trim_except_in_dynamic_) || !defined(_di_fl_print_trim_except_in_dynamic_partial_)
f_status_t private_fl_print_trim_except_in(const f_string_t string, const f_array_length_t offset, const f_array_length_t length, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
}
if (!string[i]) {
- if (!fputc_unlocked(f_print_sequence_null_s[0], output)) {
- return F_status_set_error(F_output);
- }
-
- if (!fputc_unlocked(f_print_sequence_null_s[1], output)) {
- return F_status_set_error(F_output);
- }
-
- if (!fputc_unlocked(f_print_sequence_null_s[2], output)) {
- return F_status_set_error(F_output);
- }
-
++i;
continue;
}
}
if (!string[i]) {
- if (!fputc_unlocked(f_print_sequence_null_s[0], output)) {
- return F_status_set_error(F_output);
- }
-
- if (!fputc_unlocked(f_print_sequence_null_s[1], output)) {
- return F_status_set_error(F_output);
- }
-
- if (!fputc_unlocked(f_print_sequence_null_s[2], output)) {
- return F_status_set_error(F_output);
- }
-
++i;
continue;
}
*
* @see private_fl_print_convert_number()
*/
-#if !defined(_di_fl_print_string_convert_) || !defined(_di_fl_print_string_)
- extern f_string_t private_fl_print_string_convert(f_string_t string, FILE *output, va_list *ap, f_status_t *status) f_attribute_visibility_internal;
-#endif // !defined(_di_fl_print_string_convert_) || !defined(_di_fl_print_string_)
+#if !defined(_di_fl_print_format_) || !defined(_di_fl_print_format_convert_)
+ extern f_string_t private_fl_print_format_convert(f_string_t string, FILE *output, va_list *ap, f_status_t *status) f_attribute_visibility_internal;
+#endif // !defined(_di_fl_print_format_) || !defined(_di_fl_print_format_convert_)
/**
* Helper function for processing the number in a convert string.
*
* @see va_arg()
*/
-#if !defined(_di_fl_print_string_convert_) || !defined(_di_fl_print_string_)
+#if !defined(_di_fl_print_format_) || !defined(_di_fl_print_format_convert_)
extern f_string_t private_fl_print_convert_number(f_string_t string, va_list *ap, unsigned int *number, f_status_t *status) f_attribute_visibility_internal;
-#endif // !defined(_di_fl_print_string_convert_) || !defined(_di_fl_print_string_)
+#endif // !defined(_di_fl_print_format_) || !defined(_di_fl_print_format_convert_)
/**
* Private implementation of fl_print_trim_except().
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SAccess denied while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SAccess denied while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SCurrent user is not allowed to use the given group while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SCurrent user is not allowed to use the given group while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SCurrent user is not allowed to use the given owner while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SCurrent user is not allowed to use the given owner while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SInvalid directory while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SInvalid directory while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%[', not empty.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%[', not empty.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%[', failed to close.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%[', failed to close.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%[', is closed.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%[', is closed.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%[', found.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%[', found.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%[', could not find.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%[', could not find.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%[', already open.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%[', already open.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SFile descriptor error while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SFile descriptor error while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SMax file descriptors reached while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SMax file descriptors reached while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SInvalid file descriptor while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SInvalid file descriptor while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%[', %s is empty.%]%c", print.to.stream, print.context, type_name, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%[', %s is empty.%]%c", print.to.stream, print.context, type_name, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%[', flush failed.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%[', flush failed.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SMax open files reached while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SMax open files reached while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SOverflow while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SOverflow while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%[', purge failed.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnable to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%[', purge failed.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SRead failed while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRead failed while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SSeek failed while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SSeek failed while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SStat failed while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SStat failed while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SSynchronize failed while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SSynchronize failed while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SUTF failure while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUTF failure while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SInvalid UTF while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SInvalid UTF while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SUnderflow while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnderflow while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SFailed to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%[', write failure.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SFailed to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%[', write failure.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SLoop while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SLoop while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SInvalid %S name '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SInvalid %S name '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SNumber overflow while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SNumber overflow while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SNumber underflow while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SNumber underflow while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SInvalid parameter", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
+ fl_print_format("%c%[%SInvalid parameter", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
private_fll_error_print_function(print, function);
- fl_print_string(" for the %S '%]", print.to.stream, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format(" for the %S '%]", print.to.stream, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SProhibited by system while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SProhibited by system while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SInvalid or missing directory in path while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SInvalid or missing directory in path while trying to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SFailed to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SFailed to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SFailed to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, name, print.notable);
- fl_print_string("%[' due to an invalid directory in the path.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SFailed to %S %S '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, operation, type_name, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, name, print.notable);
+ fl_print_format("%[' due to an invalid directory in the path.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SThe argument for the parameter '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, parameter, print.notable);
- fl_print_string("%[' must not be an empty string.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe argument for the parameter '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, parameter, print.notable);
+ fl_print_format("%[' must not be an empty string.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SThe argument '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, argument, print.notable);
- fl_print_string("%[' is not a valid number for the parameter '%]", print.to.stream, print.context, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, parameter, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe argument '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, argument, print.notable);
+ fl_print_format("%[' is not a valid number for the parameter '%]", print.to.stream, print.context, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, parameter, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SThe argument '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, argument, print.notable);
- fl_print_string("%[' is negative, which is not allowed for the parameter '%]", print.to.stream, print.context, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, parameter, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe argument '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, argument, print.notable);
+ fl_print_format("%[' is negative, which is not allowed for the parameter '%]", print.to.stream, print.context, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, parameter, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SThe argument '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, argument, print.notable);
- fl_print_string("%[' is too large for the parameter '%]", print.to.stream, print.context, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, parameter, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe argument '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, argument, print.notable);
+ fl_print_format("%[' is too large for the parameter '%]", print.to.stream, print.context, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, parameter, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SThe argument '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, argument, print.notable);
- fl_print_string("%[' is positive, which is not allowed for the parameter '%]", print.to.stream, print.context, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, parameter, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe argument '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, argument, print.notable);
+ fl_print_format("%[' is positive, which is not allowed for the parameter '%]", print.to.stream, print.context, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, parameter, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SThe argument '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, argument, print.notable);
- fl_print_string("%[' is too small for the parameter '%]", print.to.stream, print.context, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, parameter, print.notable);
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe argument '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, argument, print.notable);
+ fl_print_format("%[' is too small for the parameter '%]", print.to.stream, print.context, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, parameter, print.notable);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SAccess denied", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
+ fl_print_format("%c%[%SAccess denied", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
private_fll_error_print_function(print, function);
- fl_print_string(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
+ fl_print_format(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SMaximum array length reached", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
+ fl_print_format("%c%[%SMaximum array length reached", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
private_fll_error_print_function(print, function);
- fl_print_string(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
+ fl_print_format(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SMaximum buffer length reached", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
+ fl_print_format("%c%[%SMaximum buffer length reached", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
private_fll_error_print_function(print, function);
- fl_print_string(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
+ fl_print_format(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SUnable to allocate memory", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
+ fl_print_format("%c%[%SUnable to allocate memory", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
private_fll_error_print_function(print, function);
- fl_print_string(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
+ fl_print_format(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SInvalid parameter", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
+ fl_print_format("%c%[%SInvalid parameter", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
private_fll_error_print_function(print, function);
- fl_print_string(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
+ fl_print_format(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SMaximum string length reached", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
+ fl_print_format("%c%[%SMaximum string length reached", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
private_fll_error_print_function(print, function);
- fl_print_string(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
+ fl_print_format(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SInvalid UTF-8 character", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
+ fl_print_format("%c%[%SInvalid UTF-8 character", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
private_fll_error_print_function(print, function);
- fl_print_string(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
+ fl_print_format(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SInvalid (incomplete) UTF-8 character found", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
+ fl_print_format("%c%[%SInvalid (incomplete) UTF-8 character found", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
private_fll_error_print_function(print, function);
if (status == F_complete_not_utf_eos) {
- fl_print_string(" at the end of string.%]%c", print.to.stream, print.context, f_string_eol_s[0]);
+ fl_print_format(" at the end of string.%]%c", print.to.stream, print.context, f_string_eol_s[0]);
}
else if (status == F_complete_not_utf_stop) {
- fl_print_string(" at the stop point of string.%]%c", print.to.stream, print.context, f_string_eol_s[0]);
+ fl_print_format(" at the stop point of string.%]%c", print.to.stream, print.context, f_string_eol_s[0]);
}
else {
- fl_print_string(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
+ fl_print_format(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
}
funlockfile(print.to.stream);
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%SFailure", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
+ fl_print_format("%c%[%SFailure", print.to.stream, f_string_eol_s[0], print.context, print.prefix);
private_fll_error_print_function(print, function);
- fl_print_string(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
+ fl_print_format(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
if (print.verbosity != f_console_verbosity_quiet) {
flockfile(print.to.stream);
- fl_print_string("%c%[%S(%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, print.context);
- fl_print_string("%[%ui%]%[)", print.to.stream, print.notable, status, print.notable, print.context);
+ fl_print_format("%c%[%S(%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix, print.context);
+ fl_print_format("%[%ui%]%[)", print.to.stream, print.notable, status, print.notable, print.context);
private_fll_error_print_function(print, function);
- fl_print_string(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
+ fl_print_format(".%]%c", print.to.stream, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
}
void private_fll_error_print_function(const fll_error_print_t print, const f_string_t function) {
if (function) {
- fl_print_string(" when calling function%] ", print.to.stream, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, function, print.notable);
- fl_print_string("%[()", print.to.stream, print.context);
+ fl_print_format(" when calling function%] ", print.to.stream, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, function, print.notable);
+ fl_print_format("%[()", print.to.stream, print.context);
}
}
#endif // !defined(_di_fll_error_print_) || !defined(_di_fll_error_file_print_) || !defined(_di_fll_error_number_print_)
}
#endif // _di_fll_print_
+#ifndef _di_fll_print_character_
+ f_status_t fll_print_character(const char character, FILE *output) {
+
+ flockfile(output);
+
+ const f_status_t status = f_print_character(character, output);
+
+ funlockfile(output);
+
+ return status;
+ }
+#endif // _di_fll_print_character_
+
#ifndef _di_fll_print_character_safely_
f_status_t fll_print_character_safely(const char character, FILE *output) {
}
#endif // _di_fll_print_dynamic_
-#ifndef _di_fll_print_dynamic_raw_
- f_status_t fll_print_dynamic_raw(const f_string_static_t buffer, FILE *output) {
+#ifndef _di_fll_print_dynamic_partial_
+ f_status_t fll_print_dynamic_partial(const f_string_static_t buffer, const f_string_range_t range, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_dynamic_raw(buffer, output);
+ const f_status_t status = f_print_dynamic_partial(buffer, range, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_dynamic_raw_
+#endif // _di_fll_print_dynamic_partial_
-#ifndef _di_fll_print_dynamic_safely_
- f_status_t fll_print_dynamic_safely(const f_string_static_t buffer, FILE *output) {
+#ifndef _di_fll_print_dynamic_partial_raw_
+ f_status_t fll_print_dynamic_partial_raw(const f_string_static_t buffer, const f_string_range_t range, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_dynamic_safely(buffer, output);
+ const f_status_t status = f_print_dynamic_partial_raw(buffer, range, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_dynamic_safely_
+#endif // _di_fll_print_dynamic_partial_raw_
-#ifndef _di_fll_print_dynamic_partial_
- f_status_t fll_print_dynamic_partial(const f_string_static_t buffer, const f_string_range_t range, FILE *output) {
+#ifndef _di_fll_print_dynamic_partial_safely_
+ f_status_t fll_print_dynamic_partial_safely(const f_string_static_t buffer, const f_string_range_t range, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_dynamic_partial(buffer, range, output);
+ const f_status_t status = f_print_dynamic_partial_safely(buffer, range, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_dynamic_partial_
+#endif // _di_fll_print_dynamic_partial_safely_
-#ifndef _di_fll_print_dynamic_partial_raw_
- f_status_t fll_print_dynamic_partial_raw(const f_string_static_t buffer, const f_string_range_t range, FILE *output) {
+#ifndef _di_fll_print_dynamic_raw_
+ f_status_t fll_print_dynamic_raw(const f_string_static_t buffer, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_dynamic_partial_raw(buffer, range, output);
+ const f_status_t status = f_print_dynamic_raw(buffer, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_dynamic_partial_raw_
+#endif // _di_fll_print_dynamic_raw_
-#ifndef _di_fll_print_dynamic_partial_safely_
- f_status_t fll_print_dynamic_partial_safely(const f_string_static_t buffer, const f_string_range_t range, FILE *output) {
+#ifndef _di_fll_print_dynamic_safely_
+ f_status_t fll_print_dynamic_safely(const f_string_static_t buffer, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_dynamic_partial_safely(buffer, range, output);
+ const f_status_t status = f_print_dynamic_safely(buffer, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_dynamic_partial_safely_
+#endif // _di_fll_print_dynamic_safely_
#ifndef _di_fll_print_except_
f_status_t fll_print_except(const f_string_t buffer, const f_array_length_t offset, const f_array_length_t length, const f_array_lengths_t except, FILE *output) {
}
#endif // _di_fll_print_except_
-#ifndef _di_fll_print_except_raw_
- f_status_t fll_print_except_raw(const f_string_t buffer, const f_array_length_t offset, const f_array_length_t length, const f_array_lengths_t except, FILE *output) {
+#ifndef _di_fll_print_except_dynamic_
+ f_status_t fll_print_except_dynamic(const f_string_static_t buffer, const f_array_lengths_t except, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_except_raw(buffer, offset, length, except, output);
+ const f_status_t status = f_print_except_dynamic(buffer, except, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_except_raw_
+#endif // _di_fll_print_except_dynamic_
-#ifndef _di_fll_print_except_safely_
- f_status_t fll_print_except_safely(const f_string_t string, const f_array_length_t offset, const f_array_length_t length, const f_array_lengths_t except, FILE *output) {
+#ifndef _di_fll_print_except_dynamic_partial_
+ f_status_t fll_print_except_dynamic_partial(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_except_safely(string, offset, length, except, output);
+ const f_status_t status = f_print_except_dynamic_partial(buffer, range, except, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_except_safely_
+#endif // _di_fll_print_except_dynamic_partial_
-#ifndef _di_fll_print_except_dynamic_
- f_status_t fll_print_except_dynamic(const f_string_static_t buffer, const f_array_lengths_t except, FILE *output) {
+#ifndef _di_fll_print_except_dynamic_partial_raw_
+ f_status_t fll_print_except_dynamic_partial_raw(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_except_dynamic(buffer, except, output);
+ const f_status_t status = f_print_except_dynamic_partial_raw(buffer, range, except, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_except_dynamic_
+#endif // _di_fll_print_except_dynamic_partial_raw_
+
+#ifndef _di_fll_print_except_dynamic_partial_safely_
+ f_status_t fll_print_except_dynamic_partial_safely(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except, FILE *output) {
+
+ flockfile(output);
+
+ const f_status_t status = f_print_except_dynamic_partial_safely(buffer, range, except, output);
+
+ funlockfile(output);
+
+ return status;
+ }
+#endif // _di_fll_print_except_dynamic_partial_safely_
#ifndef _di_fll_print_except_dynamic_raw_
f_status_t fll_print_except_dynamic_raw(const f_string_static_t buffer, const f_array_lengths_t except, FILE *output) {
}
#endif // _di_fll_print_except_dynamic_safely_
-#ifndef _di_fll_print_except_in_
- f_status_t fll_print_except_in(const f_string_t string, const f_array_length_t offset, const f_array_length_t length, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
+#ifndef _di_fll_print_except_raw_
+ f_status_t fll_print_except_raw(const f_string_t buffer, const f_array_length_t offset, const f_array_length_t length, const f_array_lengths_t except, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_except_in(string, offset, length, except_at, except_in, output);
+ const f_status_t status = f_print_except_raw(buffer, offset, length, except, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_except_in_
+#endif // _di_fll_print_except_raw_
-#ifndef _di_fll_print_except_in_raw_
- f_status_t fll_print_except_in_raw(const f_string_t string, const f_array_length_t offset, const f_array_length_t length, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
+#ifndef _di_fll_print_except_safely_
+ f_status_t fll_print_except_safely(const f_string_t string, const f_array_length_t offset, const f_array_length_t length, const f_array_lengths_t except, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_except_in_raw(string, offset, length, except_at, except_in, output);
+ const f_status_t status = f_print_except_safely(string, offset, length, except, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_except_in_raw_
+#endif // _di_fll_print_except_safely_
-#ifndef _di_fll_print_except_in_safely_
- f_status_t fll_print_except_in_safely(const f_string_t string, const f_array_length_t offset, const f_array_length_t length, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
+#ifndef _di_fll_print_except_in_
+ f_status_t fll_print_except_in(const f_string_t string, const f_array_length_t offset, const f_array_length_t length, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_except_in_safely(string, offset, length, except_at, except_in, output);
+ const f_status_t status = f_print_except_in(string, offset, length, except_at, except_in, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_except_in_safely_
+#endif // _di_fll_print_except_in_
#ifndef _di_fll_print_except_in_dynamic_
f_status_t fll_print_except_in_dynamic(const f_string_static_t buffer, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
}
#endif // _di_fll_print_except_in_dynamic_
-#ifndef _di_fll_print_except_in_dynamic_raw_
- f_status_t fll_print_except_in_dynamic_raw(const f_string_static_t buffer, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
+#ifndef _di_fll_print_except_in_dynamic_partial_
+ f_status_t fll_print_except_in_dynamic_partial(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_except_in_dynamic_raw(buffer, except_at, except_in, output);
+ const f_status_t status = f_print_except_in_dynamic_partial(buffer, range, except_at, except_in, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_except_in_dynamic_raw_
+#endif // _di_fll_print_except_in_dynamic_partial_
-#ifndef _di_fll_print_except_in_dynamic_safely_
- f_status_t fll_print_except_in_dynamic_safely(const f_string_static_t buffer, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
+#ifndef _di_fll_print_except_in_dynamic_partial_raw_
+ f_status_t fll_print_except_in_dynamic_partial_raw(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_except_in_dynamic_safely(buffer, except_at, except_in, output);
+ const f_status_t status = f_print_except_in_dynamic_partial_raw(buffer, range, except_at, except_in, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_except_in_dynamic_safely_
+#endif // _di_fll_print_except_in_dynamic_partial_raw_
-#ifndef _di_fll_print_except_in_dynamic_partial_
- f_status_t fll_print_except_in_dynamic_partial(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
+#ifndef _di_fll_print_except_in_dynamic_partial_safely_
+ f_status_t fll_print_except_in_dynamic_partial_safely(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_except_in_dynamic_partial(buffer, range, except_at, except_in, output);
+ const f_status_t status = f_print_except_in_dynamic_partial_safely(buffer, range, except_at, except_in, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_except_in_dynamic_partial_
+#endif // _di_fll_print_except_in_dynamic_partial_safely_
-#ifndef _di_fll_print_except_in_dynamic_partial_raw_
- f_status_t fll_print_except_in_dynamic_partial_raw(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
+#ifndef _di_fll_print_except_in_dynamic_raw_
+ f_status_t fll_print_except_in_dynamic_raw(const f_string_static_t buffer, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_except_in_dynamic_partial_raw(buffer, range, except_at, except_in, output);
+ const f_status_t status = f_print_except_in_dynamic_raw(buffer, except_at, except_in, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_except_in_dynamic_partial_raw_
+#endif // _di_fll_print_except_in_dynamic_raw_
-#ifndef _di_fll_print_except_in_dynamic_partial_safely_
- f_status_t fll_print_except_in_dynamic_partial_safely(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
+#ifndef _di_fll_print_except_in_dynamic_safely_
+ f_status_t fll_print_except_in_dynamic_safely(const f_string_static_t buffer, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_except_in_dynamic_partial_safely(buffer, range, except_at, except_in, output);
+ const f_status_t status = f_print_except_in_dynamic_safely(buffer, except_at, except_in, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_except_in_dynamic_partial_safely_
+#endif // _di_fll_print_except_in_dynamic_safely_
-#ifndef _di_fll_print_except_dynamic_partial_
- f_status_t fll_print_except_dynamic_partial(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except, FILE *output) {
+#ifndef _di_fll_print_except_in_raw_
+ f_status_t fll_print_except_in_raw(const f_string_t string, const f_array_length_t offset, const f_array_length_t length, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_except_dynamic_partial(buffer, range, except, output);
+ const f_status_t status = f_print_except_in_raw(string, offset, length, except_at, except_in, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_except_dynamic_partial_
+#endif // _di_fll_print_except_in_raw_
-#ifndef _di_fll_print_except_dynamic_partial_raw_
- f_status_t fll_print_except_dynamic_partial_raw(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except, FILE *output) {
+#ifndef _di_fll_print_except_in_safely_
+ f_status_t fll_print_except_in_safely(const f_string_t string, const f_array_length_t offset, const f_array_length_t length, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output) {
flockfile(output);
- const f_status_t status = f_print_except_dynamic_partial_raw(buffer, range, except, output);
+ const f_status_t status = f_print_except_in_safely(string, offset, length, except_at, except_in, output);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_except_dynamic_partial_raw_
+#endif // _di_fll_print_except_in_safely_
-#ifndef _di_fll_print_except_dynamic_partial_safely_
- f_status_t fll_print_except_dynamic_partial_safely(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except, FILE *output) {
+#ifndef _di_fll_print_format_
+ f_status_t fll_print_format(const f_string_t string, FILE *output, ...) {
flockfile(output);
- const f_status_t status = f_print_except_dynamic_partial_safely(buffer, range, except, output);
+ va_list ap;
+
+ va_start(ap, output);
+
+ const f_status_t status = fl_print_string_va(string, output, &ap);
+
+ va_end(ap);
funlockfile(output);
return status;
}
-#endif // _di_fll_print_except_dynamic_partial_safely_
+#endif // _di_fll_print_format_
+
+#ifndef _di_fll_print_format_convert_
+ f_string_t fll_print_format_convert(const f_string_t string, FILE *output, va_list *ap, f_status_t *status) {
+
+ flockfile(output);
+
+ f_string_t str = fl_print_format_convert(string, output, ap, status);
+
+ funlockfile(output);
+
+ return str;
+ }
+#endif // _di_fll_print_format_convert_
#ifndef _di_fll_print_raw_
f_status_t fll_print_raw(const f_string_t string, const f_array_length_t length, FILE *output) {
}
#endif // _di_fll_print_safely_terminated_
-#ifndef _di_fll_print_string_
- f_status_t fll_print_string(const f_string_t string, FILE *output, ...) {
-
- flockfile(output);
-
- va_list ap;
-
- va_start(ap, output);
-
- const f_status_t status = fl_print_string_va(string, output, &ap);
-
- va_end(ap);
-
- funlockfile(output);
-
- return status;
- }
-#endif // _di_fll_print_string_
-
-#ifndef _di_fll_print_string_convert_
- f_string_t fll_print_string_convert(const f_string_t string, FILE *output, va_list *ap, f_status_t *status) {
-
- flockfile(output);
-
- f_string_t str = fl_print_string_convert(string, output, ap, status);
-
- funlockfile(output);
-
- return str;
- }
-#endif // _di_fll_print_string_convert_
-
#ifndef _di_fll_print_string_va_
f_status_t fll_print_string_va(const f_string_t string, FILE *output, va_list *ap) {
#endif // _di_fll_print_
/**
+ * This is a variation of f_print_character() that uses locking.
+ *
+ * @param character
+ * The character to verify as safe or not and then print.
+ * @param output
+ * The file stream to output to, including standard streams such as stdout and stderr.
+ *
+ * @return
+ * Success from: f_print_character().
+ *
+ * Errors (with error bit) from: f_print_character().
+ *
+ * @see flockfile()
+ * @see funlockfile()
+ *
+ * @see f_print_character()
+ */
+#ifndef _di_fll_print_character_
+ extern f_status_t fll_print_character(const char character, FILE *output);
+#endif // _di_fll_print_character_
+
+/**
* This is a variation of f_print_character_safely() that uses locking.
*
* @param character
#endif // _di_fll_print_dynamic_
/**
- * This is a variation of f_print_dynamic_raw() that uses locking.
+ * This is a variation of f_print_dynamic_partial() that uses locking.
*
* @param buffer
* The string to output.
+ * @param range
+ * The range within the provided string to print.
* @param output
* The file stream to output to, including standard streams such as stdout and stderr.
*
* @return
- * Success from: f_print_dynamic_raw().
+ * Success from: f_print_dynamic_partial().
*
- * Errors (with error bit) from: f_print_dynamic_raw().
+ * Errors (with error bit) from: f_print_dynamic_partial().
*
* @see flockfile()
* @see funlockfile()
*
- * @see f_print_dynamic_raw()
+ * @see f_print_dynamic_partial()
*/
-#ifndef _di_fll_print_dynamic_raw_
- extern f_status_t fll_print_dynamic_raw(const f_string_static_t buffer, FILE *output);
-#endif // _di_fll_print_dynamic_raw_
+#ifndef _di_fll_print_dynamic_partial_
+ extern f_status_t fll_print_dynamic_partial(const f_string_static_t buffer, const f_string_range_t range, FILE *output);
+#endif // _di_fll_print_dynamic_partial_
/**
- * This is a variation of f_print_dynamic_safely() that uses locking.
+ * This is a variation of f_print_dynamic_partial_raw() that uses locking.
*
* @param buffer
* The string to output.
+ * @param range
+ * The range within the provided string to print.
* @param output
* The file stream to output to, including standard streams such as stdout and stderr.
*
* @return
- * Success from: f_print_dynamic_safely().
+ * Success from: f_print_dynamic_partial_raw().
*
- * Errors (with error bit) from: f_print_dynamic_safely().
+ * Errors (with error bit) from: f_print_dynamic_partial_raw().
*
* @see flockfile()
* @see funlockfile()
*
- * @see f_print_dynamic_safely()
+ * @see f_print_dynamic_partial_raw()
*/
-#ifndef _di_fll_print_dynamic_safely_
- extern f_status_t fll_print_dynamic_safely(const f_string_static_t buffer, FILE *output);
-#endif // _di_fll_print_dynamic_safely_
+#ifndef _di_fll_print_dynamic_partial_raw_
+ extern f_status_t fll_print_dynamic_partial_raw(const f_string_static_t buffer, const f_string_range_t range, FILE *output);
+#endif // _di_fll_print_dynamic_partial_raw_
/**
- * This is a variation of f_print_dynamic_partial() that uses locking.
+ * This is a variation of f_print_dynamic_partial_safely() that uses locking.
*
* @param buffer
* The string to output.
* The file stream to output to, including standard streams such as stdout and stderr.
*
* @return
- * Success from: f_print_dynamic_partial().
+ * Success from: f_print_dynamic_partial_safely().
*
- * Errors (with error bit) from: f_print_dynamic_partial().
+ * Errors (with error bit) from: f_print_dynamic_partial_safely().
*
* @see flockfile()
* @see funlockfile()
*
- * @see f_print_dynamic_partial()
+ * @see f_print_dynamic_partial_safely()
*/
-#ifndef _di_fll_print_dynamic_partial_
- extern f_status_t fll_print_dynamic_partial(const f_string_static_t buffer, const f_string_range_t range, FILE *output);
-#endif // _di_fll_print_dynamic_partial_
+#ifndef _di_fll_print_dynamic_partial_safely_
+ extern f_status_t fll_print_dynamic_partial_safely(const f_string_static_t buffer, const f_string_range_t range, FILE *output);
+#endif // _di_fll_print_dynamic_partial_safely_
/**
- * This is a variation of f_print_dynamic_partial_raw() that uses locking.
+ * This is a variation of f_print_dynamic_raw() that uses locking.
*
* @param buffer
* The string to output.
- * @param range
- * The range within the provided string to print.
* @param output
* The file stream to output to, including standard streams such as stdout and stderr.
*
* @return
- * Success from: f_print_dynamic_partial_raw().
+ * Success from: f_print_dynamic_raw().
*
- * Errors (with error bit) from: f_print_dynamic_partial_raw().
+ * Errors (with error bit) from: f_print_dynamic_raw().
*
* @see flockfile()
* @see funlockfile()
*
- * @see f_print_dynamic_partial_raw()
+ * @see f_print_dynamic_raw()
*/
-#ifndef _di_fll_print_dynamic_partial_raw_
- extern f_status_t fll_print_dynamic_partial_raw(const f_string_static_t buffer, const f_string_range_t range, FILE *output);
-#endif // _di_fll_print_dynamic_partial_raw_
+#ifndef _di_fll_print_dynamic_raw_
+ extern f_status_t fll_print_dynamic_raw(const f_string_static_t buffer, FILE *output);
+#endif // _di_fll_print_dynamic_raw_
/**
- * This is a variation of f_print_dynamic_partial_safely() that uses locking.
+ * This is a variation of f_print_dynamic_safely() that uses locking.
*
* @param buffer
* The string to output.
- * @param range
- * The range within the provided string to print.
* @param output
* The file stream to output to, including standard streams such as stdout and stderr.
*
* @return
- * Success from: f_print_dynamic_partial_safely().
+ * Success from: f_print_dynamic_safely().
*
- * Errors (with error bit) from: f_print_dynamic_partial_safely().
+ * Errors (with error bit) from: f_print_dynamic_safely().
*
* @see flockfile()
* @see funlockfile()
*
- * @see f_print_dynamic_partial_safely()
+ * @see f_print_dynamic_safely()
*/
-#ifndef _di_fll_print_dynamic_partial_safely_
- extern f_status_t fll_print_dynamic_partial_safely(const f_string_static_t buffer, const f_string_range_t range, FILE *output);
-#endif // _di_fll_print_dynamic_partial_safely_
+#ifndef _di_fll_print_dynamic_safely_
+ extern f_status_t fll_print_dynamic_safely(const f_string_static_t buffer, FILE *output);
+#endif // _di_fll_print_dynamic_safely_
/**
* This is a variation of f_print_except() that uses locking.
#endif // _di_fll_print_except_
/**
- * This is a variation of f_print_except_raw() that uses locking.
+ * This is a variation of f_print_except_dynamic() that uses locking.
*
- * @param string
+ * @param buffer
* The string to output.
- * @param offset
- * The inclusive start point to start printing.
- * @param length
- * The total number of characters to print.
* @param except
* An array of locations within the given string to not print.
* The array of locations is required/assumed to be in linear order.
* The file stream to output to, including standard streams such as stdout and stderr.
*
* @return
- * Success from: f_print_except_raw().
+ * Success from: f_print_except_dynamic().
*
- * Errors (with error bit) from: f_print_except_raw().
+ * Errors (with error bit) from: f_print_except_dynamic().
*
* @see flockfile()
* @see funlockfile()
*
- * @see f_print_except_raw()
+ * @see f_print_except_dynamic()
*/
-#ifndef _di_fll_print_except_raw_
- extern f_status_t fll_print_except_raw(const f_string_t string, const f_array_length_t offset, const f_array_length_t length, const f_array_lengths_t except, FILE *output);
-#endif // _di_fll_print_except_raw_
+#ifndef _di_fll_print_except_dynamic_
+ extern f_status_t fll_print_except_dynamic(const f_string_static_t buffer, const f_array_lengths_t except, FILE *output);
+#endif // _di_fll_print_except_dynamic_
/**
- * This is a variation of f_print_except_safely() that uses locking.
+ * This is a variation of f_print_except_dynamic_partial() that uses locking.
*
- * @param string
+ * @param buffer
* The string to output.
- * @param offset
- * The inclusive start point to start printing.
- * @param length
- * The total number of characters to print.
+ * @param range
+ * The range within the provided string to print.
* @param except
* An array of locations within the given string to not print.
* The array of locations is required/assumed to be in linear order.
* The file stream to output to, including standard streams such as stdout and stderr.
*
* @return
- * Success from: f_print_except_safely().
+ * Success from: f_print_except_dynamic_partial().
*
- * Errors (with error bit) from: f_print_except_safely().
+ * Errors (with error bit) from: f_print_except_dynamic_partial().
*
* @see flockfile()
* @see funlockfile()
*
- * @see f_print_except_safely()
+ * @see f_print_except_dynamic_partial()
*/
-#ifndef _di_fll_print_except_safely_
- extern f_status_t fll_print_except_safely(const f_string_t string, const f_array_length_t offset, const f_array_length_t length, const f_array_lengths_t except, FILE *output);
-#endif // _di_fll_print_except_safely_
+#ifndef _di_fll_print_except_dynamic_partial_
+ extern f_status_t fll_print_except_dynamic_partial(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except, FILE *output);
+#endif // _di_fll_print_except_dynamic_partial_
/**
- * This is a variation of f_print_except_dynamic() that uses locking.
+ * This is a variation of f_print_except_dynamic_partial_raw() that uses locking.
*
* @param buffer
* The string to output.
+ * @param range
+ * The range within the provided string to print.
* @param except
* An array of locations within the given string to not print.
* The array of locations is required/assumed to be in linear order.
* The file stream to output to, including standard streams such as stdout and stderr.
*
* @return
- * Success from: f_print_except_dynamic().
+ * Success from: f_print_except_dynamic_partial_raw().
*
- * Errors (with error bit) from: f_print_except_dynamic().
+ * Errors (with error bit) from: f_print_except_dynamic_partial_raw().
*
* @see flockfile()
* @see funlockfile()
*
- * @see f_print_except_dynamic()
+ * @see f_print_except_dynamic_partial_raw()
*/
-#ifndef _di_fll_print_except_dynamic_
- extern f_status_t fll_print_except_dynamic(const f_string_static_t buffer, const f_array_lengths_t except, FILE *output);
-#endif // _di_fll_print_except_dynamic_
+#ifndef _di_fll_print_except_dynamic_partial_raw_
+ extern f_status_t fll_print_except_dynamic_partial_raw(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except, FILE *output);
+#endif // _di_fll_print_except_dynamic_partial_raw_
+
+/**
+ * This is a variation of f_print_except_dynamic_partial_safely() that uses locking.
+ *
+ * @param buffer
+ * The string to output.
+ * @param range
+ * The range within the provided string to print.
+ * @param except
+ * An array of locations within the given string to not print.
+ * The array of locations is required/assumed to be in linear order.
+ * @param output
+ * The file stream to output to, including standard streams such as stdout and stderr.
+ *
+ * @return
+ * Success from: f_print_except_dynamic_partial_safely().
+ *
+ * Errors (with error bit) from: f_print_except_dynamic_partial_safely().
+ *
+ * @see flockfile()
+ * @see funlockfile()
+ *
+ * @see f_print_except_dynamic_partial_safely()
+ */
+#ifndef _di_fll_print_except_dynamic_partial_safely_
+ extern f_status_t fll_print_except_dynamic_partial_safely(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except, FILE *output);
+#endif // _di_fll_print_except_dynamic_partial_safely_
/**
* This is a variation of f_print_except_dynamic_raw() that uses locking.
#endif // _di_fll_print_except_in_dynamic_
/**
- * This is a variation of f_print_except_in_dynamic_raw() that uses locking.
- *
- * @param buffer
- * The string to output.
- * @param except_at
- * An array of locations within the given string to not print.
- * The array of locations is required/assumed to be in linear order.
- * @param except_in
- * An array of ranges within the string to not print.
- * The array of ranges is required/assumed to be in linear order.
- * @param output
- * The file stream to output to, including standard streams such as stdout and stderr.
- *
- * @return
- * Success from: f_print_except_in_dynamic_raw().
- *
- * Errors (with error bit) from: f_print_except_in_dynamic_raw().
- *
- * @see flockfile()
- * @see funlockfile()
- *
- * @see f_print_except_in_dynamic_raw()
- */
-#ifndef _di_fll_print_except_in_dynamic_raw_
- extern f_status_t fll_print_except_in_dynamic_raw(const f_string_static_t buffer, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output);
-#endif // _di_fll_print_except_in_dynamic_raw_
-
-/**
- * This is a variation of f_print_except_in_dynamic_safely() that uses locking.
- *
- * @param buffer
- * The string to output.
- * @param except_at
- * An array of locations within the given string to not print.
- * The array of locations is required/assumed to be in linear order.
- * @param except_in
- * An array of ranges within the string to not print.
- * The array of ranges is required/assumed to be in linear order.
- * @param output
- * The file stream to output to, including standard streams such as stdout and stderr.
- *
- * @return
- * Success from: f_print_except_in_dynamic_safely().
- *
- * Errors (with error bit) from: f_print_except_in_dynamic_safely().
- *
- * @see flockfile()
- * @see funlockfile()
- *
- * @see f_print_except_in_dynamic_safely()
- */
-#ifndef _di_fll_print_except_in_dynamic_safely_
- extern f_status_t fll_print_except_in_dynamic_safely(const f_string_static_t buffer, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output);
-#endif // _di_fll_print_except_in_dynamic_safely_
-
-/**
* This is a variation of f_print_except_in_dynamic_partial() that uses locking.
*
* @param buffer
*
* @see f_print_except_in_dynamic_partial()
*/
-#ifndef _di_fll_print_dynamic_except_partial_
+#ifndef _di_fll_print_except_in_dynamic_partial_
extern f_status_t fll_print_except_in_dynamic_partial(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output);
#endif // _di_fll_print_except_in_dynamic_partial_
*
* @see f_print_except_in_dynamic_partial_raw()
*/
-#ifndef _di_fll_print_dynamic_except_partial_raw_
+#ifndef _di_fll_print_except_in_dynamic_partial_raw_
extern f_status_t fll_print_except_in_dynamic_partial_raw(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output);
#endif // _di_fll_print_except_in_dynamic_partial_raw_
*
* @see f_print_except_in_dynamic_partial_safely()
*/
-#ifndef _di_fll_print_dynamic_except_partial_safely_
+#ifndef _di_fll_print_except_in_dynamic_partial_safely_
extern f_status_t fll_print_except_in_dynamic_partial_safely(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output);
#endif // _di_fll_print_except_in_dynamic_partial_safely_
/**
- * This is a variation of f_print_except_dynamic_partial() that uses locking.
+ * This is a variation of f_print_except_in_dynamic_raw() that uses locking.
*
* @param buffer
* The string to output.
- * @param range
- * The range within the provided string to print.
- * @param except
+ * @param except_at
* An array of locations within the given string to not print.
* The array of locations is required/assumed to be in linear order.
+ * @param except_in
+ * An array of ranges within the string to not print.
+ * The array of ranges is required/assumed to be in linear order.
* @param output
* The file stream to output to, including standard streams such as stdout and stderr.
*
* @return
- * Success from: f_print_except_dynamic_partial().
+ * Success from: f_print_except_in_dynamic_raw().
*
- * Errors (with error bit) from: f_print_except_dynamic_partial().
+ * Errors (with error bit) from: f_print_except_in_dynamic_raw().
*
* @see flockfile()
* @see funlockfile()
*
- * @see f_print_except_dynamic_partial()
+ * @see f_print_except_in_dynamic_raw()
*/
-#ifndef _di_fll_print_dynamic_except_partial_
- extern f_status_t fll_print_except_dynamic_partial(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except, FILE *output);
-#endif // _di_fll_print_except_dynamic_partial_
+#ifndef _di_fll_print_except_in_dynamic_raw_
+ extern f_status_t fll_print_except_in_dynamic_raw(const f_string_static_t buffer, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output);
+#endif // _di_fll_print_except_in_dynamic_raw_
/**
- * This is a variation of f_print_except_dynamic_partial_raw() that uses locking.
+ * This is a variation of f_print_except_in_dynamic_safely() that uses locking.
*
* @param buffer
* The string to output.
- * @param range
- * The range within the provided string to print.
- * @param except
+ * @param except_at
* An array of locations within the given string to not print.
* The array of locations is required/assumed to be in linear order.
+ * @param except_in
+ * An array of ranges within the string to not print.
+ * The array of ranges is required/assumed to be in linear order.
* @param output
* The file stream to output to, including standard streams such as stdout and stderr.
*
* @return
- * Success from: f_print_except_dynamic_partial_raw().
+ * Success from: f_print_except_in_dynamic_safely().
*
- * Errors (with error bit) from: f_print_except_dynamic_partial_raw().
+ * Errors (with error bit) from: f_print_except_in_dynamic_safely().
*
* @see flockfile()
* @see funlockfile()
*
- * @see f_print_except_dynamic_partial_raw()
+ * @see f_print_except_in_dynamic_safely()
*/
-#ifndef _di_fll_print_dynamic_except_partial_raw_
- extern f_status_t fll_print_except_dynamic_partial_raw(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except, FILE *output);
-#endif // _di_fll_print_except_dynamic_partial_raw_
+#ifndef _di_fll_print_except_in_dynamic_safely_
+ extern f_status_t fll_print_except_in_dynamic_safely(const f_string_static_t buffer, const f_array_lengths_t except_at, const f_string_ranges_t except_in, FILE *output);
+#endif // _di_fll_print_except_in_dynamic_safely_
/**
- * This is a variation of f_print_except_dynamic_partial() that uses locking.
+ * This is a variation of f_print_except_raw() that uses locking.
*
- * @param buffer
+ * @param string
* The string to output.
- * @param range
- * The range within the provided string to print.
+ * @param offset
+ * The inclusive start point to start printing.
+ * @param length
+ * The total number of characters to print.
* @param except
* An array of locations within the given string to not print.
* The array of locations is required/assumed to be in linear order.
* The file stream to output to, including standard streams such as stdout and stderr.
*
* @return
- * Success from: f_print_except_dynamic_partial().
+ * Success from: f_print_except_raw().
*
- * Errors (with error bit) from: f_print_except_dynamic_partial().
+ * Errors (with error bit) from: f_print_except_raw().
*
* @see flockfile()
* @see funlockfile()
*
- * @see f_print_except_dynamic_partial()
+ * @see f_print_except_raw()
*/
-#ifndef _di_fll_print_dynamic_except_partial_
- extern f_status_t fll_print_except_dynamic_partial(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except, FILE *output);
-#endif // _di_fll_print_except_dynamic_partial_
+#ifndef _di_fll_print_except_raw_
+ extern f_status_t fll_print_except_raw(const f_string_t string, const f_array_length_t offset, const f_array_length_t length, const f_array_lengths_t except, FILE *output);
+#endif // _di_fll_print_except_raw_
/**
- * This is a variation of f_print_except_dynamic_partial_raw() that uses locking.
+ * This is a variation of f_print_except_safely() that uses locking.
*
- * @param buffer
+ * @param string
* The string to output.
- * @param range
- * The range within the provided string to print.
+ * @param offset
+ * The inclusive start point to start printing.
+ * @param length
+ * The total number of characters to print.
* @param except
* An array of locations within the given string to not print.
* The array of locations is required/assumed to be in linear order.
* The file stream to output to, including standard streams such as stdout and stderr.
*
* @return
- * Success from: f_print_except_dynamic_partial_raw().
+ * Success from: f_print_except_safely().
*
- * Errors (with error bit) from: f_print_except_dynamic_partial_raw().
+ * Errors (with error bit) from: f_print_except_safely().
*
* @see flockfile()
* @see funlockfile()
*
- * @see f_print_except_dynamic_partial_raw()
+ * @see f_print_except_safely()
*/
-#ifndef _di_fll_print_dynamic_except_partial_raw_
- extern f_status_t fll_print_except_dynamic_partial_raw(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except, FILE *output);
-#endif // _di_fll_print_except_dynamic_partial_raw_
+#ifndef _di_fll_print_except_safely_
+ extern f_status_t fll_print_except_safely(const f_string_t string, const f_array_length_t offset, const f_array_length_t length, const f_array_lengths_t except, FILE *output);
+#endif // _di_fll_print_except_safely_
/**
- * This is a variation of f_print_except_dynamic_partial_safely() that uses locking.
+ * This is a variation of fl_print_format() that uses locking.
*
- * @param buffer
- * The string to output.
- * @param range
- * The range within the provided string to print.
- * @param except
- * An array of locations within the given string to not print.
- * The array of locations is required/assumed to be in linear order.
+ * @param string
+ * The formatted string to process and output.
+ * This is a NULL terminated string.
* @param output
* The file stream to output to, including standard streams such as stdout and stderr.
+ * @param ...
+ * Additional arguments relating to the string.
*
* @return
- * Success from: f_print_except_dynamic_partial_safely().
+ * Success from: fl_print_format().
*
- * Errors (with error bit) from: f_print_except_dynamic_partial_safely().
+ * Errors (with error bit) from: fl_print_format().
*
* @see flockfile()
* @see funlockfile()
+ * @see va_start()
+ * @see va_end()
*
- * @see f_print_except_dynamic_partial_safely()
+ * @see fl_print_format()
*/
-#ifndef _di_fll_print_dynamic_except_partial_safely_
- extern f_status_t fll_print_except_dynamic_partial_safely(const f_string_static_t buffer, const f_string_range_t range, const f_array_lengths_t except, FILE *output);
-#endif // _di_fll_print_except_dynamic_partial_safely_
+#ifndef _di_fll_print_format_
+ extern f_status_t fll_print_format(const f_string_t string, FILE *output, ...);
+#endif // _di_fll_print_format_
+
+/**
+ * This is a variation of fl_print_format_convert() that uses locking.
+ *
+ * @param current
+ * The current character position within the string.
+ * @param output
+ * The file stream to output to, including standard streams such as stdout and stderr.
+ * @param ap
+ * The variable arguments list.
+ * @param status
+ * The status is stored here rather then via the return.
+ *
+ * @return
+ * Result from: fl_print_format_convert().
+ *
+ * @see flockfile()
+ * @see funlockfile()
+ *
+ * @see fl_print_format_convert()
+ */
+#ifndef _di_fll_print_format_convert_
+ extern f_string_t fll_print_format_convert(const f_string_t current, FILE *output, va_list *ap, f_status_t *status);
+#endif // _di_fll_print_format_convert_
/**
* This is a variation of f_print_raw() that uses locking.
#endif // _di_fll_print_safely_terminated_
/**
- * This is a variation of fl_print_string() that uses locking.
- *
- * @param string
- * The formatted string to process and output.
- * This is a NULL terminated string.
- * @param output
- * The file stream to output to, including standard streams such as stdout and stderr.
- * @param ...
- * Additional arguments relating to the string.
- *
- * @return
- * Success from: fl_print_string().
- *
- * Errors (with error bit) from: fl_print_string().
- *
- * @see flockfile()
- * @see funlockfile()
- * @see va_start()
- * @see va_end()
- *
- * @see fl_print_string()
- */
-#ifndef _di_fll_print_string_
- extern f_status_t fll_print_string(const f_string_t string, FILE *output, ...);
-#endif // _di_fll_print_string_
-
-/**
- * This is a variation of fl_print_string_convert() that uses locking.
- *
- * @param current
- * The current character position within the string.
- * @param output
- * The file stream to output to, including standard streams such as stdout and stderr.
- * @param ap
- * The variable arguments list.
- * @param status
- * The status is stored here rather then via the return.
- *
- * @return
- * Result from: fl_print_string_convert().
- *
- * @see flockfile()
- * @see funlockfile()
- *
- * @see fl_print_string_convert()
- */
-#ifndef _di_fll_print_string_convert_
- extern f_string_t fll_print_string_convert(const f_string_t current, FILE *output, va_list *ap, f_status_t *status);
-#endif // _di_fll_print_string_convert_
-
-/**
* This is a variation of fl_print_string_va() that uses locking.
*
* @param string
#ifndef _di_fll_program_print_help_header_
f_status_t fll_program_print_help_header(const f_file_t output, const f_color_context_t context, const f_string_t name, const f_string_t version) {
- f_print_terminated(f_string_eol_s, output.stream);
- fl_print_string(" %[%s%]%c", output.stream, context.set.title, name, context.set.title, f_string_eol_s[0]);
- fl_print_string(" %[Version %s%]%c", output.stream, context.set.notable, version, context.set.notable, f_string_eol_s[0]);
+ fl_print_format("%c %[%S%]%c", output.stream, f_string_eol_s[0], context.set.title, name, context.set.title, f_string_eol_s[0]);
+ fl_print_format(" %[Version %s%]%c", output.stream, context.set.notable, version, context.set.notable, f_string_eol_s[0]);
- f_print_terminated(f_string_eol_s, output.stream);
- fl_print_string(" %[Available Options:%] ", output.stream, context.set.important, context.set.important);
+ fl_print_format("%c %[Available Options:%] ", output.stream, f_string_eol_s[0], context.set.important, context.set.important);
return F_none;
}
#ifndef _di_fll_program_print_help_option_
f_status_t fll_program_print_help_option(const f_file_t output, const f_color_context_t context, const f_string_t option_short, const f_string_t option_long, const f_string_t symbol_short, const f_string_t symbol_long, const f_string_t description) {
- f_print_terminated(f_string_eol_s, output.stream);
- fl_print_string(" %s%[%s%]", output.stream, symbol_short, context.set.standout, option_short, context.set.standout);
- fl_print_string(", %s%[%s%]", output.stream, symbol_long, context.set.standout, option_long, context.set.standout);
- fl_print_string(" %S", output.stream, description);
+ fl_print_format("%c %s%[%S%]", output.stream, f_string_eol_s[0], symbol_short, context.set.standout, option_short, context.set.standout);
+ fl_print_format(", %s%[%S%]", output.stream, symbol_long, context.set.standout, option_long, context.set.standout);
+ fl_print_format(" %S", output.stream, description);
return F_none;
}
#ifndef _di_fll_program_print_help_option_long_
f_status_t fll_program_print_help_option_long(const f_file_t output, const f_color_context_t context, const f_string_t option_long, const f_string_t symbol_long, const f_string_t description) {
- f_print_terminated(f_string_eol_s, output.stream);
- fl_print_string(" %s%[%s%]", output.stream, symbol_long, context.set.standout, option_long, context.set.standout);
- fl_print_string(" %S", output.stream, description);
+ fl_print_format("%c %s%[%S%]", output.stream, f_string_eol_s[0], symbol_long, context.set.standout, option_long, context.set.standout);
+ fl_print_format(" %S", output.stream, description);
return F_none;
}
#ifndef _di_fll_program_print_help_option_other_
f_status_t fll_program_print_help_option_other(const f_file_t output, const f_color_context_t context, const f_string_t option_other, const f_string_t description) {
- f_print_terminated(f_string_eol_s, output.stream);
- fl_print_string(" %[%s%]", output.stream, context.set.standout, option_other, context.set.standout);
- fl_print_string(" %S", output.stream, description);
+ fl_print_format("%c %[%S%]", output.stream, f_string_eol_s[0], context.set.standout, option_other, context.set.standout);
+ fl_print_format(" %S", output.stream, description);
return F_none;
}
#ifndef _di_fll_program_print_help_usage_
f_status_t fll_program_print_help_usage(const f_file_t output, const f_color_context_t context, const f_string_t name, const f_string_t parameters) {
- f_print_terminated(f_string_eol_s, output.stream);
- f_print_terminated(f_string_eol_s, output.stream);
- fl_print_string(" %[Usage:%]", output.stream, context.set.important, context.set.important);
+ fl_print_format("%c%c %[Usage:%]", output.stream, f_string_eol_s[0], f_string_eol_s[0], context.set.important, context.set.important);
- f_print_terminated(f_string_eol_s, output.stream);
- fl_print_string(" %[%S%]", output.stream, context.set.standout, name, context.set.standout);
+ f_print_character(f_string_eol_s[0], output.stream);
+ fl_print_format(" %[%S%]", output.stream, context.set.standout, name, context.set.standout);
- fl_print_string(" %[[%] options %[]%]", output.stream, context.set.notable, context.set.notable, context.set.notable, context.set.notable);
+ fl_print_format(" %[[%] options %[]%]", output.stream, context.set.notable, context.set.notable, context.set.notable, context.set.notable);
if (parameters[0] != '\0') {
- fl_print_string(" %[[%]%S%[]%]", output.stream, context.set.notable, context.set.notable, parameters, context.set.notable, context.set.notable);
+ fl_print_format(" %[[%] %S %[]%]", output.stream, context.set.notable, context.set.notable, parameters, context.set.notable, context.set.notable);
}
- f_print_terminated(f_string_eol_s, output.stream);
- f_print_terminated(f_string_eol_s, output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
return F_none;
}
#ifndef _di_fll_program_print_version_
f_status_t fll_program_print_version(const f_file_t output, const f_string_t version) {
- fl_print_string("%S%c", output.stream, version, f_string_eol_s[0]);
+ fl_print_format("%S%c", output.stream, version, f_string_eol_s[0]);
return F_none;
}
* F_none on success.
*
* @see f_print_terminated()
- * @see fl_print_string()
+ * @see fl_print_format()
*/
#ifndef _di_fll_program_print_help_header_
extern f_status_t fll_program_print_help_header(const f_file_t output, const f_color_context_t context, const f_string_t name, const f_string_t version);
* F_none on success.
*
* @see f_print_terminated()
- * @see fl_print_string()
+ * @see fl_print_format()
*/
#ifndef _di_fll_program_print_help_option_
extern f_status_t fll_program_print_help_option(const f_file_t output, const f_color_context_t context, const f_string_t option_short, const f_string_t option_long, const f_string_t symbol_short, const f_string_t symbol_long, const f_string_t description);
* F_none on success.
*
* @see f_print_terminated()
- * @see fl_print_string()
+ * @see fl_print_format()
*/
#ifndef _di_fll_program_print_help_option_long_
extern f_status_t fll_program_print_help_option_long(const f_file_t output, const f_color_context_t context, const f_string_t option_long, const f_string_t symbol_long, const f_string_t description);
* F_none on success.
*
* @see f_print_terminated()
- * @see fl_print_string()
+ * @see fl_print_format()
*/
#ifndef _di_fll_program_print_help_option_other_
extern f_status_t fll_program_print_help_option_other(const f_file_t output, const f_color_context_t context, const f_string_t option_other, const f_string_t description);
* F_none on success.
*
* @see f_print_terminated()
- * @see fl_print_string()
+ * @see fl_print_format()
*/
#ifndef _di_fll_program_print_help_usage_
extern f_status_t fll_program_print_help_usage(const f_file_t output, const f_color_context_t context, const f_string_t name, const f_string_t parameters);
* @return
* F_none on success.
*
- * @see fl_print_string()
+ * @see fl_print_format()
*/
#ifndef _di_fll_program_print_version_
extern f_status_t fll_program_print_version(const f_file_t output, const f_string_t version);
fll_program_print_help_option(output, context, f_console_standard_short_debug_s, f_console_standard_long_debug_s, f_console_symbol_short_disable_s, f_console_symbol_long_disable_s, " Enable debugging, inceasing verbosity beyond normal output.");
fll_program_print_help_option(output, context, f_console_standard_short_version_s, f_console_standard_long_version_s, f_console_symbol_short_disable_s, f_console_symbol_long_disable_s, " Print only the version number.");
- f_print_terminated(f_string_eol_s, output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
fll_program_print_help_option(output, context, byte_dump_short_binary, byte_dump_long_binary, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " Display binary representation.");
fll_program_print_help_option(output, context, byte_dump_short_decimal, byte_dump_long_decimal, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " Display decimal representation.");
fll_program_print_help_option(output, context, byte_dump_short_octal, byte_dump_long_octal, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " Display octal representation.");
fll_program_print_help_option(output, context, byte_dump_short_unicode, byte_dump_long_unicode, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " Display using Unicode representation for valid Unicode (like: U+0000).");
- f_print_terminated(f_string_eol_s, output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
fll_program_print_help_option(output, context, byte_dump_short_first, byte_dump_long_first, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " 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_s, f_console_symbol_long_enable_s, " 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_s, f_console_symbol_long_enable_s, " Set number of columns of Bytes to display.");
- f_print_terminated(f_string_eol_s, output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
fll_program_print_help_option(output, context, byte_dump_short_text, byte_dump_long_text, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " 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_s, f_console_symbol_long_enable_s, "Use a placeholder character instead of a space for placeholders.");
- f_print_terminated(f_string_eol_s, output.stream);
- f_print_terminated(f_string_eol_s, output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
- fl_print_string(" %[Special Options:%] ", output.stream, context.set.important, context.set.important);
+ fl_print_format(" %[Special Options:%] ", output.stream, context.set.important, context.set.important);
fll_program_print_help_option_long(output, context, byte_dump_long_normal, f_console_symbol_long_enable_s, " 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_s, " Display spaces for ASCII control codes.");
fll_program_print_help_usage(output, context, byte_dump_name, "filename(s)");
f_print_terminated(" When using the ", output.stream);
- fl_print_string("%[%s%s%]", output.stream, context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_text, context.set.notable);
+ fl_print_format("%[%s%s%]", output.stream, context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_text, context.set.notable);
f_print_terminated(" option, some UTF-8 characters may be replaced by your instance and cause display alignment issues.", output.stream);
- f_print_terminated(f_string_eol_s, output.stream);
- f_print_terminated(f_string_eol_s, output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
f_print_terminated(" Special UTF-8 characters and non-spacing UTF-8 characters may be replaced with a space (or a placeholder when the ", output.stream);
- fl_print_string("%[%s%s%]", output.stream, context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_placeholder, context.set.notable);
+ fl_print_format("%[%s%s%]", output.stream, context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_placeholder, context.set.notable);
f_print_terminated(" option is used).", output.stream);
- f_print_terminated(f_string_eol_s, output.stream);
- f_print_terminated(f_string_eol_s, output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
f_print_terminated(" UTF-8 \"Combining\" characters might have a space appended to allow a proper display but this may cause copy and paste issues.", output.stream);
- f_print_terminated(f_string_eol_s, output.stream);
- f_print_terminated(f_string_eol_s, output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
f_print_terminated(" When ", output.stream);
- fl_print_string("%[%s%s%]", output.stream, context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_last, context.set.notable);
+ fl_print_format("%[%s%s%]", output.stream, context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_last, context.set.notable);
f_print_terminated(" is used, any UTF-8 sequences will still be printed in full should any part is found within the requested range.", output.stream);
- f_print_terminated(f_string_eol_s, output.stream);
- f_print_terminated(f_string_eol_s, output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
f_print_terminated(" When using the ", output.stream);
- fl_print_string("%[%s%s%]", output.stream, context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_unicode, context.set.notable);
+ fl_print_format("%[%s%s%]", output.stream, context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_unicode, context.set.notable);
f_print_terminated(" option, invalid Unicode will fallback to being displayed using one of the other modes.", output.stream);
- f_print_terminated(f_string_eol_s, output.stream);
- f_print_terminated(f_string_eol_s, output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
funlockfile(output.stream);
#ifndef _di_byte_dump_main_
f_status_t byte_dump_main(const f_console_arguments_t arguments, byte_dump_main_t *main) {
+
f_status_t status = F_none;
{
if (main->context.set.error.before) {
main->error.context = main->context.set.error;
main->error.notable = main->context.set.notable;
+
+ main->warning.context = main->context.set.warning;
+ main->warning.notable = main->context.set.notable;
}
else {
- f_color_set_t *sets[] = { &main->error.context, &main->error.notable, 0 };
+ f_color_set_t *sets[] = { &main->error.context, &main->error.notable, &main->warning.context, &main->warning.notable, 0 };
fll_program_parameter_process_empty(&main->context, sets);
}
if (F_status_is_error(status)) {
- fll_error_print(main->error, F_status_set_fine(status), "f_console_parameter_prioritize_right", F_true);
+ fll_error_print(main->error, F_status_set_fine(status), "fll_program_parameter_process", F_true);
byte_dump_main_delete(main);
return F_status_set_error(status);
if (choice == byte_dump_parameter_verbosity_quiet) {
main->error.verbosity = f_console_verbosity_quiet;
+ main->warning.verbosity = f_console_verbosity_quiet;
}
else if (choice == byte_dump_parameter_verbosity_normal) {
main->error.verbosity = f_console_verbosity_normal;
+ main->warning.verbosity = f_console_verbosity_normal;
}
else if (choice == byte_dump_parameter_verbosity_verbose) {
main->error.verbosity = f_console_verbosity_verbose;
+ main->warning.verbosity = f_console_verbosity_verbose;
}
else if (choice == byte_dump_parameter_verbosity_debug) {
main->error.verbosity = f_console_verbosity_debug;
+ main->warning.verbosity = f_console_verbosity_debug;
}
}
if (main->parameters[byte_dump_parameter_width].result == f_console_result_found) {
flockfile(main->error.to.stream);
- fl_print_string("%[%sThe parameter '%]", main->error.to.stream, main->context.set.error, fll_error_print_error, main->context.set.error);
- fl_print_string("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_width, main->context.set.notable);
- fl_print_string("%[' was specified, but no value was given.%]%c", main->error.to.stream, main->context.set.error, main->context.set.error, f_string_eol_s[0]);
+ fl_print_format("%[%SThe parameter '%]", main->error.to.stream, main->context.set.error, main->error.prefix, main->context.set.error);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_width, main->context.set.notable);
+ fl_print_format("%[' was specified, but no value was given.%]%c", main->error.to.stream, main->context.set.error, main->context.set.error, f_string_eol_s[0]);
funlockfile(main->error.to.stream);
if (F_status_is_error(status) || number < 1 || number >= 0xfb) {
flockfile(main->error.to.stream);
- fl_print_string("%[%sThe parameter '%]", main->error.to.stream, main->context.set.error, fll_error_print_error, main->context.set.error);
- fl_print_string("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_width, main->context.set.notable);
- fl_print_string("%[' value can only be a number (inclusively) between %]", main->error.to.stream, main->context.set.error, main->context.set.error);
- fl_print_string("%[1%]", main->error.to.stream, main->context.set.notable, main->context.set.notable);
- fl_print_string(" %[and%] ", main->error.to.stream, main->context.set.error, main->context.set.error);
- fl_print_string("%[250%]", main->error.to.stream, main->context.set.notable, main->context.set.notable);
- fl_print_string("%[.%]%c", main->error.to.stream, main->context.set.error, main->context.set.error, f_string_eol_s[0]);
+ fl_print_format("%[%SThe parameter '%]", main->error.to.stream, main->context.set.error, main->error.prefix, main->context.set.error);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_width, main->context.set.notable);
+ fl_print_format("%[' value can only be a number (inclusively) between %]", main->error.to.stream, main->context.set.error, main->context.set.error);
+ fl_print_format("%[1%]", main->error.to.stream, main->context.set.notable, main->context.set.notable);
+ fl_print_format(" %[and%] ", main->error.to.stream, main->context.set.error, main->context.set.error);
+ fl_print_format("%[250%]", main->error.to.stream, main->context.set.notable, main->context.set.notable);
+ fl_print_format("%[.%]%c", main->error.to.stream, main->context.set.error, main->context.set.error, f_string_eol_s[0]);
funlockfile(main->error.to.stream);
if (main->parameters[byte_dump_parameter_first].result == f_console_result_found) {
flockfile(main->error.to.stream);
- fl_print_string("%[%sThe parameter '%]", main->error.to.stream, main->context.set.error, fll_error_print_error, main->context.set.error);
- fl_print_string("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_first, main->context.set.notable);
- fl_print_string("%[' was specified, but no value was given.%]%c", main->error.to.stream, main->context.set.error, main->context.set.error, f_string_eol_s[0]);
+ fl_print_format("%[%SThe parameter '%]", main->error.to.stream, main->context.set.error, main->error.prefix, main->context.set.error);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_first, main->context.set.notable);
+ fl_print_format("%[' was specified, but no value was given.%]%c", main->error.to.stream, main->context.set.error, main->context.set.error, f_string_eol_s[0]);
funlockfile(main->error.to.stream);
if (F_status_is_error(status) || number > f_number_t_size_unsigned) {
flockfile(main->error.to.stream);
- fl_print_string("%[%sThe parameter '%]", main->error.to.stream, main->context.set.error, fll_error_print_error, main->context.set.error);
- fl_print_string("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_first, main->context.set.notable);
- fl_print_string("%[' value can only be a number (inclusively) between %]", main->error.to.stream, main->context.set.error, main->context.set.error);
- fl_print_string("%[0%]", main->error.to.stream, main->context.set.notable, main->context.set.notable);
- fl_print_string(" %[and%] ", main->error.to.stream, main->context.set.error, main->context.set.error);
- fl_print_string("%[%ul%]", main->error.to.stream, main->context.set.notable, f_number_t_size_unsigned, main->context.set.notable);
- fl_print_string("%[.%]%c", main->error.to.stream, main->context.set.error, main->context.set.error, f_string_eol_s[0]);
+ fl_print_format("%[%SThe parameter '%]", main->error.to.stream, main->context.set.error, main->error.prefix, main->context.set.error);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_first, main->context.set.notable);
+ fl_print_format("%[' value can only be a number (inclusively) between %]", main->error.to.stream, main->context.set.error, main->context.set.error);
+ fl_print_format("%[0%]", main->error.to.stream, main->context.set.notable, main->context.set.notable);
+ fl_print_format(" %[and%] ", main->error.to.stream, main->context.set.error, main->context.set.error);
+ fl_print_format("%[%un%]", main->error.to.stream, main->context.set.notable, f_number_t_size_unsigned, main->context.set.notable);
+ fl_print_format("%[.%]%c", main->error.to.stream, main->context.set.error, main->context.set.error, f_string_eol_s[0]);
funlockfile(main->error.to.stream);
if (main->parameters[byte_dump_parameter_last].result == f_console_result_found) {
flockfile(main->error.to.stream);
- fl_print_string("%[%sThe parameter '%]", main->error.to.stream, main->context.set.error, fll_error_print_error, main->context.set.error);
- fl_print_string("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_last, main->context.set.notable);
- fl_print_string("%[' was specified, but no value was given.%]%c", main->error.to.stream, main->context.set.error, main->context.set.error, f_string_eol_s[0]);
+ fl_print_format("%[%SThe parameter '%]", main->error.to.stream, main->context.set.error, main->error.prefix, main->context.set.error);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_last, main->context.set.notable);
+ fl_print_format("%[' was specified, but no value was given.%]%c", main->error.to.stream, main->context.set.error, main->context.set.error, f_string_eol_s[0]);
funlockfile(main->error.to.stream);
if (F_status_is_error(status) || number < 0 || number > f_number_t_size_unsigned) {
flockfile(main->error.to.stream);
- fl_print_string("%[%sThe parameter '%]", main->error.to.stream, main->context.set.error, fll_error_print_error, main->context.set.error);
- fl_print_string("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_last, main->context.set.notable);
- fl_print_string("%[' value can only be a number (inclusively) between %]", main->error.to.stream, main->context.set.error, main->context.set.error);
- fl_print_string("%[0%]", main->error.to.stream, main->context.set.notable, main->context.set.notable);
- fl_print_string(" %[and%] ", main->error.to.stream, main->context.set.error, main->context.set.error);
- fl_print_string("%[%ul%]", main->error.to.stream, main->context.set.notable, f_number_t_size_unsigned, main->context.set.notable);
- fl_print_string("%[.%]%c", main->error.to.stream, main->context.set.error, main->context.set.error, f_string_eol_s[0]);
+ fl_print_format("%[%SThe parameter '%]", main->error.to.stream, main->context.set.error, main->error.prefix, main->context.set.error);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_last, main->context.set.notable);
+ fl_print_format("%[' value can only be a number (inclusively) between %]", main->error.to.stream, main->context.set.error, main->context.set.error);
+ fl_print_format("%[0%]", main->error.to.stream, main->context.set.notable, main->context.set.notable);
+ fl_print_format(" %[and%] ", main->error.to.stream, main->context.set.error, main->context.set.error);
+ fl_print_format("%[%un%]", main->error.to.stream, main->context.set.notable, f_number_t_size_unsigned, main->context.set.notable);
+ fl_print_format("%[.%]%c", main->error.to.stream, main->context.set.error, main->context.set.error, f_string_eol_s[0]);
funlockfile(main->error.to.stream);
if (main->first > main->last) {
flockfile(main->error.to.stream);
- fl_print_string("%[%sThe parameter '%]", main->error.to.stream, main->context.set.error, fll_error_print_error, main->context.set.error);
- fl_print_string("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_first, main->context.set.notable);
- fl_print_string("%[' value cannot be greater than the parameter '%]", main->error.to.stream, main->context.set.error, main->context.set.error);
- fl_print_string("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_last, main->context.set.notable);
- fl_print_string("%[' value.%]%c", main->error.to.stream, main->context.set.error, main->context.set.error, f_string_eol_s[0]);
+ fl_print_format("%[%SThe parameter '%]", main->error.to.stream, main->context.set.error, main->error.prefix, main->context.set.error);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_first, main->context.set.notable);
+ fl_print_format("%[' value cannot be greater than the parameter '%]", main->error.to.stream, main->context.set.error, main->context.set.error);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, byte_dump_long_last, main->context.set.notable);
+ fl_print_format("%[' value.%]%c", main->error.to.stream, main->context.set.error, main->context.set.error, f_string_eol_s[0]);
funlockfile(main->error.to.stream);
flockfile(main->output.stream);
f_print_terminated(f_string_eol_s, main->output.stream);
- fl_print_string("%[Piped Byte Dump: (in ", main->output.stream, main->context.set.title);
+ fl_print_format("%[Piped Byte Dump: (in ", main->output.stream, main->context.set.title);
if (main->mode == byte_dump_mode_hexidecimal) {
f_print_terminated("Hexidecimal", main->output.stream);
f_print_terminated("Decimal", main->output.stream);
}
- fl_print_string(")%]%c", main->output.stream, main->context.set.title, f_string_eol_s[0]);
+ fl_print_format(")%]%c", main->output.stream, main->context.set.title, f_string_eol_s[0]);
funlockfile(main->output.stream);
flockfile(main->output.stream);
f_print_terminated(f_string_eol_s, main->output.stream);
- fl_print_string("%[Byte Dump of: %]%[", main->output.stream, main->context.set.title, main->context.set.title, main->context.set.notable);
+ fl_print_format("%[Byte Dump of: %]%[", main->output.stream, main->context.set.title, main->context.set.title, main->context.set.notable);
fll_print_safely_terminated(arguments.argv[main->remaining.array[counter]], main->output.stream);
- fl_print_string("%] %[(in ", main->output.stream, main->context.set.notable, main->context.set.title);
+ fl_print_format("%] %[(in ", main->output.stream, main->context.set.notable, main->context.set.title);
if (main->mode == byte_dump_mode_hexidecimal) {
f_print_terminated("Hexidecimal", main->output.stream);
f_print_terminated("Decimal", main->output.stream);
}
- fl_print_string(")%]%c", main->output.stream, main->context.set.title, f_string_eol_s[0]);
+ fl_print_format(")%]%c", main->output.stream, main->context.set.title, f_string_eol_s[0]);
funlockfile(main->output.stream);
}
}
else {
- fll_print_string("%[%sYou failed to specify one or more filenames.%]%c", main->error.to.stream, main->context.set.error, fll_error_print_error, main->context.set.error, f_string_eol_s[0]);
+ fll_print_format("%[%SYou failed to specify one or more filenames.%]%c", main->error.to.stream, main->context.set.error, main->error.prefix, main->context.set.error, f_string_eol_s[0]);
status = F_status_set_error(F_parameter);
}
f_file_t output;
fll_error_print_t error;
+ fll_error_print_t warning;
uint64_t first;
uint64_t last;
F_false, \
macro_f_file_t_initialize2(f_type_output, f_type_descriptor_output, f_file_flag_write_only), \
fll_error_print_t_initialize, \
+ macro_fll_error_print_t_initialize_warning(), \
0, \
0, \
8, \
flockfile(main.error.to.stream);
fl_print_color_terminated("Invalid UTF-8 codes were detected for file '", main.context.set.error, main.error.to.stream);
- fl_print_string("%[%S%]", main.error.to.stream, main.context.set.notable, file_name ? file_name : "-", main.context.set.notable);
- fl_print_string("%['.%]%c%c", main.error.to.stream, main.context.set.error, main.context.set.error, f_string_eol_s[0], f_string_eol_s[0]);
+ fl_print_format("%[%S%]", main.error.to.stream, main.context.set.notable, file_name ? file_name : "-", main.context.set.notable);
+ fl_print_format("%['.%]%c%c", main.error.to.stream, main.context.set.error, main.context.set.error, f_string_eol_s[0], f_string_eol_s[0]);
funlockfile(main.error.to.stream);
}
// @todo: determine what the error is and display it.
flockfile(main.error.to.stream);
- fl_print_string("%[%sread() failed for '%]", main.error.to.stream, main.context.set.error, fll_error_print_error, main.context.set.error);
- fl_print_string("%[%S%]", main.error.to.stream, main.context.set.notable, file_name ? file_name : "-", main.context.set.notable);
- fl_print_string("%['.%]%c%c", main.error.to.stream, main.context.set.error, main.context.set.error, f_string_eol_s[0], f_string_eol_s[0]);
+ fl_print_format("%[%Sread() failed for '%]", main.error.to.stream, main.context.set.error, main.error.prefix, main.context.set.error);
+ fl_print_format("%[%S%]", main.error.to.stream, main.context.set.notable, file_name ? file_name : "-", main.context.set.notable);
+ fl_print_format("%['.%]%c%c", main.error.to.stream, main.context.set.error, main.context.set.error, f_string_eol_s[0], f_string_eol_s[0]);
funlockfile(main.error.to.stream);
}
if (!cell->column) {
- fl_print_string("%[%016_UL%] ", main.output.stream, main.context.set.notable, cell->row, main.context.set.notable);
+ fl_print_format("%[%016_UL%] ", main.output.stream, main.context.set.notable, cell->row, main.context.set.notable);
if (*offset) {
uint8_t offset_to_print = *offset;
}
if (width_utf < 4) {
- fl_print_string(" U+%04_U ", main.output.stream, unicode);
+ fl_print_format(" U+%04_U ", main.output.stream, unicode);
}
else {
- fl_print_string(" U+%06_U ", main.output.stream, unicode);
+ fl_print_format(" U+%06_U ", main.output.stream, unicode);
}
}
else {
}
if (invalid[character_current]) {
- fl_print_string(" %[%02_uii%]", main.output.stream, main.context.set.error, (uint8_t) byte, main.context.set.error);
+ fl_print_format(" %[%02_uii%]", main.output.stream, main.context.set.error, (uint8_t) byte, main.context.set.error);
}
else {
- fl_print_string(" %02_uii", main.output.stream, (uint8_t) byte);
+ fl_print_format(" %02_uii", main.output.stream, (uint8_t) byte);
}
}
else if (main.mode == byte_dump_mode_duodecimal) {
}
if (invalid[character_current]) {
- fl_print_string(" %[%03&uii%]", main.output.stream, main.context.set.error, (uint8_t) byte, main.context.set.error);
+ fl_print_format(" %[%03&uii%]", main.output.stream, main.context.set.error, (uint8_t) byte, main.context.set.error);
}
else {
- fl_print_string(" %03&uii", main.output.stream, (uint8_t) byte);
+ fl_print_format(" %03&uii", main.output.stream, (uint8_t) byte);
}
}
else if (main.mode == byte_dump_mode_octal) {
}
if (invalid[character_current]) {
- fl_print_string(" %[%03@uii%]", main.output.stream, main.context.set.error, (uint8_t) byte, main.context.set.error);
+ fl_print_format(" %[%03@uii%]", main.output.stream, main.context.set.error, (uint8_t) byte, main.context.set.error);
}
else {
- fl_print_string(" %03@uii", main.output.stream, (uint8_t) byte);
+ fl_print_format(" %03@uii", main.output.stream, (uint8_t) byte);
}
}
else if (main.mode == byte_dump_mode_binary) {
if (invalid[character_current]) {
- fl_print_string(" %[%08!uii%]", main.output.stream, main.context.set.error, (uint8_t) byte, main.context.set.error);
+ fl_print_format(" %[%08!uii%]", main.output.stream, main.context.set.error, (uint8_t) byte, main.context.set.error);
}
else {
- fl_print_string(" %08!uii", main.output.stream, (uint8_t) byte);
+ fl_print_format(" %08!uii", main.output.stream, (uint8_t) byte);
}
}
else if (main.mode == byte_dump_mode_decimal) {
}
if (invalid[character_current]) {
- fl_print_string(" %[%3uii%]", main.output.stream, main.context.set.error, (uint8_t) byte, main.context.set.error);
+ fl_print_format(" %[%3uii%]", main.output.stream, main.context.set.error, (uint8_t) byte, main.context.set.error);
}
else {
- fl_print_string(" %3uii", main.output.stream, (uint8_t) byte);
+ fl_print_format(" %3uii", main.output.stream, (uint8_t) byte);
}
}
}
#ifndef _di_control_print_help_
f_status_t control_print_help(const f_file_t output, const f_color_context_t context) {
+ flockfile(output.stream);
+
fll_program_print_help_header(output, context, control_name_long, control_version);
fll_program_print_help_option(output, context, f_console_standard_short_help_s, f_console_standard_long_help_s, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " Print this help message.");
fll_program_print_help_usage(output, context, control_name, f_string_empty_s);
+ funlockfile(output.stream);
+
return F_none;
}
#endif // _di_control_print_help_
if (choice == control_parameter_verbosity_quiet) {
main->error.verbosity = f_console_verbosity_quiet;
+ main->warning.verbosity = f_console_verbosity_quiet;
}
else if (choice == control_parameter_verbosity_normal) {
main->error.verbosity = f_console_verbosity_normal;
+ main->warning.verbosity = f_console_verbosity_normal;
}
else if (choice == control_parameter_verbosity_verbose) {
main->error.verbosity = f_console_verbosity_verbose;
+ main->warning.verbosity = f_console_verbosity_verbose;
}
else if (choice == control_parameter_verbosity_debug) {
main->error.verbosity = f_console_verbosity_debug;
+ main->warning.verbosity = f_console_verbosity_debug;
}
}
fl_print
fl_string
fll_error
+fll_print
fll_program
build_indexer ar
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_program -lfl_console -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_print -lfll_program -lfl_console -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_sources_library control.c private-common.c private-control.c
fll_program_print_help_option(output, context, f_console_standard_short_debug_s, f_console_standard_long_debug_s, f_console_symbol_short_disable_s, f_console_symbol_long_disable_s, " Enable debugging, inceasing verbosity beyond normal output.");
fll_program_print_help_option(output, context, f_console_standard_short_version_s, f_console_standard_long_version_s, f_console_symbol_short_disable_s, f_console_symbol_long_disable_s, " Print only the version number.");
- f_print_terminated(f_string_eol_s, output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
fll_program_print_help_option(output, context, controller_short_control, controller_long_control, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " Specify a custom control group file path, such as '" f_control_group_path_system_prefix f_control_group_path_system_default "'.");
fll_program_print_help_option(output, context, controller_short_daemon, controller_long_daemon, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " Run in daemon only mode (do not process the entry).");
fll_program_print_help_usage(output, context, controller_name, "entry");
f_print_terminated(" When both the ", output.stream);
- fl_print_string("%[%s%s%]", output.stream, context.set.notable, f_console_symbol_long_enable_s, controller_long_simulate, context.set.notable);
+ fl_print_format("%[%s%s%]", output.stream, context.set.notable, f_console_symbol_long_enable_s, controller_long_simulate, context.set.notable);
f_print_terminated(" parameter and the ", output.stream);
- fl_print_string("%[%s%s%]", output.stream, context.set.notable, f_console_symbol_long_enable_s, controller_long_validate, context.set.notable);
+ fl_print_format("%[%s%s%]", output.stream, context.set.notable, f_console_symbol_long_enable_s, controller_long_validate, context.set.notable);
f_print_terminated(" parameter are specified, then additional information on each would be executed rule is printed but no simulation is performed.", output.stream);
- f_print_terminated(f_string_eol_s, output.stream);
+ f_print_character(f_string_eol_s[0], output.stream);
funlockfile(output.stream);
if (main->error.verbosity != f_console_verbosity_quiet) {
flockfile(main->error.to.stream);
- fl_print_string("%c%[%SThe parameter '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
- fl_print_string("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, controller_long_settings, main->context.set.notable);
- fl_print_string("%[' was specified, but no value was given.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe parameter '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, controller_long_settings, main->context.set.notable);
+ fl_print_format("%[' was specified, but no value was given.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
funlockfile(main->error.to.stream);
}
if (main->error.verbosity != f_console_verbosity_quiet) {
flockfile(main->error.to.stream);
- fl_print_string("%c%[%SThe parameter '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
- fl_print_string("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, controller_long_pid, main->context.set.notable);
- fl_print_string("%[' was specified, but no value was given.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe parameter '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, controller_long_pid, main->context.set.notable);
+ fl_print_format("%[' was specified, but no value was given.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
funlockfile(main->error.to.stream);
}
if (main->warning.verbosity == f_console_verbosity_debug) {
flockfile(main->warning.to.stream);
- fl_print_string("%c%[%SThe parameter '%]", main->warning.to.stream, f_string_eol_s[0], main->warning.context, main->warning.prefix ? main->warning.prefix : f_string_empty_s, main->warning.context);
- fl_print_string("%[%s%s%]", main->warning.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, controller_long_pid, main->context.set.notable);
- fl_print_string("%[' must be a file path but instead is an empty string, falling back to the default.%]%c", main->warning.to.stream, main->warning.context, main->warning.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe parameter '%]", main->warning.to.stream, f_string_eol_s[0], main->warning.context, main->warning.prefix ? main->warning.prefix : f_string_empty_s, main->warning.context);
+ fl_print_format("%[%s%s%]", main->warning.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, controller_long_pid, main->context.set.notable);
+ fl_print_format("%[' must be a file path but instead is an empty string, falling back to the default.%]%c", main->warning.to.stream, main->warning.context, main->warning.context, f_string_eol_s[0]);
funlockfile(main->warning.to.stream);
}
if (main->error.verbosity != f_console_verbosity_quiet) {
flockfile(main->error.to.stream);
- fl_print_string("%c%[%SThe parameter '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
- fl_print_string("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, controller_long_control, main->context.set.notable);
- fl_print_string("%[' was specified, but no value was given.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe parameter '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, controller_long_control, main->context.set.notable);
+ fl_print_format("%[' was specified, but no value was given.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
funlockfile(main->error.to.stream);
}
if (main->warning.verbosity == f_console_verbosity_debug) {
flockfile(main->warning.to.stream);
- fl_print_string("%c%[%SThe parameter '%]", main->warning.to.stream, f_string_eol_s[0], main->warning.context, main->warning.prefix ? main->warning.prefix : f_string_empty_s, main->warning.context);
- fl_print_string("%[%s%s%]", main->warning.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, controller_long_control, main->context.set.notable);
- fl_print_string("%[' must be a file directory path but instead is an empty string, falling back to the default.%]%c", main->warning.to.stream, main->warning.context, main->warning.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe parameter '%]", main->warning.to.stream, f_string_eol_s[0], main->warning.context, main->warning.prefix ? main->warning.prefix : f_string_empty_s, main->warning.context);
+ fl_print_format("%[%s%s%]", main->warning.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, controller_long_control, main->context.set.notable);
+ fl_print_format("%[' must be a file directory path but instead is an empty string, falling back to the default.%]%c", main->warning.to.stream, main->warning.context, main->warning.context, f_string_eol_s[0]);
funlockfile(main->warning.to.stream);
}
if (main->error.verbosity != f_console_verbosity_quiet) {
flockfile(main->error.to.stream);
- fl_print_string("%c%[%SThe parameter '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
- fl_print_string("%[' must not be specified with the parameter '%]", main->error.to.stream, main->error.context, main->error.context);
- fl_print_string("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, controller_long_daemon, main->context.set.notable);
- fl_print_string("%['.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe parameter '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
+ fl_print_format("%[' must not be specified with the parameter '%]", main->error.to.stream, main->error.context, main->error.context);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->context.set.notable, f_console_symbol_long_enable_s, controller_long_daemon, main->context.set.notable);
+ fl_print_format("%['.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
funlockfile(main->error.to.stream);
}
flockfile(print.to.stream);
- fl_print_string("%c%[%SThe pid file '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix ? print.prefix : f_string_empty_s, print.context);
- fl_print_string("%[' must not be specified with the parameter '%]", print.to.stream, print.context, print.context);
- fl_print_string("%[%S%]", print.to.stream, print.notable, path, print.notable);
- fl_print_string("%[' doesn't contain the expected number, not deleting file.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe pid file '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix ? print.prefix : f_string_empty_s, print.context);
+ fl_print_format("%[' must not be specified with the parameter '%]", print.to.stream, print.context, print.context);
+ fl_print_format("%[%S%]", print.to.stream, print.notable, path, print.notable);
+ fl_print_format("%[' doesn't contain the expected number, not deleting file.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
flockfile(print.to.stream);
- fl_print_string("%c%[%SThe pid file '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix ? print.prefix : f_string_empty_s, print.context);
- fl_print_string("%['Critical failure while attempting to establish '%]", print.to.stream, print.context, print.context);
- fl_print_string("%[%s lock%]", print.to.stream, print.notable, read ? "read" : "write", print.notable);
+ fl_print_format("%c%[%SThe pid file '%]", print.to.stream, f_string_eol_s[0], print.context, print.prefix ? print.prefix : f_string_empty_s, print.context);
+ fl_print_format("%['Critical failure while attempting to establish '%]", print.to.stream, print.context, print.context);
+ fl_print_format("%[%s lock%]", print.to.stream, print.notable, read ? "read" : "write", print.notable);
if (status != F_failure) {
- fl_print_string(" %['due to%] ", print.to.stream, print.context, print.context);
+ fl_print_format(" %['due to%] ", print.to.stream, print.context, print.context);
if (status == F_parameter) {
- fl_print_string("%[%s%]", print.to.stream, print.notable, "Invalid Parameter", print.notable);
+ fl_print_format("%[%s%]", print.to.stream, print.notable, "Invalid Parameter", print.notable);
}
else if (status == F_deadlock) {
- fl_print_string("%[%s%]", print.to.stream, print.notable, "Deadlock", print.notable);
+ fl_print_format("%[%s%]", print.to.stream, print.notable, "Deadlock", print.notable);
}
else if (status == F_resource_not) {
- fl_print_string("%[%s%]", print.to.stream, print.notable, "Too Many Locks", print.notable);
+ fl_print_format("%[%s%]", print.to.stream, print.notable, "Too Many Locks", print.notable);
}
else {
- fl_print_string("%[%s%]", print.to.stream, print.notable, "Unknown Error", print.notable);
+ fl_print_format("%[%s%]", print.to.stream, print.notable, "Unknown Error", print.notable);
}
}
- fl_print_string("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
+ fl_print_format("%['.%]%c", print.to.stream, print.context, print.context, f_string_eol_s[0]);
funlockfile(print.to.stream);
status = f_file_stream_open(path.string, f_file_open_mode_truncate_s, &file);
if (F_status_is_error(status)) return status;
- fll_print_string("%i%c", file.stream, pid, f_string_eol_s[0]);
+ fll_print_format("%i%c", file.stream, pid, f_string_eol_s[0]);
f_file_stream_close(F_true, &file);
flockfile(global.main->warning.to.stream);
- fl_print_string("%c%[%sMultiple '%]", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, global.main->warning.context);
- fl_print_string("%[%s%]", global.main->warning.to.stream, global.main->warning.notable, controller_string_ready_s, global.main->warning.notable);
- fl_print_string("%[' %s item actions detected; only the first will be used.%]%c", global.main->warning.to.stream, global.main->warning.context, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->warning.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SMultiple '%]", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, global.main->warning.context);
+ fl_print_format("%[%s%]", global.main->warning.to.stream, global.main->warning.notable, controller_string_ready_s, global.main->warning.notable);
+ fl_print_format("%[' %s item actions detected; only the first will be used.%]%c", global.main->warning.to.stream, global.main->warning.context, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->warning.context, f_string_eol_s[0]);
controller_entry_error_print_cache(is_entry, global.main->warning, cache->action);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%sThe %s item named '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.notable, entry->items.array[i].name, global.main->error.notable);
- fl_print_string("%[' cannot be executed because recursion is not allowed.%]%c", global.main->error.to.stream, global.main->error.context, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe %s item named '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.notable, entry->items.array[i].name, global.main->error.notable);
+ fl_print_format("%[' cannot be executed because recursion is not allowed.%]%c", global.main->error.to.stream, global.main->error.context, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context, f_string_eol_s[0]);
controller_entry_error_print_cache(is_entry, global.main->error, cache->action);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%sThe %s item named '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.notable, actions->array[cache->ats.array[at_j]].parameters.array[0], global.main->error.notable);
- fl_print_string("%[' does not exist.%]%c", global.main->error.to.stream, global.main->error.context, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe %s item named '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.notable, actions->array[cache->ats.array[at_j]].parameters.array[0], global.main->error.notable);
+ fl_print_format("%[' does not exist.%]%c", global.main->error.to.stream, global.main->error.context, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context, f_string_eol_s[0]);
controller_entry_error_print_cache(is_entry, global.main->error, cache->action);
flockfile(global->main->output.stream);
- fl_print_string("%cProcessing %s%s item '", global->main->output.stream, f_string_eol_s[0], failsafe ? "failsafe " : "", is_entry ? controller_string_entry_s : controller_string_exit_s);
- fl_print_string("%[%Q%]'.%c", global->main->output.stream, global->main->context.set.notable, cache->action.name_item, global->main->context.set.notable, f_string_eol_s[0]);
+ fl_print_format("%cProcessing %s%s item '", global->main->output.stream, f_string_eol_s[0], failsafe ? "failsafe " : "", is_entry ? controller_string_entry_s : controller_string_exit_s);
+ fl_print_format("%[%Q%]'.%c", global->main->output.stream, global->main->context.set.notable, cache->action.name_item, global->main->context.set.notable, f_string_eol_s[0]);
funlockfile(global->main->output.stream);
flockfile(global->main->output.stream);
- fl_print_string("%cThe %s item action '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
- fl_print_string("%[%Q%]", global->main->output.stream, global->main->context.set.title, cache->action.name_action, global->main->context.set.title);
+ fl_print_format("%cThe %s item action '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
+ fl_print_format("%[%Q%]", global->main->output.stream, global->main->context.set.title, cache->action.name_action, global->main->context.set.title);
if (entry_action->parameters.used) {
- fl_print_string(" %[", global->main->output.stream, global->main->context.set.notable);
+ fl_print_format(" %[", global->main->output.stream, global->main->context.set.notable);
controller_entry_action_parameters_print(global->main->output.stream, entry_actions->array[cache->ats.array[at_j]]);
- fl_print_string("%]", global->main->output.stream, global->main->context.set.notable);
+ fl_print_format("%]", global->main->output.stream, global->main->context.set.notable);
}
- fl_print_string("' is %s and is in a %[failed%] state, skipping execution.%c", global->main->output.stream, entry_action->code & controller_entry_rule_code_require ? "required" : "optional", f_string_eol_s[0]);
+ fl_print_format("' is %s and is in a %[failed%] state, skipping execution.%c", global->main->output.stream, entry_action->code & controller_entry_rule_code_require ? "required" : "optional", f_string_eol_s[0]);
funlockfile(global->main->output.stream);
flockfile(output->to.stream);
- fl_print_string("%c%[%SThe %s item action '%]", output->to.stream, f_string_eol_s[0], output->prefix ? output->prefix : f_string_empty_s, is_entry ? controller_string_entry_s : controller_string_exit_s);
- fl_print_string("%[%Q%]", output->to.stream, output->notable, cache->action.name_action, output->notable);
+ fl_print_format("%c%[%SThe %s item action '%]", output->to.stream, f_string_eol_s[0], output->prefix ? output->prefix : f_string_empty_s, is_entry ? controller_string_entry_s : controller_string_exit_s);
+ fl_print_format("%[%Q%]", output->to.stream, output->notable, cache->action.name_action, output->notable);
if (entry_action->parameters.used) {
- fl_print_string(" %[%S%]", output->to.stream, output->notable, entry_actions->array[cache->ats.array[at_j]], output->notable);
+ fl_print_format(" %[%S%]", output->to.stream, output->notable, entry_actions->array[cache->ats.array[at_j]], output->notable);
}
- fl_print_string("%[' is%] %[required%]", output->to.stream, output->context, output->context, output->notable, output->notable);
- fl_print_string(" %[and is in a%] %[failed%]", output->to.stream, output->context, output->context, output->notable, output->notable);
- fl_print_string(" %[state, skipping execution.%]%c", output->to.stream, output->context, output->context, f_string_eol_s[0]);
+ fl_print_format("%[' is%] %[required%]", output->to.stream, output->context, output->context, output->notable, output->notable);
+ fl_print_format(" %[and is in a%] %[failed%]", output->to.stream, output->context, output->context, output->notable, output->notable);
+ fl_print_format(" %[state, skipping execution.%]%c", output->to.stream, output->context, output->context, f_string_eol_s[0]);
controller_entry_error_print_cache(is_entry, *output, cache->action);
flockfile(output->to.stream);
- fl_print_string("%c%[%SThe %s item action '%]", output->to.stream, f_string_eol_s[0], output->prefix ? output->prefix : f_string_empty_s, is_entry ? controller_string_entry_s : controller_string_exit_s);
- fl_print_string("%[%Q%]", output->to.stream, output->notable, cache->action.name_action, output->notable);
+ fl_print_format("%c%[%SThe %s item action '%]", output->to.stream, f_string_eol_s[0], output->prefix ? output->prefix : f_string_empty_s, is_entry ? controller_string_entry_s : controller_string_exit_s);
+ fl_print_format("%[%Q%]", output->to.stream, output->notable, cache->action.name_action, output->notable);
if (entry_action->parameters.used) {
- fl_print_string(" %[%S%]", output->to.stream, output->notable, entry_actions->array[cache->ats.array[at_j]], output->notable);
+ fl_print_format(" %[%S%]", output->to.stream, output->notable, entry_actions->array[cache->ats.array[at_j]], output->notable);
}
- fl_print_string(" %[is in a%] %[failed%]", output->to.stream, output->context, output->context, output->notable, output->notable);
- fl_print_string(" %[state, skipping.%]%c", output->to.stream, output->context, output->context, f_string_eol_s[0]);
+ fl_print_format(" %[is in a%] %[failed%]", output->to.stream, output->context, output->context, output->notable, output->notable);
+ fl_print_format(" %[state, skipping.%]%c", output->to.stream, output->context, output->context, f_string_eol_s[0]);
controller_entry_error_print_cache(is_entry, *output, cache->action);
flockfile(global->main->output.stream);
- fl_print_string("%cWaiting before processing %s item action '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
- fl_print_string("%[%s%]", global->main->output.stream, global->main->context.set.title, controller_string_ready_s, global->main->context.set.title);
- fl_print_string("'.%c", global->main->output.stream, f_string_eol_s[0]);
+ fl_print_format("%cWaiting before processing %s item action '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
+ fl_print_format("%[%s%]", global->main->output.stream, global->main->context.set.title, controller_string_ready_s, global->main->context.set.title);
+ fl_print_format("'.%c", global->main->output.stream, f_string_eol_s[0]);
funlockfile(global->main->output.stream);
flockfile(global->main->output.stream);
- fl_print_string("%cWaiting before processing %s item action '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
- fl_print_string("%[%s%]", global->main->output.stream, global->main->context.set.title, controller_string_ready_s, global->main->context.set.title);
- fl_print_string("'.%c", global->main->output.stream, f_string_eol_s[0]);
+ fl_print_format("%cWaiting before processing %s item action '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
+ fl_print_format("%[%s%]", global->main->output.stream, global->main->context.set.title, controller_string_ready_s, global->main->context.set.title);
+ fl_print_format("'.%c", global->main->output.stream, f_string_eol_s[0]);
funlockfile(global->main->output.stream);
flockfile(global->main->output.stream);
- fl_print_string("%cIgnoring %s item action '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
- fl_print_string("%[%s%]", global->main->output.stream, global->main->context.set.title, controller_string_ready_s, global->main->context.set.title);
- fl_print_string("', state already is ready.%c", global->main->output.stream, f_string_eol_s[0]);
+ fl_print_format("%cIgnoring %s item action '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
+ fl_print_format("%[%s%]", global->main->output.stream, global->main->context.set.title, controller_string_ready_s, global->main->context.set.title);
+ fl_print_format("', state already is ready.%c", global->main->output.stream, f_string_eol_s[0]);
funlockfile(global->main->output.stream);
flockfile(global->main->error.to.stream);
- fl_print_string("%c%[Invalid %s item index '%]", global->main->error.to.stream, f_string_eol_s[0], global->main->error.context, is_entry ? controller_string_entry_s : controller_string_exit_s, global->main->error.context);
- fl_print_string("%[%ul%]", global->main->error.to.stream, global->main->error.notable, entry_action->number, global->main->error.notable);
- fl_print_string("%[' detected.%]%c", global->main->error.to.stream, global->main->error.context, global->main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[Invalid %s item index '%]", global->main->error.to.stream, f_string_eol_s[0], global->main->error.context, is_entry ? controller_string_entry_s : controller_string_exit_s, global->main->error.context);
+ fl_print_format("%[%un%]", global->main->error.to.stream, global->main->error.notable, entry_action->number, global->main->error.notable);
+ fl_print_format("%[' detected.%]%c", global->main->error.to.stream, global->main->error.context, global->main->error.context, f_string_eol_s[0]);
controller_entry_error_print_cache(is_entry, global->main->error, cache->action);
flockfile(global->main->output.stream);
- fl_print_string("%cProcessing %s item '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
- fl_print_string("%[%Q%]", global->main->output.stream, global->main->context.set.title, cache->action.name_item, global->main->context.set.title);
- fl_print_string("'.%c", global->main->output.stream, f_string_eol_s[0]);
+ fl_print_format("%cProcessing %s item '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
+ fl_print_format("%[%Q%]", global->main->output.stream, global->main->context.set.title, cache->action.name_item, global->main->context.set.title);
+ fl_print_format("'.%c", global->main->output.stream, f_string_eol_s[0]);
funlockfile(global->main->output.stream);
flockfile(global->main->output.stream);
- fl_print_string("%c%s %s item rule '", global->main->output.stream, f_string_eol_s[0], entry_action->type == controller_entry_action_type_consider ? "Considering" : "Processing", is_entry ? controller_string_entry_s : controller_string_exit_s);
- fl_print_string("%[%Q%]", global->main->output.stream, global->main->context.set.title, alias_rule, global->main->context.set.title);
- fl_print_string("'.%c", global->main->output.stream, f_string_eol_s[0]);
+ fl_print_format("%c%s %s item rule '", global->main->output.stream, f_string_eol_s[0], entry_action->type == controller_entry_action_type_consider ? "Considering" : "Processing", is_entry ? controller_string_entry_s : controller_string_exit_s);
+ fl_print_format("%[%Q%]", global->main->output.stream, global->main->context.set.title, alias_rule, global->main->context.set.title);
+ fl_print_format("'.%c", global->main->output.stream, f_string_eol_s[0]);
funlockfile(global->main->output.stream);
flockfile(global->main->output.stream);
- fl_print_string("%c%s is executing '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
+ fl_print_format("%c%s is executing '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
for (f_array_length_t k = 0; k < entry_action->parameters.used; ++k) {
- fl_print_string("%[%Q%]", global->main->output.stream, global->main->context.set.title, entry_action->parameters.array[k], global->main->context.set.title);
+ fl_print_format("%[%Q%]", global->main->output.stream, global->main->context.set.title, entry_action->parameters.array[k], global->main->context.set.title);
if (k + 1 < entry_action->parameters.used) {
f_print_character(f_string_space_s[0], global->main->output.stream);
}
} // for
- fl_print_string("'.%c", global->main->output.stream, f_string_eol_s[0]);
+ fl_print_format("'.%c", global->main->output.stream, f_string_eol_s[0]);
funlockfile(global->main->output.stream);
flockfile(global->main->error.to.stream);
- fl_print_string("%c%[%SExecution failed, unable to find program or script '%]", global->main->error.to.stream, f_string_eol_s[0], global->main->error.context, global->main->error.prefix ? global->main->error.prefix : f_string_empty_s, global->main->error.context);
- fl_print_string("%[%Q%]", global->main->error.to.stream, global->main->error.notable, entry_action->parameters.array[0], global->main->error.notable);
- fl_print_string("$['.%]%c", global->main->error.to.stream, global->main->error.context, global->main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SExecution failed, unable to find program or script '%]", global->main->error.to.stream, f_string_eol_s[0], global->main->error.context, global->main->error.prefix ? global->main->error.prefix : f_string_empty_s, global->main->error.context);
+ fl_print_format("%[%Q%]", global->main->error.to.stream, global->main->error.notable, entry_action->parameters.array[0], global->main->error.notable);
+ fl_print_format("$['.%]%c", global->main->error.to.stream, global->main->error.context, global->main->error.context, f_string_eol_s[0]);
controller_entry_error_print_cache(is_entry, global->main->error, cache->action);
flockfile(global->main->error.to.stream);
- fl_print_string("%c%[%SExecution failed with return value of '%]", global->main->error.to.stream, f_string_eol_s[0], global->main->error.context, global->main->error.prefix ? global->main->error.prefix : f_string_empty_s, global->main->error.context);
- fl_print_string("%[%i%]", global->main->error.to.stream, global->main->error.notable, result, global->main->error.notable);
- fl_print_string("$['.%]%c", global->main->error.to.stream, global->main->error.context, global->main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SExecution failed with return value of '%]", global->main->error.to.stream, f_string_eol_s[0], global->main->error.context, global->main->error.prefix ? global->main->error.prefix : f_string_empty_s, global->main->error.context);
+ fl_print_format("%[%i%]", global->main->error.to.stream, global->main->error.notable, result, global->main->error.notable);
+ fl_print_format("$['.%]%c", global->main->error.to.stream, global->main->error.context, global->main->error.context, f_string_eol_s[0]);
controller_entry_error_print_cache(is_entry, global->main->error, cache->action);
flockfile(global->main->output.stream);
- fl_print_string("%cProcessing %s item action '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
- fl_print_string("%[%s%]' setting '", global->main->output.stream, global->main->context.set.title, controller_string_timeout_s, global->main->context.set.title);
- fl_print_string("%[%S%]' to '", global->main->output.stream, global->main->context.set.important, code, global->main->context.set.important);
- fl_print_string("%[%ul%]' MegaTime (milliseconds).%c", global->main->output.stream, global->main->context.set.important, entry_action->number, global->main->context.set.important, f_string_eol_s[0]);
+ fl_print_format("%cProcessing %s item action '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
+ fl_print_format("%[%s%]' setting '", global->main->output.stream, global->main->context.set.title, controller_string_timeout_s, global->main->context.set.title);
+ fl_print_format("%[%S%]' to '", global->main->output.stream, global->main->context.set.important, code, global->main->context.set.important);
+ fl_print_format("%[%un%]' MegaTime (milliseconds).%c", global->main->output.stream, global->main->context.set.important, entry_action->number, global->main->context.set.important, f_string_eol_s[0]);
funlockfile(global->main->output.stream);
flockfile(global->main->error.to.stream);
- fl_print_string("%c%[%SFailsafe may not be specified when running in failsafe, ignoring.%]%c", global->main->warning.to.stream, f_string_eol_s[0], global->main->warning.context, global->main->warning.prefix ? global->main->warning.prefix : f_string_empty_s, global->main->warning.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SFailsafe may not be specified when running in failsafe, ignoring.%]%c", global->main->warning.to.stream, f_string_eol_s[0], global->main->warning.context, global->main->warning.prefix ? global->main->warning.prefix : f_string_empty_s, global->main->warning.context, f_string_eol_s[0]);
controller_entry_error_print_cache(is_entry, global->main->warning, cache->action);
flockfile(global->main->error.to.stream);
- fl_print_string("%c%[%SInvalid %s item index '%]", global->main->error.to.stream, f_string_eol_s[0], global->main->error.context, global->main->error.prefix ? global->main->error.prefix : f_string_empty_s, is_entry ? controller_string_entry_s : controller_string_exit_s, global->main->error.context);
- fl_print_string("%[%ul%]", global->main->error.to.stream, global->main->error.notable, entry_action->number, global->main->error.notable);
- fl_print_string("%[' detected.%]%c", global->main->error.to.stream, global->main->error.context, global->main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SInvalid %s item index '%]", global->main->error.to.stream, f_string_eol_s[0], global->main->error.context, global->main->error.prefix ? global->main->error.prefix : f_string_empty_s, is_entry ? controller_string_entry_s : controller_string_exit_s, global->main->error.context);
+ fl_print_format("%[%un%]", global->main->error.to.stream, global->main->error.notable, entry_action->number, global->main->error.notable);
+ fl_print_format("%[' detected.%]%c", global->main->error.to.stream, global->main->error.context, global->main->error.context, f_string_eol_s[0]);
controller_entry_error_print_cache(is_entry, global->main->error, cache->action);
flockfile(global->main->output.stream);
- fl_print_string("%cProcessing %s item action '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
- fl_print_string("%[%s%]' setting value to '", global->main->output.stream, global->main->context.set.title, controller_string_failsafe_s, global->main->context.set.title);
- fl_print_string("%[%Q%]", global->main->output.stream, global->main->context.set.important, entry->items.array[global->setting->failsafe_item_id].name, global->main->context.set.important);
- fl_print_string("'.%c", global->main->output.stream, f_string_eol_s[0]);
+ fl_print_format("%cProcessing %s item action '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
+ fl_print_format("%[%s%]' setting value to '", global->main->output.stream, global->main->context.set.title, controller_string_failsafe_s, global->main->context.set.title);
+ fl_print_format("%[%Q%]", global->main->output.stream, global->main->context.set.important, entry->items.array[global->setting->failsafe_item_id].name, global->main->context.set.important);
+ fl_print_format("'.%c", global->main->output.stream, f_string_eol_s[0]);
funlockfile(global->main->output.stream);
flockfile(global->main->output.stream);
- fl_print_string("%cDone processing %s item '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
- fl_print_string("%[%s%]", global->main->output.stream, global->main->context.set.title, controller_string_main_s, global->main->context.set.title);
- fl_print_string("'.%c", global->main->output.stream, f_string_eol_s[0]);
+ fl_print_format("%cDone processing %s item '", global->main->output.stream, f_string_eol_s[0], is_entry ? controller_string_entry_s : controller_string_exit_s);
+ fl_print_format("%[%s%]", global->main->output.stream, global->main->context.set.title, controller_string_main_s, global->main->context.set.title);
+ fl_print_format("'.%c", global->main->output.stream, f_string_eol_s[0]);
// failsafe should not print the extra newline because the failure exit from controller_main should handle this.
if (!failsafe) {
if (global.main->warning.verbosity == f_console_verbosity_debug) {
flockfile(global.main->warning.to.stream);
- fl_print_string("%c%[%SUnknown %s item action '%]", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->warning.context);
- fl_print_string("%[%S%]'", global.main->warning.to.stream, global.main->warning.notable, cache->action.name_action, global.main->warning.notable);
- fl_print_string("%['.%]%c", global.main->warning.to.stream, global.main->warning.context, global.main->warning.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnknown %s item action '%]", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->warning.context);
+ fl_print_format("%[%S%]'", global.main->warning.to.stream, global.main->warning.notable, cache->action.name_action, global.main->warning.notable);
+ fl_print_format("%['.%]%c", global.main->warning.to.stream, global.main->warning.context, global.main->warning.context, f_string_eol_s[0]);
controller_entry_error_print_cache(is_entry, global.main->warning, cache->action);
if (global.main->error.verbosity != f_console_verbosity_quiet) {
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SThe %s item action '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.context, cache->action.name_action, global.main->error.context);
- fl_print_string("%[' requires ", global.main->error.to.stream, global.main->error.context);
+ fl_print_format("%c%[%SThe %s item action '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.context, cache->action.name_action, global.main->error.context);
+ fl_print_format("%[' requires ", global.main->error.to.stream, global.main->error.context);
if (at_least == at_most) {
f_print_terminated("exactly ", global.main->error.to.stream);
}
- fl_print_string("%]%[%ul%]", global.main->error.to.stream, global.main->error.context, global.main->error.notable, at_least, global.main->error.notable);
+ fl_print_format("%]%[%un%]", global.main->error.to.stream, global.main->error.context, global.main->error.notable, at_least, global.main->error.notable);
if (action->type == controller_entry_action_type_consider || controller_entry_action_type_is_rule(action->type)) {
- fl_print_string("%[' or more parameters.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%[' or more parameters.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
}
else {
if (at_least == at_most) {
- fl_print_string("%[' parameters.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%[' parameters.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
}
else {
- fl_print_string("%[ to %]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
- fl_print_string("%[%ul%]", global.main->error.to.stream, global.main->error.notable, at_most, global.main->error.notable);
- fl_print_string("%[' parameters.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%[ to %]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
+ fl_print_format("%[%un%]", global.main->error.to.stream, global.main->error.notable, at_most, global.main->error.notable);
+ fl_print_format("%[' parameters.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
}
}
}
if (global.main->error.verbosity != f_console_verbosity_quiet) {
- fll_print_string("%c%[%SThe %s item action must not have an empty string for a path (the first parameter).%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context, f_string_eol_s[0]);
+ fll_print_format("%c%[%SThe %s item action must not have an empty string for a path (the first parameter).%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context, f_string_eol_s[0]);
}
}
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SThe %s item action second parameter '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.notable, action->parameters.array[1], global.main->error.notable);
- fl_print_string("%[' must be a base path name, such as '%]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_path, global.main->error.notable);
- fl_print_string("%['.%]", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe %s item action second parameter '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.notable, action->parameters.array[1], global.main->error.notable);
+ fl_print_format("%[' must be a base path name, such as '%]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_path, global.main->error.notable);
+ fl_print_format("%['.%]", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
}
}
if (global.main->error.verbosity != f_console_verbosity_quiet) {
- fll_print_string("%c%[%SThe %s item action must not have an empty string for a rule name (the second parameter).%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context, f_string_eol_s[0]);
+ fll_print_format("%c%[%SThe %s item action must not have an empty string for a rule name (the second parameter).%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context, f_string_eol_s[0]);
}
}
if (global.main->error.verbosity != f_console_verbosity_quiet) {
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SThe %s item action third parameter (and beyond) must be one of '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
- fl_print_string("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_asynchronous_s, global.main->error.notable);
- fl_print_string("%[', '%]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
- fl_print_string("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_require_s, global.main->error.notable);
- fl_print_string("%[', or '%]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
- fl_print_string("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_wait_s, global.main->error.notable);
- fl_print_string("%[' but instead has '%]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.notable, action->parameters.array[j], global.main->error.notable);
- fl_print_string("%['.%]", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe %s item action third parameter (and beyond) must be one of '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
+ fl_print_format("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_asynchronous_s, global.main->error.notable);
+ fl_print_format("%[', '%]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
+ fl_print_format("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_require_s, global.main->error.notable);
+ fl_print_format("%[', or '%]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
+ fl_print_format("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_wait_s, global.main->error.notable);
+ fl_print_format("%[' but instead has '%]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.notable, action->parameters.array[j], global.main->error.notable);
+ fl_print_format("%['.%]", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
}
if (global.main->error.verbosity != f_console_verbosity_quiet) {
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SThe %s item action may not specify the reserved item '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
- fl_print_string("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_main_s, global.main->error.notable);
- fl_print_string("%['.%]", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe %s item action may not specify the reserved item '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
+ fl_print_format("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_main_s, global.main->error.notable);
+ fl_print_format("%['.%]", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
}
if (global.main->error.verbosity != f_console_verbosity_quiet) {
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SThe %s item action must have one of '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
- fl_print_string("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_kill_s, global.main->error.notable);
- fl_print_string("%[', '%]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
- fl_print_string("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_start_s, global.main->error.notable);
- fl_print_string("%[', or '%]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
- fl_print_string("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_stop_s, global.main->error.notable);
- fl_print_string("%[' but instead has '%]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.notable, action->parameters.array[0], global.main->error.notable);
- fl_print_string("%['.%]", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe %s item action must have one of '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
+ fl_print_format("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_kill_s, global.main->error.notable);
+ fl_print_format("%[', '%]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
+ fl_print_format("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_start_s, global.main->error.notable);
+ fl_print_format("%[', or '%]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
+ fl_print_format("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_stop_s, global.main->error.notable);
+ fl_print_format("%[' but instead has '%]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.notable, action->parameters.array[0], global.main->error.notable);
+ fl_print_format("%['.%]", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
}
if (global.main->error.verbosity != f_console_verbosity_quiet) {
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SThe %s item action parameter '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.notable, action->parameters.array[1], global.main->error.notable);
- fl_print_string("%[' is not a valid supported number.%]", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe %s item action parameter '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.notable, action->parameters.array[1], global.main->error.notable);
+ fl_print_format("%[' is not a valid supported number.%]", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
}
if (global.main->error.verbosity != f_console_verbosity_quiet) {
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SThe %s item action may only have '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
- fl_print_string("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_wait_s, global.main->error.notable);
- fl_print_string("%[' but instead has '%]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.notable, action->parameters.array[0], global.main->error.notable);
- fl_print_string("%['.%]", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe %s item action may only have '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
+ fl_print_format("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_wait_s, global.main->error.notable);
+ fl_print_format("%[' but instead has '%]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.notable, action->parameters.array[0], global.main->error.notable);
+ fl_print_format("%['.%]", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
}
#ifndef _di_controller_entry_error_print_cache_
void controller_entry_error_print_cache(const bool is_entry, const fll_error_print_t output, const controller_cache_action_t cache) {
- fl_print_string("%c%[%SWhile processing ", output.to.stream, f_string_eol_s[0], output.context, output.prefix);
+ fl_print_format("%c%[%SWhile processing ", output.to.stream, f_string_eol_s[0], output.context, output.prefix);
if (cache.name_action.used) {
- fl_print_string("action '%]", output.to.stream, output.context);
- fl_print_string("%[%Q%]", output.to.stream, output.context, cache.name_action, output.context);
- fl_print_string("%[' on line%] ", output.to.stream, output.context, output.context);
- fl_print_string("%[%ul%]", output.to.stream, output.notable, cache.line_action, output.notable);
- fl_print_string("%[ for ", output.to.stream, output.context);
+ fl_print_format("action '%]", output.to.stream, output.context);
+ fl_print_format("%[%Q%]", output.to.stream, output.context, cache.name_action, output.context);
+ fl_print_format("%[' on line%] ", output.to.stream, output.context, output.context);
+ fl_print_format("%[%un%]", output.to.stream, output.notable, cache.line_action, output.notable);
+ fl_print_format("%[ for ", output.to.stream, output.context);
}
if (cache.name_item.used) {
- fl_print_string("%s item '%]", output.to.stream, is_entry ? controller_string_entry_s : controller_string_exit_s, output.context);
- fl_print_string("%[%Q%]", output.to.stream, output.notable, cache.name_item, output.notable);
- fl_print_string("%[' on line%] ", output.to.stream, output.context, output.context);
- fl_print_string("%[%ul%]", output.to.stream, output.notable, cache.line_item, output.notable);
- fl_print_string("%[ for ", output.to.stream, output.context);
+ fl_print_format("%s item '%]", output.to.stream, is_entry ? controller_string_entry_s : controller_string_exit_s, output.context);
+ fl_print_format("%[%Q%]", output.to.stream, output.notable, cache.name_item, output.notable);
+ fl_print_format("%[' on line%] ", output.to.stream, output.context, output.context);
+ fl_print_format("%[%un%]", output.to.stream, output.notable, cache.line_item, output.notable);
+ fl_print_format("%[ for ", output.to.stream, output.context);
}
if (cache.name_file.used) {
- fl_print_string("%s file '%]", output.to.stream, is_entry ? controller_string_entry_s : controller_string_exit_s, output.context);
- fl_print_string("%[%Q%]%['", output.to.stream, output.notable, cache.name_file, output.notable, output.context);
+ fl_print_format("%s file '%]", output.to.stream, is_entry ? controller_string_entry_s : controller_string_exit_s, output.context);
+ fl_print_format("%[%Q%]%['", output.to.stream, output.notable, cache.name_file, output.notable, output.context);
}
- fl_print_string(".%]%c", output.to.stream, output.context, f_string_eol_s[0]);
+ fl_print_format(".%]%c", output.to.stream, output.context, f_string_eol_s[0]);
}
#endif // _di_controller_entry_error_print_cache_
if (global.main->error.verbosity != f_console_verbosity_quiet) {
f_thread_mutex_lock(&global.thread->lock.print);
- fll_print_string("%c%[%SThe %s file is empty.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context, f_string_eol_s[0]);
+ fll_print_format("%c%[%SThe %s file is empty.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context, f_string_eol_s[0]);
controller_print_unlock_flush(global.main->error.to.stream, &global.thread->lock.print);
}
flockfile(global.main->warning.to.stream);
- fl_print_string("%c%[%SIgnoring duplicate %s item '%]", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->warning.context);
- fl_print_string("%[%Q%]", global.main->warning.to.stream, global.main->warning.notable, cache->action.name_file, global.main->warning.notable);
- fl_print_string("%['.%]%c", global.main->warning.to.stream, global.main->warning.context, global.main->warning.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SIgnoring duplicate %s item '%]", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->warning.context);
+ fl_print_format("%[%Q%]", global.main->warning.to.stream, global.main->warning.notable, cache->action.name_file, global.main->warning.notable);
+ fl_print_format("%['.%]%c", global.main->warning.to.stream, global.main->warning.context, global.main->warning.context, f_string_eol_s[0]);
controller_entry_error_print_cache(is_entry, global.main->warning, cache->action);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SThe required %s item '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
- fl_print_string("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_main_s, global.main->error.notable);
- fl_print_string("%[' was not found.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe required %s item '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
+ fl_print_format("%[%s%]", global.main->error.to.stream, global.main->error.notable, controller_string_main_s, global.main->error.notable);
+ fl_print_format("%[' was not found.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SThe required %s item '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.notable, action->parameters.array[0], global.main->error.notable);
- fl_print_string("%[' does not exist.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe required %s item '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.notable, action->parameters.array[0], global.main->error.notable);
+ fl_print_format("%[' does not exist.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
controller_entry_error_print_cache(is_entry, global.main->error, cache->action);
if (global.main->error.verbosity != f_console_verbosity_quiet) {
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SThe %s item setting '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.notable, cache->action.name_action, global.main->error.notable);
- fl_print_string("%[' requires exactly %]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
- fl_print_string("%[1%]", global.main->error.to.stream, global.main->error.notable, global.main->error.notable);
- fl_print_string("%[' parameter.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe %s item setting '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.notable, cache->action.name_action, global.main->error.notable);
+ fl_print_format("%[' requires exactly %]", global.main->error.to.stream, global.main->error.context, global.main->error.context);
+ fl_print_format("%[1%]", global.main->error.to.stream, global.main->error.notable, global.main->error.notable);
+ fl_print_format("%[' parameter.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
}
if (global.main->warning.verbosity == f_console_verbosity_debug) {
flockfile(global.main->warning.to.stream);
- fl_print_string("%c%[%Sfor %s item setting '%]", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->warning.context);
- fl_print_string("%[%Q%]", global.main->warning.to.stream, global.main->warning.notable, cache->action.name_action, global.main->warning.notable);
- fl_print_string("%['.%]%c", global.main->warning.to.stream, global.main->warning.context, global.main->warning.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%Sfor %s item setting '%]", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->warning.context);
+ fl_print_format("%[%Q%]", global.main->warning.to.stream, global.main->warning.notable, cache->action.name_action, global.main->warning.notable);
+ fl_print_format("%['.%]%c", global.main->warning.to.stream, global.main->warning.context, global.main->warning.context, f_string_eol_s[0]);
funlockfile(global.main->warning.to.stream);
if (global.main->warning.verbosity == f_console_verbosity_debug) {
flockfile(global.main->warning.to.stream);
- fl_print_string("%c%[%SUnknown %s item setting '%]", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->warning.context);
- fl_print_string("%[%Q%]", global.main->warning.to.stream, global.main->warning.notable, cache->action.name_action, global.main->warning.notable);
- fl_print_string("%['.%]%c", global.main->warning.to.stream, global.main->warning.context, global.main->warning.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnknown %s item setting '%]", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, is_entry ? controller_string_entry_s : controller_string_exit_s, global.main->warning.context);
+ fl_print_format("%[%Q%]", global.main->warning.to.stream, global.main->warning.notable, cache->action.name_action, global.main->warning.notable);
+ fl_print_format("%['.%]%c", global.main->warning.to.stream, global.main->warning.context, global.main->warning.context, f_string_eol_s[0]);
funlockfile(global.main->warning.to.stream);
flockfile(global.main->warning.to.stream);
- fl_print_string("%c%[%SAction is empty, nothing to do.%]%c", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, global.main->warning.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SAction is empty, nothing to do.%]%c", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, global.main->warning.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->warning, cache->action, F_true);
void controller_rule_error_print_cache(const fll_error_print_t output, const controller_cache_action_t cache, const bool item) {
if (output.verbosity != f_console_verbosity_quiet) {
- fl_print_string("%c%[%SWhile processing ", output.to.stream, f_string_eol_s[0], output.context, output.prefix);
+ fl_print_format("%c%[%SWhile processing ", output.to.stream, f_string_eol_s[0], output.context, output.prefix);
if (cache.name_action.used) {
- fl_print_string("%s '%]", output.to.stream, output.context, item ? controller_string_action_s : controller_string_value_s, output.context);
- fl_print_string("%[%Q%]", output.to.stream, output.notable, cache.name_action, output.notable);
- fl_print_string("%[ on line %]", output.to.stream, output.context, output.context);
- fl_print_string("%[%ul%]", output.to.stream, output.notable, cache.line_action, output.notable);
- fl_print_string("%[ for ", output.to.stream, output.context);
+ fl_print_format("%s '%]", output.to.stream, output.context, item ? controller_string_action_s : controller_string_value_s, output.context);
+ fl_print_format("%[%Q%]", output.to.stream, output.notable, cache.name_action, output.notable);
+ fl_print_format("%[ on line %]", output.to.stream, output.context, output.context);
+ fl_print_format("%[%un%]", output.to.stream, output.notable, cache.line_action, output.notable);
+ fl_print_format("%[ for ", output.to.stream, output.context);
}
if (cache.name_item.used) {
- fl_print_string("rule %s '%]", output.to.stream, output.context, item ? controller_string_item_s : controller_string_setting_s, output.context);
- fl_print_string("%[%Q%]", output.to.stream, output.notable, cache.name_item, output.notable);
- fl_print_string("%[ on line %]", output.to.stream, output.context, output.context);
- fl_print_string("%[%ul%]", output.to.stream, output.notable, cache.line_item, output.notable);
- fl_print_string("%[ for ", output.to.stream, output.context);
+ fl_print_format("rule %s '%]", output.to.stream, output.context, item ? controller_string_item_s : controller_string_setting_s, output.context);
+ fl_print_format("%[%Q%]", output.to.stream, output.notable, cache.name_item, output.notable);
+ fl_print_format("%[ on line %]", output.to.stream, output.context, output.context);
+ fl_print_format("%[%un%]", output.to.stream, output.notable, cache.line_item, output.notable);
+ fl_print_format("%[ for ", output.to.stream, output.context);
}
if (cache.name_file.used) {
- fl_print_string("rule file '%]%[%Q%]%['", output.to.stream, output.context, output.notable, cache.name_file, output.notable, output.context);
+ fl_print_format("rule file '%]%[%Q%]%['", output.to.stream, output.context, output.notable, cache.name_file, output.notable, output.context);
}
- fl_print_string(".%]%c", output.to.stream, output.context, f_string_eol_s[0]);
+ fl_print_format(".%]%c", output.to.stream, output.context, f_string_eol_s[0]);
}
}
#endif // _di_controller_rule_error_print_cache_
if (output.verbosity != f_console_verbosity_quiet) {
flockfile(output.to.stream);
- fl_print_string("%c%[%SThe %s '%]", output.to.stream, f_string_eol_s[0], output.context, output.prefix, script_is ? controller_string_script_s : controller_string_program_s, output.context);
- fl_print_string("%[%S%]", output.to.stream, output.notable, name, output.notable);
+ fl_print_format("%c%[%SThe %s '%]", output.to.stream, f_string_eol_s[0], output.context, output.prefix, script_is ? controller_string_script_s : controller_string_program_s, output.context);
+ fl_print_format("%[%S%]", output.to.stream, output.notable, name, output.notable);
if (status == F_control_group || status == F_limit || status == F_processor || status == F_schedule) {
- fl_print_string("%[' failed due to a failure to setup the '%]", output.to.stream, output.context, output.context);
+ fl_print_format("%[' failed due to a failure to setup the '%]", output.to.stream, output.context, output.context);
fl_print_color_before(output.notable, output.to.stream);
if (status == F_control_group) {
}
fl_print_color_after(output.notable, output.to.stream);
- fl_print_string("%['.%]%c", output.to.stream, output.context, output.context, f_string_eol_s[0]);
+ fl_print_format("%['.%]%c", output.to.stream, output.context, output.context, f_string_eol_s[0]);
}
else if (code) {
- fl_print_string("%[' failed with the exit code '%]", output.to.stream, output.context, output.context);
- fl_print_string("%[%i%]", output.to.stream, output.notable, code, output.notable);
- fl_print_string("%['.%]%c", output.to.stream, output.context, output.context, f_string_eol_s[0]);
+ fl_print_format("%[' failed with the exit code '%]", output.to.stream, output.context, output.context);
+ fl_print_format("%[%i%]", output.to.stream, output.notable, code, output.notable);
+ fl_print_format("%['.%]%c", output.to.stream, output.context, output.context, f_string_eol_s[0]);
}
else {
- fl_print_string("%[' failed.%]%c", output.to.stream, output.context, output.context, f_string_eol_s[0]);
+ fl_print_format("%[' failed.%]%c", output.to.stream, output.context, output.context, f_string_eol_s[0]);
}
funlockfile(output.to.stream);
if (output.verbosity != f_console_verbosity_quiet) {
flockfile(output.to.stream);
- fl_print_string("%c%[%SThe %s '%]", output.to.stream, f_string_eol_s[0], output.context, output.prefix, script_is ? controller_string_script_s : controller_string_program_s, output.context);
- fl_print_string("%[%S%]", output.to.stream, output.notable, name, output.notable);
- fl_print_string("%[' could not be executed because it was not found.%]%c", output.to.stream, output.context, output.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe %s '%]", output.to.stream, f_string_eol_s[0], output.context, output.prefix, script_is ? controller_string_script_s : controller_string_program_s, output.context);
+ fl_print_format("%[%S%]", output.to.stream, output.notable, name, output.notable);
+ fl_print_format("%[' could not be executed because it was not found.%]%c", output.to.stream, output.context, output.context, f_string_eol_s[0]);
funlockfile(output.to.stream);
}
if (output.verbosity != f_console_verbosity_quiet) {
flockfile(output.to.stream);
- fl_print_string("%c%[%SThe %s rule '%]", output.to.stream, f_string_eol_s[0], output.context, output.prefix, need_want_wish, output.context);
- fl_print_string("%[%S%]", output.to.stream, output.notable, value, output.notable);
- fl_print_string("%[' %S.%]%c", output.to.stream, output.context, why, output.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe %s rule '%]", output.to.stream, f_string_eol_s[0], output.context, output.prefix, need_want_wish, output.context);
+ fl_print_format("%[%S%]", output.to.stream, output.notable, value, output.notable);
+ fl_print_format("%[' %S.%]%c", output.to.stream, output.context, why, output.context, f_string_eol_s[0]);
funlockfile(output.to.stream);
}
if (output.verbosity != f_console_verbosity_quiet) {
flockfile(output.to.stream);
- fl_print_string("%c%[%SThe rule '%]", output.to.stream, f_string_eol_s[0], output.context, output.prefix, output.context);
- fl_print_string("%[%S%]", output.to.stream, output.notable, alias, output.notable);
- fl_print_string("%[' is no longer loaded.%]%c", output.to.stream, output.context, output.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe rule '%]", output.to.stream, f_string_eol_s[0], output.context, output.prefix, output.context);
+ fl_print_format("%[%S%]", output.to.stream, output.notable, alias, output.notable);
+ fl_print_format("%[' is no longer loaded.%]%c", output.to.stream, output.context, output.context, f_string_eol_s[0]);
funlockfile(output.to.stream);
}
if (output.verbosity != f_console_verbosity_quiet) {
flockfile(output.to.stream);
- fl_print_string("%c%[%SThe rule '%]", output.to.stream, f_string_eol_s[0], output.context, output.prefix, output.context);
- fl_print_string("%[%S%]", output.to.stream, output.notable, alias, output.notable);
- fl_print_string("%[' is not designating a pid file.%]%c", output.to.stream, output.context, output.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe rule '%]", output.to.stream, f_string_eol_s[0], output.context, output.prefix, output.context);
+ fl_print_format("%[%S%]", output.to.stream, output.notable, alias, output.notable);
+ fl_print_format("%[' is not designating a pid file.%]%c", output.to.stream, output.context, output.context, f_string_eol_s[0]);
funlockfile(output.to.stream);
}
flockfile(global.main->warning.to.stream);
- fl_print_string("%c%[%SAction type is unknown, ignoring.%]%c", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, global.main->warning.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SAction type is unknown, ignoring.%]%c", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, global.main->warning.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->warning, process->cache.action, F_true);
flockfile(global.main->output.stream);
- fl_print_string("%cSimulating execution of '%[", global.main->output.stream, f_string_eol_s[0], global.main->context.set.title);
+ fl_print_format("%cSimulating execution of '%[", global.main->output.stream, f_string_eol_s[0], global.main->context.set.title);
if (program) {
f_print_safely_terminated(program, global.main->output.stream);
f_print_dynamic_safely(arguments.array[0], global.main->output.stream);
}
- fl_print_string("%]' with the arguments: '%[", global.main->output.stream, global.main->context.set.title, global.main->context.set.important);
+ fl_print_format("%]' with the arguments: '%[", global.main->output.stream, global.main->context.set.title, global.main->context.set.important);
for (f_array_length_t i = program ? 0 : 1; i < arguments.used; ++i) {
f_print_dynamic_safely(arguments.array[i], global.main->output.stream);
} // for
- fl_print_string("%]' from '", global.main->output.stream, global.main->context.set.important);
- fl_print_string("%[%Q%]'.%c", global.main->output.stream, global.main->context.set.notable, process->rule.name, global.main->context.set.notable, f_string_eol_s[0]);
+ fl_print_format("%]' from '", global.main->output.stream, global.main->context.set.important);
+ fl_print_format("%[%Q%]'.%c", global.main->output.stream, global.main->context.set.notable, process->rule.name, global.main->context.set.notable, f_string_eol_s[0]);
funlockfile(global.main->output.stream);
flockfile(global.main->error.to.stream);
- fl_print_string("%cSimulating execution of '%[", global.main->error.to.stream, f_string_eol_s[0], global.main->context.set.title);
+ fl_print_format("%cSimulating execution of '%[", global.main->error.to.stream, f_string_eol_s[0], global.main->context.set.title);
if (program) {
f_print_safely_terminated(program, global.main->error.to.stream);
f_print_dynamic_safely(arguments.array[0], global.main->error.to.stream);
}
- fl_print_string("%]' with the arguments: '%[", global.main->error.to.stream, global.main->context.set.title, global.main->context.set.important);
+ fl_print_format("%]' with the arguments: '%[", global.main->error.to.stream, global.main->context.set.title, global.main->context.set.important);
for (f_array_length_t i = program ? 0 : 1; i < arguments.used; ++i) {
f_print_dynamic_safely(arguments.array[i], global.main->error.to.stream);
} // for
- fl_print_string("%]' from '", global.main->error.to.stream, global.main->context.set.important);
- fl_print_string("%[%Q%]'.%c", global.main->error.to.stream, global.main->context.set.notable, process->rule.name, global.main->context.set.notable, f_string_eol_s[0]);
+ fl_print_format("%]' from '", global.main->error.to.stream, global.main->context.set.important);
+ fl_print_format("%[%Q%]'.%c", global.main->error.to.stream, global.main->context.set.notable, process->rule.name, global.main->context.set.notable, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
flockfile(global.main->warning.to.stream);
- fl_print_string("%c%[%SUnknown rule item action '%]", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, global.main->warning.context);
- fl_print_string("%[%Q%]", global.main->warning.to.stream, global.main->warning.notable, cache->action.name_action, global.main->warning.notable);
- fl_print_string("%['.%]%c", global.main->warning.to.stream, global.main->warning.context, global.main->warning.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnknown rule item action '%]", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, global.main->warning.context);
+ fl_print_format("%[%Q%]", global.main->warning.to.stream, global.main->warning.notable, cache->action.name_action, global.main->warning.notable);
+ fl_print_format("%['.%]%c", global.main->warning.to.stream, global.main->warning.context, global.main->warning.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->warning, cache->action, F_true);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SFSS Extended List is not allowed for the rule item action '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.notable, cache->action.name_action, global.main->error.notable);
- fl_print_string("%['.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SFSS Extended List is not allowed for the rule item action '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.notable, cache->action.name_action, global.main->error.notable);
+ fl_print_format("%['.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SUnsupported action type '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%q%]", global.main->error.to.stream, global.main->error.notable, controller_rule_action_type_name(process->action), global.main->error.notable);
- fl_print_string("%[' while attempting to execute rule.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnsupported action type '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%q%]", global.main->error.to.stream, global.main->error.notable, controller_rule_action_type_name(process->action), global.main->error.notable);
+ fl_print_format("%[' while attempting to execute rule.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, process->cache.action, F_true);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SThe rule '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.notable, process->rule.name, global.main->error.notable);
- fl_print_string("%[' has no '%]", global.main->error.to.stream, global.main->error.context, process->rule.name, global.main->error.context);
- fl_print_string("%[%q%]", global.main->error.to.stream, global.main->error.notable, controller_rule_action_type_name(process->action), global.main->error.notable);
- fl_print_string("%[' action to execute.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe rule '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.notable, process->rule.name, global.main->error.notable);
+ fl_print_format("%[' has no '%]", global.main->error.to.stream, global.main->error.context, process->rule.name, global.main->error.context);
+ fl_print_format("%[%q%]", global.main->error.to.stream, global.main->error.notable, controller_rule_action_type_name(process->action), global.main->error.notable);
+ fl_print_format("%[' action to execute.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, process->cache.action, F_true);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SThe rule '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.notable, process->rule.alias, global.main->error.notable);
- fl_print_string("%[' is already on the execution dependency stack, this recursion is prohibited.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe rule '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.notable, process->rule.alias, global.main->error.notable);
+ fl_print_format("%[' is already on the execution dependency stack, this recursion is prohibited.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, process->cache.action, F_true);
flockfile(global.main->warning.to.stream);
- fl_print_string("%c%[%SUnknown rule item '%]", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, global.main->warning.context);
- fl_print_string("%[%Q%]", global.main->warning.to.stream, global.main->warning.notable, cache->action.name_item, global.main->warning.notable);
- fl_print_string("%['.%]%c", global.main->warning.to.stream, global.main->warning.context, global.main->warning.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnknown rule item '%]", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, global.main->warning.context);
+ fl_print_format("%[%Q%]", global.main->warning.to.stream, global.main->warning.notable, cache->action.name_item, global.main->warning.notable);
+ fl_print_format("%['.%]%c", global.main->warning.to.stream, global.main->warning.context, global.main->warning.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->warning, cache->action, F_true);
flockfile(global.main->warning.to.stream);
- fl_print_string("%c%[%SUnknown rule setting '%]", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, global.main->warning.context);
- fl_print_string("%[%Q%]", global.main->warning.to.stream, global.main->warning.notable, cache->action.name_item, global.main->warning.notable);
- fl_print_string("%['.%]%c", global.main->warning.to.stream, global.main->warning.context, global.main->warning.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnknown rule setting '%]", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, global.main->warning.context);
+ fl_print_format("%[%Q%]", global.main->warning.to.stream, global.main->warning.notable, cache->action.name_item, global.main->warning.notable);
+ fl_print_format("%['.%]%c", global.main->warning.to.stream, global.main->warning.context, global.main->warning.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->warning, cache->action, F_false);
flockfile(global.main->warning.to.stream);
- fl_print_string("%c%[%SEmpty rule setting.%]%c", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, global.main->warning.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SEmpty rule setting.%]%c", global.main->warning.to.stream, f_string_eol_s[0], global.main->warning.context, global.main->warning.prefix, global.main->warning.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->warning, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting requires one or more Content.%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting requires one or more Content.%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
if (status == F_number_overflow || status == F_number_underflow) {
- fl_print_string("%c%[%SRule setting has an unsupported number '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[j], global.main->error.notable);
- fl_print_string("%[', the number is too large for this system.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting has an unsupported number '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[j], global.main->error.notable);
+ fl_print_format("%[', the number is too large for this system.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
}
else {
- fl_print_string("%c%[%SRule setting has an invalid number '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[j], global.main->error.notable);
- fl_print_string("%[' only whole numbers are allowed for an affinity value.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting has an invalid number '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[j], global.main->error.notable);
+ fl_print_format("%[' only whole numbers are allowed for an affinity value.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
}
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting requires exactly two Content.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting requires exactly two Content.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting requires two or more Content.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting requires two or more Content.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
// get the current line number within the settings item.
cache->action.line_item = line_item;
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting has an unknown option '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[0], global.main->error.notable);
- fl_print_string("%['.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting has an unknown option '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[0], global.main->error.notable);
+ fl_print_format("%['.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting requires three Content.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting requires three Content.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SUnknown resource limit type '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.notable, cache->action.name_action, global.main->error.notable);
- fl_print_string("%['.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnknown resource limit type '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.notable, cache->action.name_action, global.main->error.notable);
+ fl_print_format("%['.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_true);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SThe resource limit type is already specified%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe resource limit type is already specified%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
if (status == F_number_overflow || status == F_number_underflow) {
- fl_print_string("%c%[%SRule setting has an unsupported number'%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%S%]", global.main->error.to.stream, global.main->error.notable, cache->content_actions.array[i].array[j], global.main->error.notable);
- fl_print_string("%[' the number is too large for this system.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting has an unsupported number'%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%S%]", global.main->error.to.stream, global.main->error.notable, cache->content_actions.array[i].array[j], global.main->error.notable);
+ fl_print_format("%[' the number is too large for this system.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
}
else {
- fl_print_string("%c%[%SRule setting has an invalid number'%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%S%]", global.main->error.to.stream, global.main->error.notable, cache->content_actions.array[i].array[j], global.main->error.notable);
- fl_print_string("%[' only whole numbers are allowed for a resource limit value.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting has an invalid number'%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%S%]", global.main->error.to.stream, global.main->error.notable, cache->content_actions.array[i].array[j], global.main->error.notable);
+ fl_print_format("%[' only whole numbers are allowed for a resource limit value.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
}
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting requires exactly one Content.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting requires exactly one Content.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting has an invalid name '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.notable, *setting_value, global.main->error.notable);
- fl_print_string("%[', there must be at least 1 graph character.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting has an invalid name '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.notable, *setting_value, global.main->error.notable);
+ fl_print_format("%[', there must be at least 1 graph character.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting requires either one or two Content.'%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting requires either one or two Content.'%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting has an unknown scheduler '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[0], global.main->error.notable);
- fl_print_string("%['.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting has an unknown scheduler '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[0], global.main->error.notable);
+ fl_print_format("%['.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting has an invalid number '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[1], global.main->error.notable);
+ fl_print_format("%c%[%SRule setting has an invalid number '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[1], global.main->error.notable);
if (zero_only) {
- fl_print_string("%[', only%] ", global.main->error.to.stream, global.main->error.context, global.main->error.context);
- fl_print_string("%[0%]%[ is", global.main->error.to.stream, global.main->error.notable, global.main->error.notable, global.main->error.context);
+ fl_print_format("%[', only%] ", global.main->error.to.stream, global.main->error.context, global.main->error.context);
+ fl_print_format("%[0%]%[ is", global.main->error.to.stream, global.main->error.notable, global.main->error.notable, global.main->error.context);
}
else {
- fl_print_string("%[', only the whole numbers inclusively between%] ", global.main->error.to.stream, global.main->error.context, global.main->error.context);
- fl_print_string("%[1%] %[and%] ", global.main->error.to.stream, global.main->error.notable, global.main->error.notable, global.main->error.context, global.main->error.context);
- fl_print_string("%[99%] %[are", global.main->error.to.stream, global.main->error.notable, global.main->error.notable, global.main->error.context);
+ fl_print_format("%[', only the whole numbers inclusively between%] ", global.main->error.to.stream, global.main->error.context, global.main->error.context);
+ fl_print_format("%[1%] %[and%] ", global.main->error.to.stream, global.main->error.notable, global.main->error.notable, global.main->error.context, global.main->error.context);
+ fl_print_format("%[99%] %[are", global.main->error.to.stream, global.main->error.notable, global.main->error.notable, global.main->error.context);
}
- fl_print_string(" allowed for the designated scheduler.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format(" allowed for the designated scheduler.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting requires exactly one Content.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting requires exactly one Content.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting failed to process the capabilities.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting failed to process the capabilities.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting has an invalid number '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[0], global.main->error.notable);
- fl_print_string("%[', only the whole numbers inclusively between%] ", global.main->error.to.stream, global.main->error.context, global.main->error.context);
- fl_print_string("%[-20%]", global.main->error.to.stream, global.main->error.notable, global.main->error.notable);
- fl_print_string(" %[and%] ", global.main->error.to.stream, global.main->error.context, global.main->error.context);
- fl_print_string("%[19%]", global.main->error.to.stream, global.main->error.notable, global.main->error.notable);
- fl_print_string(" %[are allowed.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting has an invalid number '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[0], global.main->error.notable);
+ fl_print_format("%[', only the whole numbers inclusively between%] ", global.main->error.to.stream, global.main->error.context, global.main->error.context);
+ fl_print_format("%[-20%]", global.main->error.to.stream, global.main->error.notable, global.main->error.notable);
+ fl_print_format(" %[and%] ", global.main->error.to.stream, global.main->error.context, global.main->error.context);
+ fl_print_format("%[19%]", global.main->error.to.stream, global.main->error.notable, global.main->error.notable);
+ fl_print_format(" %[are allowed.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting has an invalid user '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[0], global.main->error.notable);
- fl_print_string("%[' because no user was found by that name.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting has an invalid user '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[0], global.main->error.notable);
+ fl_print_format("%[' because no user was found by that name.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting has an invalid user '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[0], global.main->error.notable);
- fl_print_string("%[' because the given ID is too large.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting has an invalid user '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[0], global.main->error.notable);
+ fl_print_format("%[' because the given ID is too large.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting has an invalid user '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[0], global.main->error.notable);
- fl_print_string("%[' because the given ID is not a valid supported number.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting has an invalid user '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[0], global.main->error.notable);
+ fl_print_format("%[' because the given ID is not a valid supported number.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting requires one or more Content.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting requires one or more Content.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting has an invalid group '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[j], global.main->error.notable);
- fl_print_string("%[' because no group was found by that name.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting has an invalid group '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[j], global.main->error.notable);
+ fl_print_format("%[' because no group was found by that name.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting has an invalid group '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[j], global.main->error.notable);
- fl_print_string("%[' because the given ID is too large.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting has an invalid group '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[j], global.main->error.notable);
+ fl_print_format("%[' because the given ID is too large.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting has an invalid group '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[j], global.main->error.notable);
- fl_print_string("%[' because the given ID is not a valid supported number.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting has an invalid group '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[j], global.main->error.notable);
+ fl_print_format("%[' because the given ID is not a valid supported number.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting has an invalid environment variable name '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, global.main->error.notable, setting_values->array[setting_values->used], global.main->error.notable);
- fl_print_string("%['.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting has an invalid environment variable name '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, global.main->error.notable, setting_values->array[setting_values->used], global.main->error.notable);
+ fl_print_format("%['.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting requires exactly four Content.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting requires exactly four Content.%]%c", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting's first value has '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[1], global.main->error.notable);
- fl_print_string("%[' but only supports %s, %s, %s, %s, %s", global.main->error.to.stream, global.main->error.context, controller_string_freeze_s, controller_string_kill_s, controller_string_pause_s, controller_string_reload_s, controller_string_restart_s);
- fl_print_string("%s, %s, %s, and %s.%]%c", global.main->error.to.stream, controller_string_resume_s, controller_string_start_s, controller_string_stop_s, controller_string_thaw_s, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting's first value has '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[1], global.main->error.notable);
+ fl_print_format("%[' but only supports %s, %s, %s, %s, %s", global.main->error.to.stream, global.main->error.context, controller_string_freeze_s, controller_string_kill_s, controller_string_pause_s, controller_string_reload_s, controller_string_restart_s);
+ fl_print_format("%s, %s, %s, and %s.%]%c", global.main->error.to.stream, controller_string_resume_s, controller_string_start_s, controller_string_stop_s, controller_string_thaw_s, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SRule setting's second value has '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[1], global.main->error.notable);
- fl_print_string("%[' but only supports %s, %s, and %s.%s.%]%c", global.main->error.to.stream, global.main->error.context, controller_string_need_s, controller_string_want_s, controller_string_wish_s, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SRule setting's second value has '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[1], global.main->error.notable);
+ fl_print_format("%[' but only supports %s, %s, and %s.%s.%]%c", global.main->error.to.stream, global.main->error.context, controller_string_need_s, controller_string_want_s, controller_string_wish_s, global.main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(global.main->error, cache->action, F_false);
flockfile(global.main->error.to.stream);
- fl_print_string("%c%[%SThe rule item action third parameter '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
- fl_print_string("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[2], global.main->error.notable);
- fl_print_string("%[' must be a base path name, such as %ul '.%]", global.main->error.to.stream, global.main->error.context, cache->buffer_path.used, global.main->error.context);
- fl_print_string("%[%Q%]", global.main->error.to.stream, cache->buffer_path, global.main->error.notable);
- fl_print_string("%['.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe rule item action third parameter '%]", global.main->error.to.stream, f_string_eol_s[0], global.main->error.context, global.main->error.prefix, global.main->error.context);
+ fl_print_format("%[%/Q%]", global.main->error.to.stream, global.main->error.notable, cache->buffer_item, cache->content_actions.array[i].array[2], global.main->error.notable);
+ fl_print_format("%[' must be a base path name, such as %un '.%]", global.main->error.to.stream, global.main->error.context, cache->buffer_path.used, global.main->error.context);
+ fl_print_format("%[%Q%]", global.main->error.to.stream, cache->buffer_path, global.main->error.notable);
+ fl_print_format("%['.%]%c", global.main->error.to.stream, global.main->error.context, global.main->error.context, f_string_eol_s[0]);
funlockfile(global.main->error.to.stream);
if (main->error.verbosity != f_console_verbosity_quiet) {
flockfile(main->error.to.stream);
- fl_print_string("%c%[%SUnsupported action type '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
- fl_print_string("%[%q%]", main->error.to.stream, main->error.notable, controller_rule_action_type_name(action), main->error.notable);
- fl_print_string("%[' while attempting to validate rule execution.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnsupported action type '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
+ fl_print_format("%[%q%]", main->error.to.stream, main->error.notable, controller_rule_action_type_name(action), main->error.notable);
+ fl_print_format("%[' while attempting to validate rule execution.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
controller_rule_error_print_cache(main->error, cache->action, F_true);
if (missing) {
flockfile(main->output.stream);
- fl_print_string("%cRule '", main->output.stream, f_string_eol_s[0]);
- fl_print_string("%[%Q%]' has no '", main->output.stream, main->context.set.title, rule.name, main->context.set.title);
- fl_print_string("%[%q%]' action to execute and would '", main->output.stream, main->context.set.title, controller_rule_action_type_name(action), main->context.set.title);
- fl_print_string("%[%s%]' because it is '", main->output.stream, main->context.set.important, options & controller_process_option_require ? controller_string_fail_s : controller_string_succeed_s, main->context.set.important);
- fl_print_string("%[%s%]'.%c", main->output.stream, main->context.set.important, options & controller_process_option_require ? controller_string_required_s : controller_string_optional_s, main->context.set.important, f_string_eol_s[0]);
+ fl_print_format("%cRule '", main->output.stream, f_string_eol_s[0]);
+ fl_print_format("%[%Q%]' has no '", main->output.stream, main->context.set.title, rule.name, main->context.set.title);
+ fl_print_format("%[%q%]' action to execute and would '", main->output.stream, main->context.set.title, controller_rule_action_type_name(action), main->context.set.title);
+ fl_print_format("%[%s%]' because it is '", main->output.stream, main->context.set.important, options & controller_process_option_require ? controller_string_fail_s : controller_string_succeed_s, main->context.set.important);
+ fl_print_format("%[%s%]'.%c", main->output.stream, main->context.set.important, options & controller_process_option_require ? controller_string_required_s : controller_string_optional_s, main->context.set.important, f_string_eol_s[0]);
funlockfile(main->output.stream);
}
flockfile(main->output.stream);
- fl_print_string("%cRule %[%Q%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.title, rule.alias, main->context.set.title, f_string_eol_s[0]);
- fl_print_string(" %[%s%] %Q%c", main->output.stream, main->context.set.important, controller_string_name_s, main->context.set.important, rule.name, f_string_eol_s[0]);
- fl_print_string(" %[%s%] %s%c", main->output.stream, main->context.set.important, controller_string_how_s, main->context.set.important, options & controller_process_option_asynchronous ? controller_string_asynchronous_s : controller_string_synchronous_s, f_string_eol_s[0]);
- fl_print_string(" %[%s%] %s%c", main->output.stream, main->context.set.important, controller_string_wait_s, main->context.set.important, options & controller_process_option_wait ? controller_string_yes : controller_string_no_s, f_string_eol_s[0]);
- fl_print_string(" %[%s%] ", main->output.stream, main->context.set.important, controller_string_capability_s, main->context.set.important);
+ fl_print_format("%cRule %[%Q%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.title, rule.alias, main->context.set.title, f_string_eol_s[0]);
+ fl_print_format(" %[%s%] %Q%c", main->output.stream, main->context.set.important, controller_string_name_s, main->context.set.important, rule.name, f_string_eol_s[0]);
+ fl_print_format(" %[%s%] %s%c", main->output.stream, main->context.set.important, controller_string_how_s, main->context.set.important, options & controller_process_option_asynchronous ? controller_string_asynchronous_s : controller_string_synchronous_s, f_string_eol_s[0]);
+ fl_print_format(" %[%s%] %s%c", main->output.stream, main->context.set.important, controller_string_wait_s, main->context.set.important, options & controller_process_option_wait ? controller_string_yes : controller_string_no_s, f_string_eol_s[0]);
+ fl_print_format(" %[%s%] ", main->output.stream, main->context.set.important, controller_string_capability_s, main->context.set.important);
if (f_capability_supported()) {
if (rule.capability) {
f_print_terminated(f_string_eol_s, main->output.stream);
}
else {
- fl_print_string("%[(unsupported)%]%c", main->output.stream, main->context.set.warning, controller_string_capability_s, main->context.set.warning, f_string_eol_s[0]);
+ fl_print_format("%[(unsupported)%]%c", main->output.stream, main->context.set.warning, controller_string_capability_s, main->context.set.warning, f_string_eol_s[0]);
}
- fl_print_string(" %[%s%]", main->output.stream, main->context.set.important, controller_string_control_group_s, main->context.set.important);
+ fl_print_format(" %[%s%]", main->output.stream, main->context.set.important, controller_string_control_group_s, main->context.set.important);
if (rule.has & controller_rule_has_control_group) {
- fl_print_string(" %s", main->output.stream, rule.control_group.as_new ? controller_string_new_s : controller_string_existing_s);
+ fl_print_format(" %s", main->output.stream, rule.control_group.as_new ? controller_string_new_s : controller_string_existing_s);
for (i = 0; i < rule.control_group.groups.used; ++i) {
if (rule.control_group.groups.array[i].used) {
- fl_print_string(" %Q", main->output.stream, rule.control_group.groups.array[i]);
+ fl_print_format(" %Q", main->output.stream, rule.control_group.groups.array[i]);
}
} // for
}
- fl_print_string("%c %[%s%]", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_nice_s, main->context.set.important);
+ fl_print_format("%c %[%s%]", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_nice_s, main->context.set.important);
if (rule.has & controller_rule_has_nice) {
- fl_print_string(" %i", main->output.stream, rule.nice);
+ fl_print_format(" %i", main->output.stream, rule.nice);
}
- fl_print_string("%c %[%s%]", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_scheduler_s, main->context.set.important);
+ fl_print_format("%c %[%s%]", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_scheduler_s, main->context.set.important);
if (rule.has & controller_rule_has_scheduler) {
f_string_t policy = "";
policy = controller_string_round_robin_s;
}
- fl_print_string(" %s %i", main->output.stream, policy, rule.scheduler.priority);
+ fl_print_format(" %s %i", main->output.stream, policy, rule.scheduler.priority);
}
- fl_print_string("%c %[%s%] %Q%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_script_s, main->context.set.important, rule.script, f_string_eol_s[0]);
- fl_print_string(" %[%s%]", main->output.stream, main->context.set.important, controller_string_user_s, main->context.set.important);
+ fl_print_format("%c %[%s%] %Q%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_script_s, main->context.set.important, rule.script, f_string_eol_s[0]);
+ fl_print_format(" %[%s%]", main->output.stream, main->context.set.important, controller_string_user_s, main->context.set.important);
if (rule.has & controller_rule_has_user) {
- fl_print_string(" %i", main->output.stream, rule.user);
+ fl_print_format(" %i", main->output.stream, rule.user);
}
- fl_print_string("%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_affinity_s, main->context.set.important, f_string_eol_s[0]);
+ fl_print_format("%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_affinity_s, main->context.set.important, f_string_eol_s[0]);
for (i = 0; i < rule.affinity.used; ++i) {
- fl_print_string(" %i%c", main->output.stream, rule.affinity.array[i], f_string_eol_s[0]);
+ fl_print_format(" %i%c", main->output.stream, rule.affinity.array[i], f_string_eol_s[0]);
} // for
- fl_print_string(" }%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_define_s, main->context.set.important, f_string_eol_s[0]);
+ fl_print_format(" }%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_define_s, main->context.set.important, f_string_eol_s[0]);
for (i = 0; i < rule.define.used; ++i) {
if (rule.define.array[i].name.used && rule.define.array[i].value.used) {
- fl_print_string(" %Q %[=%] %Q%c", main->output.stream, rule.define.array[i].name, main->context.set.important, main->context.set.important, rule.define.array[i].value, f_string_eol_s[0]);
+ fl_print_format(" %Q %[=%] %Q%c", main->output.stream, rule.define.array[i].name, main->context.set.important, main->context.set.important, rule.define.array[i].value, f_string_eol_s[0]);
}
} // for
- fl_print_string(" }%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_environment_s, main->context.set.important, f_string_eol_s[0]);
+ fl_print_format(" }%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_environment_s, main->context.set.important, f_string_eol_s[0]);
for (i = 0; i < rule.environment.used; ++i) {
if (rule.environment.array[i].used) {
- fl_print_string(" %Q%c", main->output.stream, rule.environment.array[i], f_string_eol_s[0]);
+ fl_print_format(" %Q%c", main->output.stream, rule.environment.array[i], f_string_eol_s[0]);
}
} // for
- fl_print_string(" }%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_parameter_s, main->context.set.important, f_string_eol_s[0]);
+ fl_print_format(" }%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_parameter_s, main->context.set.important, f_string_eol_s[0]);
for (i = 0; i < rule.parameter.used; ++i) {
if (rule.parameter.array[i].name.used && rule.parameter.array[i].value.used) {
- fl_print_string(" %Q %[=%] %Q%c", main->output.stream, rule.parameter.array[i].name, main->context.set.important, main->context.set.important, rule.parameter.array[i].value, f_string_eol_s[0]);
+ fl_print_format(" %Q %[=%] %Q%c", main->output.stream, rule.parameter.array[i].name, main->context.set.important, main->context.set.important, rule.parameter.array[i].value, f_string_eol_s[0]);
}
} // for
- fl_print_string(" }%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_group_s, main->context.set.important, f_string_eol_s[0]);
+ fl_print_format(" }%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_group_s, main->context.set.important, f_string_eol_s[0]);
if (rule.has & controller_rule_has_group) {
- fl_print_string(" %i%c", main->output.stream, rule.group, f_string_eol_s[0]);
+ fl_print_format(" %i%c", main->output.stream, rule.group, f_string_eol_s[0]);
for (i = 0; i < rule.groups.used; ++i) {
- fl_print_string(" %i%c", main->output.stream, rule.groups.array[i], f_string_eol_s[0]);
+ fl_print_format(" %i%c", main->output.stream, rule.groups.array[i], f_string_eol_s[0]);
} // for
}
- fl_print_string(" }%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_limit_s, main->context.set.important, f_string_eol_s[0]);
+ fl_print_format(" }%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_limit_s, main->context.set.important, f_string_eol_s[0]);
for (i = 0; i < rule.limits.used; ++i) {
- fl_print_string(" %Q %[=%] %ul %ul%c", main->output.stream, controller_rule_setting_limit_type_name(rule.limits.array[i].type), main->context.set.important, main->context.set.important, rule.limits.array[i].value.rlim_cur, rule.limits.array[i].value.rlim_max, f_string_eol_s[0]);
+ fl_print_format(" %Q %[=%] %un %un%c", main->output.stream, controller_rule_setting_limit_type_name(rule.limits.array[i].type), main->context.set.important, main->context.set.important, rule.limits.array[i].value.rlim_cur, rule.limits.array[i].value.rlim_max, f_string_eol_s[0]);
} // for
- fl_print_string(" }%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_on_s, main->context.set.important, f_string_eol_s[0]);
+ fl_print_format(" }%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_on_s, main->context.set.important, f_string_eol_s[0]);
for (i = 0; i < rule.ons.used; ++i) {
- fl_print_string(" %[%s%] {%c", main->output.stream, main->context.set.important, controller_string_action_s, main->context.set.important, f_string_eol_s[0]);
+ fl_print_format(" %[%s%] {%c", main->output.stream, main->context.set.important, controller_string_action_s, main->context.set.important, f_string_eol_s[0]);
{
f_string_t action = "";
action = controller_string_thaw_s;
}
- fl_print_string(" %[%s%] %s%c", main->output.stream, main->context.set.important, controller_string_type_s, main->context.set.important, action, f_string_eol_s[0]);
+ fl_print_format(" %[%s%] %s%c", main->output.stream, main->context.set.important, controller_string_type_s, main->context.set.important, action, f_string_eol_s[0]);
}
- fl_print_string(" %[%s%] {%c", main->output.stream, main->context.set.important, controller_string_need_s, main->context.set.important, f_string_eol_s[0]);
+ fl_print_format(" %[%s%] {%c", main->output.stream, main->context.set.important, controller_string_need_s, main->context.set.important, f_string_eol_s[0]);
for (j = 0; j < rule.ons.array[i].need.used; ++j) {
if (rule.ons.array[i].need.array[j].used) {
- fl_print_string(" %Q%c", main->output.stream, rule.ons.array[i].need.array[j], f_string_eol_s[0]);
+ fl_print_format(" %Q%c", main->output.stream, rule.ons.array[i].need.array[j], f_string_eol_s[0]);
}
} // for
- fl_print_string(" }%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_want_s, main->context.set.important, f_string_eol_s[0]);
+ fl_print_format(" }%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_want_s, main->context.set.important, f_string_eol_s[0]);
for (j = 0; j < rule.ons.array[i].want.used; ++j) {
if (rule.ons.array[i].want.array[j].used) {
- fl_print_string(" %Q%c", main->output.stream, rule.ons.array[i].want.array[j], f_string_eol_s[0]);
+ fl_print_format(" %Q%c", main->output.stream, rule.ons.array[i].want.array[j], f_string_eol_s[0]);
}
} // for
- fl_print_string(" }%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_wish_s, main->context.set.important, f_string_eol_s[0]);
+ fl_print_format(" }%c %[%s%] {%c", main->output.stream, f_string_eol_s[0], main->context.set.important, controller_string_wish_s, main->context.set.important, f_string_eol_s[0]);
for (j = 0; j < rule.ons.array[i].wish.used; ++j) {
if (rule.ons.array[i].wish.array[j].used) {
- fl_print_string(" %Q%c", main->output.stream, rule.ons.array[i].wish.array[j], f_string_eol_s[0]);
+ fl_print_format(" %Q%c", main->output.stream, rule.ons.array[i].wish.array[j], f_string_eol_s[0]);
}
} // for
- fl_print_string(" }%c }%c", main->output.stream, f_string_eol_s[0], f_string_eol_s[0]);
+ fl_print_format(" }%c }%c", main->output.stream, f_string_eol_s[0], f_string_eol_s[0]);
} // for
- fl_print_string(" }%c", main->output.stream, f_string_eol_s[0]);
+ fl_print_format(" }%c", main->output.stream, f_string_eol_s[0]);
if (rule.items.used) {
controller_rule_action_t *action = 0;
item = &rule.items.array[i];
- fl_print_string(" %[%s%] {%c", main->output.stream, main->context.set.important, controller_string_item_s, main->context.set.important, f_string_eol_s[0]);
- fl_print_string(" %[%s%] %Q%c", main->output.stream, main->context.set.important, controller_string_type_s, main->context.set.important, controller_rule_item_type_name(item->type), f_string_eol_s[0]);
+ fl_print_format(" %[%s%] {%c", main->output.stream, main->context.set.important, controller_string_item_s, main->context.set.important, f_string_eol_s[0]);
+ fl_print_format(" %[%s%] %Q%c", main->output.stream, main->context.set.important, controller_string_type_s, main->context.set.important, controller_rule_item_type_name(item->type), f_string_eol_s[0]);
for (j = 0; j < item->actions.used; ++j) {
action = &item->actions.array[j];
- fl_print_string(" %[%s%] {%c", main->output.stream, main->context.set.important, controller_string_action_s, main->context.set.important, f_string_eol_s[0]);
- fl_print_string(" %[%s%] %q%c", main->output.stream, main->context.set.important, controller_string_type_s, main->context.set.important, controller_rule_action_type_name(action->type), f_string_eol_s[0]);
+ fl_print_format(" %[%s%] {%c", main->output.stream, main->context.set.important, controller_string_action_s, main->context.set.important, f_string_eol_s[0]);
+ fl_print_format(" %[%s%] %q%c", main->output.stream, main->context.set.important, controller_string_type_s, main->context.set.important, controller_rule_action_type_name(action->type), f_string_eol_s[0]);
if (item->type == controller_rule_item_type_script || item->type == controller_rule_item_type_utility) {
- fl_print_string(" %[%s%] {%c", main->output.stream, main->context.set.important, controller_string_parameter_s, main->context.set.important, f_string_eol_s[0]);
+ fl_print_format(" %[%s%] {%c", main->output.stream, main->context.set.important, controller_string_parameter_s, main->context.set.important, f_string_eol_s[0]);
parameter = &action->parameters.array[0];
f_print_terminated(f_string_eol_s, main->output.stream);
}
- fl_print_string(" }%c", main->output.stream, f_string_eol_s[0]);
+ fl_print_format(" }%c", main->output.stream, f_string_eol_s[0]);
}
else {
for (k = 0; k < action->parameters.used; ++k) {
- fl_print_string(" %s%s%s %Q%c", main->output.stream, main->context.set.important, controller_string_parameter_s, main->context.set.important, action->parameters.array[k], f_string_eol_s[0]);
+ fl_print_format(" %s%s%s %Q%c", main->output.stream, main->context.set.important, controller_string_parameter_s, main->context.set.important, action->parameters.array[k], f_string_eol_s[0]);
} // for
}
- fl_print_string(" }%c", main->output.stream, f_string_eol_s[0]);
+ fl_print_format(" }%c", main->output.stream, f_string_eol_s[0]);
} // for
- fl_print_string(" }%c", main->output.stream, f_string_eol_s[0]);
+ fl_print_format(" }%c", main->output.stream, f_string_eol_s[0]);
} // for
}
- fl_print_string("}%c", main->output.stream, f_string_eol_s[0]);
+ fl_print_format("}%c", main->output.stream, f_string_eol_s[0]);
funlockfile(main->output.stream);
flockfile(main->error.to.stream);
- fl_print_string("%c%[%SThe pid file '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
- fl_print_string("%[%S%]", main->error.to.stream, main->error.notable, setting->path_pid.string, main->error.notable);
- fl_print_string("%[' must not already exist.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe pid file '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
+ fl_print_format("%[%S%]", main->error.to.stream, main->error.notable, setting->path_pid.string, main->error.notable);
+ fl_print_format("%[' must not already exist.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
funlockfile(main->error.to.stream);
flockfile(main->error.to.stream);
- fl_print_string("%c%[%SThe pid file '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
- fl_print_string("%[%Q%]", main->error.to.stream, main->error.notable, entry->setting->path_pid, main->error.notable);
- fl_print_string("%[' must not already exist.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe pid file '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
+ fl_print_format("%[%Q%]", main->error.to.stream, main->error.notable, entry->setting->path_pid, main->error.notable);
+ fl_print_format("%[' must not already exist.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
funlockfile(main->error.to.stream);
flockfile(main->error.to.stream);
- fl_print_string("%c%[%SFailed while processing requested failsafe item '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
- fl_print_string("%[%Q%]", main->error.to.stream, main->error.notable, entry->global->setting->entry.items.array[entry->global->setting->failsafe_enabled].name, main->error.notable);
- fl_print_string("%['.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SFailed while processing requested failsafe item '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
+ fl_print_format("%[%Q%]", main->error.to.stream, main->error.notable, entry->global->setting->entry.items.array[entry->global->setting->failsafe_enabled].name, main->error.notable);
+ fl_print_format("%['.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
funlockfile(main->error.to.stream);
flockfile(main->error.to.stream);
- fl_print_string("%c%[%SFailed while processing requested failsafe item '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
- fl_print_string("%[%Q%]", main->error.to.stream, main->error.notable, entry->global->setting->entry.items.array[entry->global->setting->failsafe_enabled].name, main->error.notable);
- fl_print_string("%['.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SFailed while processing requested failsafe item '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix ? main->error.prefix : f_string_empty_s, main->error.context);
+ fl_print_format("%[%Q%]", main->error.to.stream, main->error.notable, entry->global->setting->entry.items.array[entry->global->setting->failsafe_enabled].name, main->error.notable);
+ fl_print_format("%['.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
funlockfile(main->error.to.stream);
#ifndef _di_fake_print_help_
f_status_t fake_print_help(const f_file_t output, const f_color_context_t context) {
+ flockfile(output.stream);
+
fll_program_print_help_header(output, context, fake_name_long, fake_version);
fll_program_print_help_option(output, context, f_console_standard_short_help_s, f_console_standard_long_help_s, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " Print this help message.");
fll_program_print_help_option(output, context, f_console_standard_short_debug_s, f_console_standard_long_debug_s, f_console_symbol_short_disable_s, f_console_symbol_long_disable_s, " Enable debugging, inceasing verbosity beyond normal output.");
fll_program_print_help_option(output, context, f_console_standard_short_version_s, f_console_standard_long_version_s, f_console_symbol_short_disable_s, f_console_symbol_long_disable_s, " Print only the version number.");
- fprintf(output.stream, "%c", f_string_eol_s[0]);
+ f_print_character(f_string_eol_s[0], output.stream);
fll_program_print_help_option(output, context, fake_short_define, fake_long_define, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " Append an additional define after defines from settings file.");
fll_program_print_help_option(output, context, fake_short_fakefile, fake_long_fakefile, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, "Use this fakefile.");
fll_program_print_help_option(output, context, fake_short_process, fake_long_process, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " Process name for storing build states.");
fll_program_print_help_option(output, context, fake_short_settings, fake_long_settings, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, "Use this settings file.");
- fprintf(output.stream, "%c", f_string_eol_s[0]);
+ f_print_character(f_string_eol_s[0], output.stream);
fll_program_print_help_option(output, context, fake_short_path_build, fake_long_path_build, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " 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_s, f_console_symbol_long_enable_s, " 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_s, f_console_symbol_long_enable_s, " 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_s, f_console_symbol_long_enable_s, " Use includes/libraries/programs from this directory instead of system.");
- fprintf(output.stream, "%c%c", f_string_eol_s[0], f_string_eol_s[0]);
-
- f_color_print(output.stream, context.set.important, " Special Options: ");
+ fl_print_format("%c%c %[Special Options:%] ", output.stream, f_string_eol_s[0], f_string_eol_s[0], context.set.important, context.set.important);
fll_program_print_help_option_long(output, context, fake_long_documents_disabled, f_console_symbol_long_enable_s, " Forcibly do not build documents files.");
fll_program_print_help_option_long(output, context, fake_long_documents_enabled, f_console_symbol_long_enable_s, " Forcibly do build documents files.");
fll_program_print_help_option_long(output, context, fake_long_static_disabled, f_console_symbol_long_enable_s, "Forcibly do not build static files.");
fll_program_print_help_option_long(output, context, fake_long_static_enabled, f_console_symbol_long_enable_s, " Forcibly do build static files.");
- fprintf(output.stream, "%c%c", f_string_eol_s[0], f_string_eol_s[0]);
-
- f_color_print(output.stream, context.set.important, " Operations: ");
+ fl_print_format("%c%c %[Operations:%] ", output.stream, f_string_eol_s[0], f_string_eol_s[0], context.set.important, context.set.important);
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_usage(output, context, fake_name, "operation");
- fprintf(output.stream, " When performing the ");
- f_color_print(output.stream, context.set.notable, "%s", fake_other_operation_build);
- fprintf(output.stream, " operation, the ");
- f_color_print(output.stream, context.set.notable, "%s%s", f_console_symbol_long_enable_s, 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_s[0]);
-
- fprintf(output.stream, " For example, when a ");
- f_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_s[0], f_string_eol_s[0]);
-
- fprintf(output.stream, " When specifying the ");
- f_color_print(output.stream, context.set.notable, "%s", fake_long_fakefile);
- fprintf(output.stream, " or the ");
- f_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_s[0]);
-
- fprintf(output.stream, " For example, with '");
- f_color_print(output.stream, context.set.notable, "%s%s my_fakefile", f_console_symbol_long_enable_s, fake_long_fakefile);
- fprintf(output.stream, "' the fakefile at '");
- f_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 '");
- f_color_print(output.stream, context.set.notable, "%s%s ./my_fakefile", f_console_symbol_long_enable_s, fake_long_fakefile);
- fprintf(output.stream, "' the fakefile at '");
- f_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_s[0], f_string_eol_s[0]);
+ f_print_terminated(" When performing the ", output.stream);
+ fl_print_format("%[%s%]", output.stream, context.set.notable, fake_other_operation_build, context.set.notable);
+ f_print_terminated(" operation, the ", output.stream);
+ fl_print_format("%[%s%s%]", output.stream, context.set.notable, f_console_symbol_long_enable_s, fake_long_mode, context.set.notable);
+ fl_print_format(" parameter specifies a name (limited to alpha-numeric, underscore, and dash) to be used in addition to the global.%c", output.stream, f_string_eol_s[0]);
+
+ f_print_terminated(" For example, when a ", output.stream);
+ fl_print_format("%[%s%]", output.stream, context.set.notable, fake_make_parameter_variable_mode, context.set.notable);
+ fl_print_format(" of 'fll_monolithic' is specified, build libraries from both 'build_libraries' and 'build_libraries-fll_monolithic' are used (but not 'build_libraries-fll_level').%c%c", output.stream, f_string_eol_s[0], f_string_eol_s[0]);
+
+ f_print_terminated(" When specifying the ", output.stream);
+ fl_print_format("%[%s%]", output.stream, context.set.notable, fake_make_parameter_variable_fakefile, context.set.notable);
+ f_print_terminated(" or the ", output.stream);
+ fl_print_format("%[%s%]", output.stream, context.set.notable, fake_make_parameter_variable_settings, context.set.notable);
+ fl_print_format(" parameters, the filenames are relative to the data build directory, unless a path is used.%c", output.stream, f_string_eol_s[0]);
+
+ f_print_terminated(" For example, with '", output.stream);
+ fl_print_format("%[%s%s my_fakefile%]", output.stream, context.set.notable, f_console_symbol_long_enable_s, fake_long_fakefile, context.set.notable);
+ f_print_terminated("' the fakefile at '", output.stream);
+ fl_print_format("%[./%s%smy_fakefile%]", output.stream, context.set.notable, fake_default_path_data, fake_default_path_build, context.set.notable);
+ f_print_terminated("' would be used, however with '", output.stream);
+ fl_print_format("%[%s%s ./my_fakefile%]", output.stream, context.set.notable, f_console_symbol_long_enable_s, fake_long_fakefile, context.set.notable);
+ f_print_terminated("' the fakefile at '", output.stream);
+ fl_print_format("%[./my_fakefile%]", output.stream, context.set.notable, context.set.notable);
+ fl_print_format("' would be used.%c%c", output.stream, f_string_eol_s[0], f_string_eol_s[0]);
+
+ funlockfile(output.stream);
return F_none;
}
if (main->context.set.error.before) {
main->error.context = main->context.set.error;
main->error.notable = main->context.set.notable;
+
+ main->warning.context = main->context.set.warning;
+ main->warning.notable = main->context.set.notable;
}
else {
- f_color_set_t *sets[] = { &main->error.context, &main->error.notable, 0 };
+ f_color_set_t *sets[] = { &main->error.context, &main->error.notable, &main->warning.context, &main->warning.notable, 0 };
fll_program_parameter_process_empty(&main->context, sets);
}
if (choice == fake_parameter_verbosity_quiet) {
main->error.verbosity = f_console_verbosity_quiet;
+ main->warning.verbosity = f_console_verbosity_quiet;
}
else if (choice == fake_parameter_verbosity_normal) {
main->error.verbosity = f_console_verbosity_normal;
+ main->warning.verbosity = f_console_verbosity_normal;
}
else if (choice == fake_parameter_verbosity_verbose) {
main->error.verbosity = f_console_verbosity_verbose;
+ main->warning.verbosity = f_console_verbosity_verbose;
}
else if (choice == fake_parameter_verbosity_debug) {
main->error.verbosity = f_console_verbosity_debug;
+ main->warning.verbosity = f_console_verbosity_debug;
}
}
}
else if (F_status_is_error(status)) {
if (main->error.verbosity != f_console_verbosity_quiet) {
- fprintf(main->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main->error.to.stream, main->error.context, "%sThe operation '", fll_error_print_error);
- f_color_print(main->error.to.stream, main->error.notable, "%s", operations_name);
- f_color_print(main->error.to.stream, main->error.context, "' failed.%c", f_string_eol_s[0]);
+ flockfile(main->error.to.stream);
+
+ fl_print_format("%c%[%SThe operation '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix, main->error.context);
+ fl_print_format("%[%s%]", main->error.to.stream, main->error.notable, operations_name, main->error.notable);
+ fl_print_format("%[' failed.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+
+ funlockfile(main->error.to.stream);
}
break;
// ensure a newline is always put at the end of the program execution, unless in quiet mode.
if (main->error.verbosity != f_console_verbosity_quiet) {
if (F_status_is_error(status) || status == F_signal) {
- fprintf(main->error.to.stream, "%c", f_string_eol_s[0]);
+ fll_print_character(f_string_eol_s[0], main->error.to.stream);
}
else if (status != F_child) {
- fprintf(main->output.stream, "%cAll operations complete.%c%c", f_string_eol_s[0], f_string_eol_s[0], f_string_eol_s[0]);
+ fll_print_format("%cAll operations complete.%c%c", main->output.stream, f_string_eol_s[0], f_string_eol_s[0], f_string_eol_s[0]);
}
}
}
else {
if (main->error.verbosity != f_console_verbosity_quiet) {
- fprintf(main->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main->error.to.stream, main->error.context, "%sYou failed to specify an operation.%c", fll_error_print_error, f_string_eol_s[0]);
- fprintf(main->error.to.stream, "%c", f_string_eol_s[0]);
+ fll_print_format("%c%[%SYou failed to specify an operation.%]%c%c", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix, main->error.context, f_string_eol_s[0], f_string_eol_s[0]);
}
status = F_status_set_error(F_parameter);
#include <fll/level_1/directory.h>
#include <fll/level_1/environment.h>
#include <fll/level_1/iki.h>
+#include <fll/level_1/print.h>
#include <fll/level_1/string.h>
// fll-2 includes
#include <fll/level_2/fss_basic_list.h>
#include <fll/level_2/fss_extended.h>
#include <fll/level_2/path.h>
+#include <fll/level_2/print.h>
#include <fll/level_2/program.h>
#ifdef __cplusplus
f_file_t output;
fll_error_print_t error;
+ fll_error_print_t warning;
uint8_t operation;
F_false, \
macro_f_file_t_initialize2(f_type_output, f_type_descriptor_output, f_file_flag_write_only), \
fll_error_print_t_initialize, \
+ macro_fll_error_print_t_initialize_warning(), \
0, \
0, \
0, \
f_string_dynamic_t destination_directory = f_string_dynamic_t_initialize;
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.important, "Copying %s.", label);
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ fll_print_format("%c%[Copying %S.%]%c", main.output.stream, f_string_eol_s[0], main.context.set.important, label, main.context.set.important, f_string_eol_s[0]);
}
macro_f_string_dynamic_t_resize(*status, path_source, source.used);
}
if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "Copied file '%s' to '%s'.%c", path_source.string, destination_file.string, f_string_eol_s[0]);
+ fll_print_format("Copied file '%Q' to '%Q'.%c", main.output.stream, path_source, destination_file, f_string_eol_s[0]);
}
}
else if (F_status_is_error(*status)) {
};
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.important, "Creating base build directories.");
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ fll_print_format("%c%[Creating base build directories.%]%c", main.output.stream, f_string_eol_s[0], main.context.set.important, main.context.set.important, f_string_eol_s[0]);
}
for (uint8_t i = 0; i < 15; ++i) {
}
if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "Created directory '%s'.%c", directorys[i]->string, f_string_eol_s[0]);
+ fll_print_format("Created directory '%Q'.%c", main.output.stream, directorys[i], f_string_eol_s[0]);
}
} // for
if (F_status_is_error(*status)) {
if (F_status_set_fine(*status) == F_failure) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.error.context, "%sFailed to execute script: ", main.error.prefix);
- f_color_print(main.error.to.stream, main.error.notable, "%s", path.string);
- f_color_print(main.error.to.stream, main.error.context, ".");
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SFailed to execute script: '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%Q%]", main.error.to.stream, main.error.notable, path, main.error.notable);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
}
else {
if (!data_build.setting.build_sources_library.used) return 0;
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.important, "Compiling shared library.");
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ fll_print_format("%c%[Compiling shared library.%]%c", main.output.stream, f_string_eol_s[0], main.context.set.important, main.context.set.important, f_string_eol_s[0]);
}
f_string_dynamics_t arguments = f_string_dynamics_t_initialize;
*status = f_file_link(parameter_file_name_major, parameter_file_path);
if (F_status_is_error_not(*status) && main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "Linked file '%s' to '%s'.%c", parameter_file_path, parameter_file_name_major, f_string_eol_s[0]);
+ fll_print_format("Linked file '%S' to '%S'.%c", main.output.stream, parameter_file_path, parameter_file_name_major, f_string_eol_s[0]);
}
else if (F_status_is_error(*status)) {
if (F_status_set_fine(*status) == F_file_found) {
*status = f_file_link(parameter_file_name_minor, parameter_file_path);
if (F_status_is_error_not(*status) && main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "Linked file '%s' to '%s'.%c", parameter_file_path, parameter_file_name_minor, f_string_eol_s[0]);
+ fll_print_format("Linked file '%S' to '%S'.%c", main.output.stream, parameter_file_path, parameter_file_name_minor, f_string_eol_s[0]);
}
else if (F_status_is_error(*status)) {
if (F_status_set_fine(*status) == F_file_found) {
*status = f_file_link(parameter_file_name_micro, parameter_file_path);
if (F_status_is_error_not(*status) && main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "Linked file '%s' to '%s'.%c", parameter_file_path, parameter_file_name_micro, f_string_eol_s[0]);
+ fll_print_format("Linked file '%S' to '%S'.%c", main.output.stream, parameter_file_path, parameter_file_name_micro, f_string_eol_s[0]);
}
else if (F_status_is_error(*status)) {
if (F_status_set_fine(*status) == F_file_found) {
*status = f_file_link(parameter_file_name_nano, parameter_file_path);
if (F_status_is_error_not(*status) && main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "Linked file '%s' to '%s'.%c", parameter_file_path, parameter_file_name_nano, f_string_eol_s[0]);
+ fll_print_format("Linked file '%S' to '%S'.%c", main.output.stream, parameter_file_path, parameter_file_name_nano, f_string_eol_s[0]);
}
else if (F_status_is_error(*status)) {
if (F_status_set_fine(*status) == F_file_found) {
if (!data_build.setting.build_sources_library.used) return 0;
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.important, "Compiling static library.");
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ fll_print_format("%c%[Compiling static library.%]%c", main.output.stream, f_string_eol_s[0], main.context.set.important, main.context.set.important, f_string_eol_s[0]);
}
f_string_dynamic_t file_name = f_string_dynamic_t_initialize;
if (environment->used + data_build.setting.environment.used > environment->size) {
if (environment->used + data_build.setting.environment.used > f_environment_max_length) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sThe values for the setting '", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", fake_build_setting_name_environment);
- f_color_print(main.error.to.stream, main.context.set.error, "' of setting file '");
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", main.file_data_build_settings.string);
- f_color_print(main.error.to.stream, main.context.set.error, "' is too large.");
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SThe values for the setting '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%s%]", main.error.to.stream, main.error.notable, fake_build_setting_name_environment, main.error.notable);
+ fl_print_format("%[' of setting file '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%s%]", main.error.to.stream, main.error.notable, fake_build_setting_name_environment, main.error.notable);
+ fl_print_format("%[' is too large.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ flockfile(main.error.to.stream);
}
*status = F_status_set_error(F_array_too_large);
for (uint8_t i = 0; i < 1; ++i) {
if (!settings[i]->used) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sThe setting '", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", names[i]);
- f_color_print(main.error.to.stream, main.context.set.error, "' is required but is not specified in the settings file '");
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", setting_file.used ? path_file : main.file_data_build_settings.string);
- f_color_print(main.error.to.stream, main.context.set.error, "'.");
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SThe setting '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, names[i], main.error.notable);
+ fl_print_format("%[' is required but is not specified in the settings file '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, setting_file.used ? path_file : main.file_data_build_settings.string, main.error.notable);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
failed = F_true;
}
if (found == F_false) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sThe specified mode '", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", modes->array[i].string);
- f_color_print(main.error.to.stream, main.context.set.error, "' is not a valid mode, according to '");
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", path_file);
- f_color_print(main.error.to.stream, main.context.set.error, "'.");
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SThe specified mode '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%Q%]", main.error.to.stream, main.error.notable, modes->array[i], main.error.notable);
+ fl_print_format("%[' is not a valid mode, according to '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, path_file, main.error.notable);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
error_printed = F_true;
if (F_status_is_error(*status)) break;
} // for
- // "build_libaries" is appended after all modes to help assist with static linker file issues (@todo there should likely be more options to have a postfix linker parameter that can be added here instead, such as "build_libraries_last").
+ // "build_libraries" is appended after all modes to help assist with static linker file issues (@todo there should likely be more options to have a postfix linker parameter that can be added here instead, such as "build_libraries_last").
if (total_build_libraries) {
f_string_dynamic_t temporary[total_build_libraries];
if (F_status_is_error(*status)) {
if (*status == F_status_set_error(F_string_too_large)) {
if (main.error.verbosity != f_console_verbosity_quiet) {
+ funlockfile(main.error.to.stream);
+
// @todo update FSS functions to return which setting index the problem happened on.
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sA setting in the build setting file '", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", path_file);
- f_color_print(main.error.to.stream, main.context.set.error, "' is too long.");
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
+ fl_print_format("%c%[%SA setting in the build setting file '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, path_file, main.error.notable);
+ fl_print_format("%[' is too long.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
}
else if (!error_printed) {
if (!settings_single_source[i]->used) continue;
if (settings_single_source[i]->used > 1) {
- if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.warning, "%sthe setting '", fll_error_print_warning);
- f_color_print(main.output.stream, main.context.set.notable, "%s", settings_single_name[i]);
- f_color_print(main.output.stream, main.context.set.warning, "' in the file '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", path_file);
- f_color_print(main.output.stream, main.context.set.warning, "' may only have a single property, only using the first: '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", settings_single_source[i]->array[0].string);
- f_color_print(main.output.stream, main.context.set.warning, "'.");
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ if (main.warning.verbosity == f_console_verbosity_verbose) {
+ flockfile(main.warning.to.stream);
+
+ fl_print_format("%c%[%SThe setting '%]", main.warning.to.stream, f_string_eol_s[0], main.warning.context, main.warning.prefix, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, settings_single_name[i], main.warning.notable);
+ fl_print_format("%[' in the file '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, path_file, main.warning.notable);
+ fl_print_format("%[' may only have a single property, only using the first: '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%Q%]", main.warning.to.stream, main.warning.notable, settings_single_source[i]->array[0], main.warning.notable);
+ fl_print_format("%['.%]%c", main.warning.to.stream, main.warning.context, main.warning.context, f_string_eol_s[0]);
+
+ funlockfile(main.warning.to.stream);
}
}
else {
*settings_single_bool[i] = F_true;
- if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.warning, "%sthe setting '", fll_error_print_warning);
- f_color_print(main.output.stream, main.context.set.notable, "%s", settings_single_name[i]);
- f_color_print(main.output.stream, main.context.set.warning, "' in the file '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", path_file);
- f_color_print(main.output.stream, main.context.set.warning, "' may be either '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", fake_common_setting_bool_yes);
- f_color_print(main.output.stream, main.context.set.warning, "' or '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", fake_common_setting_bool_no);
- f_color_print(main.output.stream, main.context.set.warning, "', defaulting to '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", fake_common_setting_bool_yes);
- f_color_print(main.output.stream, main.context.set.warning, "'.");
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ if (main.warning.verbosity == f_console_verbosity_verbose) {
+ flockfile(main.warning.to.stream);
+
+ fl_print_format("%c%[%SThe setting '%]", main.warning.to.stream, f_string_eol_s[0], main.warning.context, main.warning.prefix, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, settings_single_name[i], main.warning.notable);
+ fl_print_format("%[' in the file '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, path_file, main.warning.notable);
+ fl_print_format("%[' may be either '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%s%]", main.warning.to.stream, main.warning.notable, fake_common_setting_bool_yes, main.warning.notable);
+ fl_print_format("%[' or '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%s%]", main.warning.to.stream, main.warning.notable, fake_common_setting_bool_no, main.warning.notable);
+ fl_print_format("%[', defaulting to '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%s%]", main.warning.to.stream, main.warning.notable, fake_common_setting_bool_yes, main.warning.notable);
+ fl_print_format("%['.%]%c", main.warning.to.stream, main.warning.context, main.warning.context, f_string_eol_s[0]);
+
+ funlockfile(main.warning.to.stream);
}
}
}
else {
*settings_single_language[i] = fake_build_language_type_c;
- if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.warning, "%sthe setting '", fll_error_print_warning);
- f_color_print(main.output.stream, main.context.set.notable, "%s", settings_single_name[i]);
- f_color_print(main.output.stream, main.context.set.warning, "' in the file '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", path_file);
- f_color_print(main.output.stream, main.context.set.warning, "' may only be one of '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", fake_build_language_bash);
- f_color_print(main.output.stream, main.context.set.warning, "', '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", fake_build_language_c);
- f_color_print(main.output.stream, main.context.set.warning, "', or '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", fake_build_language_cpp);
- f_color_print(main.output.stream, main.context.set.warning, "', defaulting to '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", fake_build_language_c);
- f_color_print(main.output.stream, main.context.set.warning, "'.");
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ if (main.warning.verbosity == f_console_verbosity_verbose) {
+ flockfile(main.warning.to.stream);
+
+ fl_print_format("%c%[%SThe setting '%]", main.warning.to.stream, f_string_eol_s[0], main.warning.context, main.warning.prefix, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, settings_single_name[i], main.warning.notable);
+ fl_print_format("%[' in the file '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, path_file, main.warning.notable);
+ fl_print_format("%[' may only be one of '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%s%]", main.warning.to.stream, main.warning.notable, fake_build_language_bash, main.warning.notable);
+ fl_print_format("%[', '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%s%]", main.warning.to.stream, main.warning.notable, fake_build_language_c, main.warning.notable);
+ fl_print_format("%[', or '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%s%]", main.warning.to.stream, main.warning.notable, fake_build_language_cpp, main.warning.notable);
+ fl_print_format("%[', defaulting to '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%s%]", main.warning.to.stream, main.warning.notable, fake_build_language_c, main.warning.notable);
+ fl_print_format("%['.%]%c", main.warning.to.stream, main.warning.context, main.warning.context, f_string_eol_s[0]);
+
+ funlockfile(main.warning.to.stream);
}
}
}
else {
*settings_single_version[i] = settings_single_version_default[i];
- if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.warning, "%sthe setting '", fll_error_print_warning);
- f_color_print(main.output.stream, main.context.set.notable, "%s", settings_single_name[i]);
- f_color_print(main.output.stream, main.context.set.warning, "' in the file '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", path_file);
- f_color_print(main.output.stream, main.context.set.warning, "' may only be one of '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", fake_build_version_major);
- f_color_print(main.output.stream, main.context.set.warning, "', '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", fake_build_version_minor);
- f_color_print(main.output.stream, main.context.set.warning, "', '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", fake_build_version_micro);
- f_color_print(main.output.stream, main.context.set.warning, "', or '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", fake_build_version_nano);
- f_color_print(main.output.stream, main.context.set.warning, "', defaulting to '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", settings_single_version_default_name[i]);
- f_color_print(main.output.stream, main.context.set.warning, "'.");
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ if (main.warning.verbosity == f_console_verbosity_verbose) {
+ flockfile(main.warning.to.stream);
+
+ fl_print_format("%c%[%SThe setting '%]", main.warning.to.stream, f_string_eol_s[0], main.warning.context, main.warning.prefix, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, settings_single_name[i], main.warning.notable);
+ fl_print_format("%[' in the file '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, path_file, main.warning.notable);
+ fl_print_format("%[' may only be one of '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%s%]", main.warning.to.stream, main.warning.notable, fake_build_version_major, main.warning.notable);
+ fl_print_format("%[', '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%s%]", main.warning.to.stream, main.warning.notable, fake_build_version_minor, main.warning.notable);
+ fl_print_format("%[', '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%s%]", main.warning.to.stream, main.warning.notable, fake_build_version_micro, main.warning.notable);
+ fl_print_format("%[', or '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%s%]", main.warning.to.stream, main.warning.notable, fake_build_version_nano, main.warning.notable);
+ fl_print_format("%[', defaulting to '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%s%]", main.warning.to.stream, main.warning.notable, settings_single_version_default_name[i], main.warning.notable);
+ fl_print_format("%['.%]%c", main.warning.to.stream, main.warning.context, main.warning.context, f_string_eol_s[0]);
+
+ funlockfile(main.warning.to.stream);
}
}
}
if (!setting->version_file) {
setting->version_file = fake_build_version_type_micro;
- if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.warning, "%sthe setting '", fll_error_print_warning);
- f_color_print(main.output.stream, main.context.set.notable, "%s", fake_build_setting_name_version_file);
- f_color_print(main.output.stream, main.context.set.warning, "' in the file '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", path_file);
- f_color_print(main.output.stream, main.context.set.warning, "' is required, defaulting to '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", fake_build_version_micro);
- f_color_print(main.output.stream, main.context.set.warning, "'.");
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ if (main.warning.verbosity == f_console_verbosity_verbose) {
+ flockfile(main.warning.to.stream);
+
+ fl_print_format("%c%[%SThe setting '%]", main.warning.to.stream, f_string_eol_s[0], main.warning.context, main.warning.prefix, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, fake_build_setting_name_version_file, main.warning.notable);
+ fl_print_format("%[' in the file '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, path_file, main.warning.notable);
+ fl_print_format("%[' is required, defaulting to '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%s%]", main.warning.to.stream, main.warning.notable, fake_build_version_micro, main.warning.notable);
+ fl_print_format("%['.%]%c", main.warning.to.stream, main.warning.context, main.warning.context, f_string_eol_s[0]);
+
+ funlockfile(main.warning.to.stream);
}
}
if (!setting->version_target) {
setting->version_target = fake_build_version_type_major;
- if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.warning, "%sthe setting '", fll_error_print_warning);
- f_color_print(main.output.stream, main.context.set.notable, "%s", fake_build_setting_name_version_target);
- f_color_print(main.output.stream, main.context.set.warning, "' in the file '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", path_file);
- f_color_print(main.output.stream, main.context.set.warning, "' is required, defaulting to '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", fake_build_version_major);
- f_color_print(main.output.stream, main.context.set.warning, "'.");
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ if (main.warning.verbosity == f_console_verbosity_verbose) {
+ flockfile(main.warning.to.stream);
+
+ fl_print_format("%c%[%SThe setting '%]", main.warning.to.stream, f_string_eol_s[0], main.warning.context, main.warning.prefix, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, fake_build_setting_name_version_target, main.warning.notable);
+ fl_print_format("%[' in the file '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, path_file, main.warning.notable);
+ fl_print_format("%[' is required, defaulting to '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%s%]", main.warning.to.stream, main.warning.notable, fake_build_version_major, main.warning.notable);
+ fl_print_format("%['.%]%c", main.warning.to.stream, main.warning.context, main.warning.context, f_string_eol_s[0]);
+
+ funlockfile(main.warning.to.stream);
}
}
}
prefix[i]->used = 0;
for (j = 0; j < 2; ++j) {
+
if (setting_target[j] && i + 1 <= setting_target[j]) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sWhen the '", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", setting_name[j]);
- f_color_print(main.error.to.stream, main.context.set.error, "' is set to '");
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", name_target[setting_target[j] - 1]);
- f_color_print(main.error.to.stream, main.context.set.error, "', then the '");
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", name_object[i]);
- f_color_print(main.error.to.stream, main.context.set.error, "' Object must have Content.");
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SWhen the '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, setting_name[j], main.error.notable);
+ fl_print_format("%[' is set to '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, name_target[setting_target[j] - 1], main.error.notable);
+ fl_print_format("%[' then the '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, name_object[i], main.error.notable);
+ fl_print_format("%[' Object must have Content.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
*status = F_status_set_error(F_failure);
setting->search_shared = F_false;
}
- if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.error, "%sthe parameters '", fll_error_print_warning);
- f_color_print(main.output.stream, main.context.set.notable, "%s%s", f_console_symbol_long_enable_s, fake_long_shared_disabled);
- f_color_print(main.output.stream, main.context.set.error, "' and '");
- f_color_print(main.output.stream, main.context.set.notable, "%s%s", f_console_symbol_long_enable_s, fake_long_shared_enabled);
- f_color_print(main.output.stream, main.context.set.error, "' contradict, defaulting to '");
-
- if (setting->build_shared) {
- f_color_print(main.output.stream, main.context.set.notable, "%s%s", f_console_symbol_long_enable_s, fake_long_shared_enabled);
- }
- else {
- f_color_print(main.output.stream, main.context.set.notable, "%s%s", f_console_symbol_long_enable_s, fake_long_shared_disabled);
- }
+ if (main.error.verbosity != f_console_verbosity_quiet) {
+ flockfile(main.error.to.stream);
- f_color_print(main.output.stream, main.context.set.error, "'.");
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe parameters '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%s%s%]", main.error.to.stream, main.error.notable, f_console_symbol_long_enable_s, fake_long_shared_disabled, main.error.notable);
+ fl_print_format("%[' and '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%s%s%]", main.error.to.stream, main.error.notable, f_console_symbol_long_enable_s, fake_long_shared_enabled, main.error.notable);
+ fl_print_format("%[' contradict, defaulting to '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%s%s%]", main.error.to.stream, main.error.notable, f_console_symbol_long_enable_s, setting->build_shared ? fake_long_shared_enabled : fake_long_shared_disabled, main.error.notable);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
}
else {
}
if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.error, "%sthe parameters '", fll_error_print_warning);
- f_color_print(main.output.stream, main.context.set.notable, "%s%s", f_console_symbol_long_enable_s, fake_long_static_disabled);
- f_color_print(main.output.stream, main.context.set.error, "' and '");
- f_color_print(main.output.stream, main.context.set.notable, "%s%s", f_console_symbol_long_enable_s, fake_long_static_enabled);
- f_color_print(main.output.stream, main.context.set.error, "' contradict, defaulting to '");
-
- if (setting->build_static) {
- f_color_print(main.output.stream, main.context.set.notable, "%s%s", f_console_symbol_long_enable_s, fake_long_static_enabled);
- }
- else {
- f_color_print(main.output.stream, main.context.set.notable, "%s%s", f_console_symbol_long_enable_s, fake_long_static_disabled);
- }
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SThe parameters '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%s%s%]", main.error.to.stream, main.error.notable, f_console_symbol_long_enable_s, fake_long_static_disabled, main.error.notable);
+ fl_print_format("%[' and '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%s%s%]", main.error.to.stream, main.error.notable, f_console_symbol_long_enable_s, fake_long_static_enabled, main.error.notable);
+ fl_print_format("%[' contradict, defaulting to '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%s%s%]", main.error.to.stream, main.error.notable, f_console_symbol_long_enable_s, setting->build_static ? fake_long_static_enabled : fake_long_static_disabled, main.error.notable);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.error, "'.");
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ funlockfile(main.error.to.stream);
}
}
else {
if (setting->build_language == fake_build_language_type_c || setting->build_language == fake_build_language_type_cpp) {
if (setting->build_shared == F_false && setting->build_static == F_false) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sThe build settings '", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", fake_build_setting_name_build_shared);
- f_color_print(main.error.to.stream, main.context.set.error, "' and '");
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", fake_build_setting_name_build_static);
- f_color_print(main.error.to.stream, main.context.set.error, "' cannot both be false when using the language '");
-
- if (setting->build_language == fake_build_language_type_c) {
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", fake_build_language_c);
- }
- else {
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", fake_build_language_cpp);
- }
+ flockfile(main.error.to.stream);
- f_color_print(main.error.to.stream, main.context.set.error, "'.");
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe build settings '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%s%]", main.error.to.stream, main.error.notable, fake_build_setting_name_build_shared, main.error.notable);
+ fl_print_format("%[' and '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%s%]", main.error.to.stream, main.error.notable, fake_build_setting_name_build_static, main.error.notable);
+ fl_print_format("%[' cannot both be false when using the language '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%s%]", main.error.to.stream, main.error.notable, f_console_symbol_long_enable_s, setting->build_language == fake_build_language_type_c ? fake_build_language_c : fake_build_language_cpp, main.error.notable);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
*status = F_status_set_error(F_failure);
if (!data_build.setting.build_sources_library.used) return 0;
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.important, "Compiling static objects.");
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ fll_print_format("%c%[Compiling static objects.%]%c", main.output.stream, f_string_eol_s[0], main.context.set.important, main.context.set.important, f_string_eol_s[0]);
}
f_string_dynamic_t file_name = f_string_dynamic_t_initialize;
if (*status == F_false) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sThe path '", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", destination_path.string);
- f_color_print(main.error.to.stream, main.context.set.error, "' exists but is not a directory.");
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SThe path '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%Q%]", main.error.to.stream, main.error.notable, destination_path, main.error.notable);
+ fl_print_format("%[' exists but is not a directory.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
*status = F_status_set_error(F_failure);
if (F_status_is_error(*status)) {
if (F_status_set_fine(*status) == F_file_found_not) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sThe path '", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", destination_path.string);
- f_color_print(main.error.to.stream, main.context.set.error, "' could not be created, a parent directory does not exist.");
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SThe path '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%Q%]", main.error.to.stream, main.error.notable, destination_path, main.error.notable);
+ fl_print_format("%[' could not be created, a parent directory does not exist.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
else {
fll_error_file_print(main.error, F_status_set_fine(*status), "f_directory_create", F_true, destination_path.string, "create", fll_error_file_type_directory);
}
if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "Directory '%s' created.%c", destination_path.string, f_string_eol_s[0]);
+ fll_print_format("Directory '%S' created.%c", main.output.stream, destination_path, f_string_eol_s[0]);
}
}
else if (F_status_is_error(*status)) {
if (F_status_is_fine(status)) {
if (main->error.verbosity != f_console_verbosity_quiet) {
- fprintf(main->output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main->output.stream, main->context.set.important, "Building project%c", data_build.setting.project_name.used ? ' ' : 0);
+ flockfile(main->output.stream);
- if (data_build.setting.project_name.used) {
- f_color_print_code(main->output.stream, main->context.notable);
- f_print_dynamic(main->output.stream, data_build.setting.project_name);
- f_color_print_code(main->output.stream, main->context.reset);
- }
+ fl_print_format("%c%[Building project%] ", main->output.stream, f_string_eol_s[0], main->context.set.important, main->context.set.important);
+ fl_print_format("%[%Q%]", main->output.stream, main->context.set.notable, data_build.setting.project_name, main->context.set.notable);
+ fl_print_format("%[.%]%c", main->output.stream, main->context.set.important, main->context.set.important, f_string_eol_s[0]);
- f_color_print(main->output.stream, main->context.set.important, ".");
- fprintf(main->output.stream, "%c", f_string_eol_s[0]);
+ funlockfile(main->output.stream);
}
}
if (!data_build.setting.build_sources_program.used) return 0;
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.important, "Compiling shared program.");
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ fll_print_format("%c%[Compiling shared program.%]%c", main.output.stream, f_string_eol_s[0], main.context.set.important, main.context.set.important, f_string_eol_s[0]);
}
f_string_dynamics_t arguments = f_string_dynamics_t_initialize;
if (!data_build.setting.build_sources_program.used) return 0;
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.important, "Compiling static program.");
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ fll_print_format("%c%[Compiling static program.%]%c", main.output.stream, f_string_eol_s[0], main.context.set.important, main.context.set.important, f_string_eol_s[0]);
}
f_string_dynamics_t arguments = f_string_dynamics_t_initialize;
f_status_t status = F_none;
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.important, "Deleting all files within build directory '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", main.path_build.string);
- f_color_print(main.output.stream, main.context.set.important, "'.%c", f_string_eol_s[0]);
+ flockfile(main.output.stream);
+
+ fl_print_format("%c%[Deleting all files within build directory '%]", main.output.stream, f_string_eol_s[0], main.context.set.important, main.context.set.important);
+ fl_print_format("%[%Q%]", main.output.stream, main.context.set.notable, main.path_build, main.context.set.notable);
+ fl_print_format("%[.%]%c", main.output.stream, main.context.set.important, main.context.set.important, f_string_eol_s[0]);
+
+ funlockfile(main.output.stream);
}
if (fake_signal_received(main)) {
if (F_status_set_fine(status) == F_file_found_not) {
if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "The build directory '%s' does not exist.%c", main.path_build.string, f_string_eol_s[0]);
+ flockfile(main.output.stream);
+
+ f_print_terminated("The build directory '", main.output.stream);
+ fl_print_format("%[%Q%]", main.output.stream, main.context.set.notable, main.path_build, main.context.set.notable);
+ fl_print_format("' does not exist.%c", main.output.stream, f_string_eol_s[0]);
+
+ funlockfile(main.output.stream);
}
status = F_none;
if (!result) {
// @todo in order to get this working, the recursive function that calls this needs to be rewritten with more flexibility or provide a higher-level equivalent function.
- printf("Removed '%s'.%c", path, f_string_eol_s[0]);
+ fll_print_format("Removed '%S'.%c", stdout, path, f_string_eol_s[0]);
}
return result;
if (F_status_is_error(*status)) return 1;
if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "%s", program.string);
+ flockfile(main.output.stream);
+
+ f_print_dynamic(program, main.output.stream);
for (f_array_length_t i = 0; i < arguments.used; ++i) {
if (!arguments.array[i].used) continue;
- fprintf(main.output.stream, " %s", arguments.array[i].string);
+ fl_print_format(" %Q", main.output.stream, arguments.array[i]);
} // for
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ f_print_character(f_string_eol_s[0], main.output.stream);
+
+ funlockfile(main.output.stream);
// flush to stdout before executing command.
fflush(main.output.stream);
if (F_status_set_fine(*status) == F_file_found_not) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sFailed to find program '", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", program.used ? program.string : f_string_empty_s);
- f_color_print(main.error.to.stream, main.context.set.error, "' for executing.%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SFailed to find program '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%Q%]", main.error.to.stream, main.error.notable, program, main.error.notable);
+ fl_print_format("%[' for executing.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
}
else {
if (F_status_is_error(status)) {
if (fll_error_print(main->error, F_status_set_fine(status), "f_utf_is_word_dash_plus", F_false) == F_known_not && main->error.verbosity != f_console_verbosity_quiet) {
- fprintf(main->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main->error.to.stream, main->context.set.error, "%sFailed to process the parameter '", fll_error_print_error);
- f_color_print(main->error.to.stream, main->context.set.notable, "%s%s", f_console_symbol_long_enable_s, fake_long_process);
- f_color_print(main->error.to.stream, main->context.set.error, "'.%c", f_string_eol_s[0]);
+ flockfile(main->error.to.stream);
+
+ fl_print_format("%c%[%SFailed to process the parameter '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix, main->error.context);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->error.notable, f_console_symbol_long_enable_s, fake_long_process, main->error.notable);
+ fl_print_format("%['.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+
+ funlockfile(main->error.to.stream);
}
return status;
if (status == F_false) {
if (main->error.verbosity != f_console_verbosity_quiet) {
- fprintf(main->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main->error.to.stream, main->context.set.error, "%sThe '", fll_error_print_error);
- f_color_print(main->error.to.stream, main->context.set.notable, "%s%s", f_console_symbol_long_enable_s, fake_long_process);
- f_color_print(main->error.to.stream, main->context.set.error, "' parameters value '");
- f_color_print(main->error.to.stream, main->context.set.notable, "%s", arguments.argv[location]);
- f_color_print(main->error.to.stream, main->context.set.error, "' contains non-word, non-dash, and non-plus characters.%c", f_string_eol_s[0]);
+ flockfile(main->error.to.stream);
+
+ fl_print_format("%c%[%SThe '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix, main->error.context);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->error.notable, f_console_symbol_long_enable_s, fake_long_process, main->error.notable);
+ fl_print_format("%[' parameters value '%]", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+ fl_print_format("%[%S%]", main->error.to.stream, main->error.notable, arguments.argv[location], main->error.notable);
+ fl_print_format("%[' contains non-word, non-dash, and non-plus characters.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+
+ funlockfile(main->error.to.stream);
}
return F_status_set_error(F_parameter);
if (F_status_is_error(status)) {
if (status == F_status_set_error(F_string_too_large)) {
if (main->error.verbosity != f_console_verbosity_quiet) {
- fprintf(main->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main->error.to.stream, main->context.set.error, "%sThe parameter '", fll_error_print_error);
- f_color_print(main->error.to.stream, main->context.set.notable, "%s%s", f_console_symbol_long_enable_s, parameters_name[i]);
- f_color_print(main->error.to.stream, main->context.set.error, "' is too long.%c", f_string_eol_s[0]);
+ flockfile(main->error.to.stream);
+
+ fl_print_format("%c%[%SThe parameter '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix, main->error.context);
+ fl_print_format("%[%s%S%]", main->error.to.stream, main->error.notable, f_console_symbol_long_enable_s, parameters_name[i], main->error.notable);
+ fl_print_format("%[' is too long.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+
+ funlockfile(main->error.to.stream);
}
}
else {
if (length == 0 || status == F_data_not) {
if (main->error.verbosity != f_console_verbosity_quiet) {
- fprintf(main->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main->error.to.stream, main->context.set.error, "%sThe parameter '", fll_error_print_error);
- f_color_print(main->error.to.stream, main->context.set.notable, "%s%s", f_console_symbol_long_enable_s, parameters_name[i]);
- f_color_print(main->error.to.stream, main->context.set.error, "' must not be empty and must not contain only whitespace.%c", f_string_eol_s[0]);
+ flockfile(main->error.to.stream);
+
+ fl_print_format("%c%[%SThe parameter '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix, main->error.context);
+ fl_print_format("%[%s%S%]", main->error.to.stream, main->error.notable, f_console_symbol_long_enable_s, parameters_name[i], main->error.notable);
+ fl_print_format("%[' must not be empty and must not contain only whitespace.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+
+ funlockfile(main->error.to.stream);
}
}
}
if (F_status_is_error(status)) {
if (fll_error_print(main->error, F_status_set_fine(status), "fl_console_parameter_to_string_dynamic_directory", F_false) == F_known_not && main->error.verbosity != f_console_verbosity_quiet) {
- fprintf(main->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main->error.to.stream, main->context.set.error, "%sFailed to process parameter '", fll_error_print_error);
- f_color_print(main->error.to.stream, main->context.set.notable, "%s%s", f_console_symbol_long_enable_s, parameters_name[i]);
- f_color_print(main->error.to.stream, main->context.set.error, "'.%c", f_string_eol_s[0]);
+ flockfile(main->error.to.stream);
+
+ fl_print_format("%c%[%SFailed to process parameter '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix, main->error.context);
+ fl_print_format("%[%s%S%]", main->error.to.stream, main->error.notable, f_console_symbol_long_enable_s, parameters_name[i], main->error.notable);
+ fl_print_format("%['.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+
+ funlockfile(main->error.to.stream);
}
return status;
if (F_status_is_error(status)) {
if (fll_error_print(main->error, F_status_set_fine(status), " macro_f_string_dynamic_t_resize", F_false) == F_known_not && main->error.verbosity != f_console_verbosity_quiet) {
- fprintf(main->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main->error.to.stream, main->context.set.error, "%sFailed to load default for the parameter '", fll_error_print_error);
- f_color_print(main->error.to.stream, main->context.set.notable, "%s%s", f_console_symbol_long_enable_s, parameters_name[i]);
- f_color_print(main->error.to.stream, main->context.set.error, "'.%c", f_string_eol_s[0]);
+ flockfile(main->error.to.stream);
+
+ fl_print_format("%c%[%SFailed to load default for the parameter '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix, main->error.context);
+ fl_print_format("%[%s%S%]", main->error.to.stream, main->error.notable, f_console_symbol_long_enable_s, parameters_name[i], main->error.notable);
+ fl_print_format("%['.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+
+ funlockfile(main->error.to.stream);
}
return status;
if (F_status_is_error(status)) {
if (fll_error_print(main->error, F_status_set_fine(status), "fll_program_parameter_additional_rip", F_false) == F_known_not && main->error.verbosity != f_console_verbosity_quiet) {
- fprintf(main->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main->error.to.stream, main->context.set.error, "%sFailed to process the parameter '", fll_error_print_error);
- f_color_print(main->error.to.stream, main->context.set.notable, "%s%s", f_console_symbol_long_enable_s, fake_long_define);
- f_color_print(main->error.to.stream, main->context.set.error, "'.%c", f_string_eol_s[0]);
+ flockfile(main->error.to.stream);
+
+ fl_print_format("%c%[%SFailed to process the parameter '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix, main->error.context);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->error.notable, f_console_symbol_long_enable_s, fake_long_define, main->error.notable);
+ fl_print_format("%['.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+
+ funlockfile(main->error.to.stream);
}
return status;
if (F_status_is_error(status)) {
if (fll_error_print(main->error, F_status_set_fine(status), "fll_program_parameter_additional_rip", F_false) == F_known_not && main->error.verbosity != f_console_verbosity_quiet) {
- fprintf(main->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main->error.to.stream, main->context.set.error, "%sFailed to process the parameter '", fll_error_print_error);
- f_color_print(main->error.to.stream, main->context.set.notable, "%s%s", f_console_symbol_long_enable_s, fake_long_mode);
- f_color_print(main->error.to.stream, main->context.set.error, "'.%c", f_string_eol_s[0]);
+ flockfile(main->error.to.stream);
+
+ fl_print_format("%c%[%SFailed to process the parameter '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix, main->error.context);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->error.notable, f_console_symbol_long_enable_s, fake_long_mode, main->error.notable);
+ fl_print_format("%['.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+
+ funlockfile(main->error.to.stream);
}
return status;
if (F_status_is_error(status)) {
if (fll_error_print(main->error, F_status_set_fine(status), "f_utf_is_word_dash_plus", F_false) == F_known_not && main->error.verbosity != f_console_verbosity_quiet) {
- fprintf(main->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main->error.to.stream, main->context.set.error, "%sFailed to process the parameter '", fll_error_print_error);
- f_color_print(main->error.to.stream, main->context.set.notable, "%s%s", f_console_symbol_long_enable_s, fake_long_mode);
- f_color_print(main->error.to.stream, main->context.set.error, "'.%c", f_string_eol_s[0]);
+ flockfile(main->error.to.stream);
+
+ fl_print_format("%c%[%SFailed to process the parameter '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix, main->error.context);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->error.notable, f_console_symbol_long_enable_s, fake_long_mode, main->error.notable);
+ fl_print_format("%['.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+
+ funlockfile(main->error.to.stream);
}
return status;
if (status == F_false) {
if (main->error.verbosity != f_console_verbosity_quiet) {
- fprintf(main->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main->error.to.stream, main->context.set.error, "%sThe '", fll_error_print_error);
- f_color_print(main->error.to.stream, main->context.set.notable, "%s%s", f_console_symbol_long_enable_s, fake_long_mode);
- f_color_print(main->error.to.stream, main->context.set.error, "' parameters value '");
- f_color_print(main->error.to.stream, main->context.set.notable, "%s", main->mode.array[i].string);
- f_color_print(main->error.to.stream, main->context.set.error, "' contains non-word, non-dash, and non-plus characters.%c", f_string_eol_s[0]);
+ flockfile(main->error.to.stream);
+
+ fl_print_format("%c%[%SThe '%]", main->error.to.stream, f_string_eol_s[0], main->error.context, main->error.prefix, main->error.context);
+ fl_print_format("%[%s%s%]", main->error.to.stream, main->error.notable, f_console_symbol_long_enable_s, fake_long_mode, main->error.notable);
+ fl_print_format("%[' parameters value '%]", main->error.to.stream, main->error.notable, f_console_symbol_long_enable_s, fake_long_mode, main->error.notable);
+ fl_print_format("%[%Q%]", main->error.to.stream, main->error.notable, main->mode.array[i], main->error.notable);
+ fl_print_format("%[' contains non-word, non-dash, and non-plus characters.%]%c", main->error.to.stream, main->error.context, main->error.context, f_string_eol_s[0]);
+
+ funlockfile(main->error.to.stream);
}
return F_status_set_error(F_parameter);
case F_signal_termination:
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "ALERT: An appropriate exit signal has been received, now aborting.");
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
+ fll_print_format("%c%[ALERT: An appropriate exit signal has been received, now aborting.%]%c", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.context, f_string_eol_s[0]);
}
return F_true;
}
}
else if (parameters_required[i]) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sNo valid path for the (required) directory parameter '", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s%s", f_console_symbol_long_enable_s, parameters_name[i]);
- f_color_print(main.error.to.stream, main.context.set.error, "' was found.%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SNo valid path for the (required) directory parameter '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%s%s%]", main.error.to.stream, main.error.notable, f_console_symbol_long_enable_s, parameters_name[i], main.error.notable);
+ fl_print_format("%[' was found.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
return F_status_set_error(F_directory_found_not);
}
#ifndef _di_fake_verbose_print_clone_
void fake_verbose_print_clone(const f_file_t output, const f_string_t source, const f_string_t destination) {
- fprintf(output.stream, "Cloned '%s' to '%s'.%c", source, destination, f_string_eol_s[0]);
+ fll_print_format("Cloned '%S' to '%S'.%c", output.stream, source, destination, f_string_eol_s[0]);
}
#endif // _di_fake_verbose_print_clone_
#ifndef _di_fake_verbose_print_copy_
void fake_verbose_print_copy(const f_file_t output, const f_string_t source, const f_string_t destination) {
- fprintf(output.stream, "Copied '%s' to '%s'.%c", source, destination, f_string_eol_s[0]);
+ fll_print_format("Copied '%S' to '%S'.%c", output.stream, source, destination, f_string_eol_s[0]);
}
#endif // _di_fake_verbose_print_copy_
#ifndef _di_fake_verbose_print_move_
void fake_verbose_print_move(const f_file_t output, const f_string_t source, const f_string_t destination) {
- fprintf(output.stream, "Moved '%s' to '%s'.%c", source, destination, f_string_eol_s[0]);
+ fll_print_format("Moved '%S' to '%S'.%c", output.stream, source, destination, f_string_eol_s[0]);
}
#endif // _di_fake_verbose_print_move_
}
else if (status == F_exist_not) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(error.to.stream, error.context, "%sThe group name '", error.prefix);
- f_color_print(error.to.stream, error.notable, "%s", buffer.string);
- f_color_print(error.to.stream, error.context, "' was not found.%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SThe group name '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%Q%]", main.error.to.stream, main.error.notable, buffer, main.error.notable);
+ fl_print_format("%[' was not found.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_status_set_error(F_failure);
}
else if (number > f_type_size_32_unsigned) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(error.to.stream, error.context, "%sThe number '", error.prefix);
- f_color_print(error.to.stream, error.notable, "%llu", number);
- f_color_print(error.to.stream, error.context, "' is too large.%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SThe number '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%un%]", main.error.to.stream, main.error.notable, number, main.error.notable);
+ fl_print_format("%[' is too large.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
}
if (F_status_is_error(status)) {
if (main.error.verbosity != f_console_verbosity_quiet) {
if (F_status_set_fine(status) == F_syntax) {
- fprintf(error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(error.to.stream, error.context, "%sThe mode '", error.prefix);
- f_color_print(error.to.stream, error.notable, "%s", buffer.string);
- f_color_print(error.to.stream, error.context, "' is invalid.%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SThe mode '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%Q%]", main.error.to.stream, main.error.notable, buffer, main.error.notable);
+ fl_print_format("%[' is invalid.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
else {
fll_error_print(error, status, "f_file_mode_from_string", F_true);
}
else if (status == F_exist_not) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(error.to.stream, error.context, "%sThe user '", error.prefix);
- f_color_print(error.to.stream, error.notable, "%s", buffer.string);
- f_color_print(error.to.stream, error.context, "' was not found.%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SThe user '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%Q%]", main.error.to.stream, main.error.notable, buffer, main.error.notable);
+ fl_print_format("%[' was not found.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_status_set_error(F_failure);
}
else if (number > f_type_size_32_unsigned) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(error.to.stream, error.context, "%sThe number '", error.prefix);
- f_color_print(error.to.stream, error.notable, "%llu", number);
- f_color_print(error.to.stream, error.context, "' is too large.%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SThe number '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%un%]", main.error.to.stream, main.error.notable, number, main.error.notable);
+ fl_print_format("%[' is too large.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
}
if (!data_make->buffer.used) {
if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.warning, "%sthe fakefile '", fll_error_print_warning);
- f_color_print(main.output.stream, main.context.set.notable, "%s", main.file_data_build_fakefile.string);
- f_color_print(main.output.stream, main.context.set.warning, "' is empty.");
+ flockfile(main.warning.to.stream);
+
+ fl_print_format("%c%[%SThe fakefile '%]", main.warning.to.stream, f_string_eol_s[0], main.warning.context, main.warning.prefix, main.warning.context);
+ fl_print_format("%[%Q%]", main.warning.to.stream, main.warning.notable, main.file_data_build_fakefile, main.warning.notable);
+ fl_print_format("%[' is empty.%]%c", main.warning.to.stream, main.warning.context, main.warning.context, f_string_eol_s[0]);
+
+ funlockfile(main.warning.to.stream);
}
return;
if (missing_main) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.error.context, "%sThe fakefile '", main.error.prefix);
- f_color_print(main.error.to.stream, main.error.notable, "%s", main.file_data_build_fakefile.string);
- f_color_print(main.error.to.stream, main.error.context, "' is missing the required '");
- f_color_print(main.error.to.stream, main.error.notable, "%s", fake_make_section_main);
- f_color_print(main.error.to.stream, main.error.context, "' object.%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SThe fakefile '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%Q%]", main.error.to.stream, main.error.notable, main.file_data_build_fakefile, main.error.notable);
+ fl_print_format("%[' is missing the required '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%s%]", main.error.to.stream, main.error.notable, fake_make_section_main, main.error.notable);
+ fl_print_format("%[' object.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
*status = F_status_set_error(F_failure);
// Ensure that the terminating NULL is after the end of the string used size.
--data_make->setting_build.environment.array[data_make->setting_build.environment.used++].used;
}
- else if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.warning, "%sThe environment name '", fll_error_print_warning);
- f_color_print(main.output.stream, main.context.set.notable, "%s", name_define.string);
- f_color_print(main.output.stream, main.context.set.warning, "' is already added.%c", f_string_eol_s[0]);
+ else if (main.warning.verbosity == f_console_verbosity_verbose) {
+ flockfile(main.warning.to.stream);
+
+ fl_print_format("%c%[%SThe environment name '%]", main.warning.to.stream, f_string_eol_s[0], main.warning.context, main.warning.prefix, main.warning.context);
+ fl_print_format("%[%Q%]", main.warning.to.stream, main.warning.notable, name_define, main.warning.notable);
+ fl_print_format("%[' is already added.%]%c", main.warning.to.stream, main.warning.context, main.warning.context, f_string_eol_s[0]);
+
+ funlockfile(main.warning.to.stream);
}
}
- else if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.warning, "%sThe environment name '", fll_error_print_warning);
- f_color_print(main.output.stream, main.context.set.notable, "%s", name_define.string);
- f_color_print(main.output.stream, main.context.set.warning, "' is invalid, ignoring.%c", f_string_eol_s[0]);
+ else if (main.warning.verbosity == f_console_verbosity_verbose) {
+ flockfile(main.warning.to.stream);
+
+ fl_print_format("%c%[%SThe environment name '%]", main.warning.to.stream, f_string_eol_s[0], main.warning.context, main.warning.prefix, main.warning.context);
+ fl_print_format("%[%Q%]", main.warning.to.stream, main.warning.notable, name_define, main.warning.notable);
+ fl_print_format("%[' is invalid, ignoring.%]%c", main.warning.to.stream, main.warning.context, main.warning.context, f_string_eol_s[0]);
+
+ funlockfile(main.warning.to.stream);
}
name_define.used = 0;
}
else {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sInvalid characters in the define setting name '", fll_error_print_error);
+ flockfile(main.error.to.stream);
- f_color_print_code(main.error.to.stream, *main.error.notable.before);
- f_print_dynamic(main.error.to.stream, define.array[i].name);
- f_color_print_code(main.error.to.stream, *main.error.notable.after);
+ fl_print_format("%c%[%SInvalid characters in the define setting name '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%Q%]", main.error.to.stream, main.error.notable, define.array[i].name, main.error.notable);
+ fl_print_format("%[', only alpha-numeric ASCII characters and underscore (without a leading digit) are allowed.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "', only alpha-numeric ASCII characters and underscore (without a leading digit) is %c", f_string_eol_s[0]);
+ funlockfile(main.error.to.stream);
}
*status = F_status_set_error(F_failure);
}
if (main->error.verbosity != f_console_verbosity_quiet) {
- fprintf(main->output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main->output.stream, main->context.set.important, "Making project.%c", f_string_eol_s[0]);
+ fll_print_format("%c$[Making project.%]%c", main->output.stream, f_string_eol_s[0], main->context.set.important, main->context.set.important, f_string_eol_s[0]);
}
f_status_t status = F_none;
if (F_status_is_error(status)) {
fll_error_print(main->error, F_status_set_fine(status), "f_string_dynamics_increase", F_true);
+
return status;
}
if (fake_signal_received(*main)) {
macro_fake_make_data_t_delete_simple(data_make);
+
return F_signal;
}
{
f_status_t status_path = f_path_change_at(data_make.path.top.id);
- if (F_status_is_error(status_path) && main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main->output.stream, main->context.set.warning, "%sFailed change back to orignal path '", fll_error_print_warning);
- f_color_print(main->output.stream, main->context.set.notable, "%s", data_make.path.stack.array[0].string);
- f_color_print(main->output.stream, main->context.set.warning, "', status code = ");
- f_color_print(main->output.stream, main->context.set.notable, "%llu", F_status_set_fine(status_path));
- f_color_print(main->output.stream, main->context.set.warning, ".%c", f_string_eol_s[0]);
+ if (F_status_is_error(status_path) && main->warning.verbosity == f_console_verbosity_verbose) {
+ flockfile(main->warning.to.stream);
+
+ fl_print_format("%c%[%SFailed change back to orignal path '%]", main->warning.to.stream, f_string_eol_s[0], main->warning.context, main->warning.prefix, main->warning.context);
+ fl_print_format("%[%Q%]", main->warning.to.stream, main->warning.notable, data_make.path.stack.array[0], main->warning.notable);
+ fl_print_format("%[', status code =%] ", main->warning.to.stream, main->warning.context, main->warning.context);
+ fl_print_format("%[%ui%]", main->warning.to.stream, main->warning.notable, F_status_set_fine(status_path), main->warning.notable);
+ fl_print_format("%['.%]%c", main->warning.to.stream, main->warning.context, main->warning.context, f_string_eol_s[0]);
+
+ funlockfile(main->warning.to.stream);
}
}
if (status == F_equal_to) {
unmatched = F_false;
- status = f_conversion_number_unsigned_to_string(uint8_value[i], 10, &value);
+ status = f_conversion_number_unsigned_to_string(uint8_value[i], f_conversion_data_base_10_s, &value);
break;
}
} // for
const f_fss_named_t *section = &data_make->fakefile.array[id_section];
if (main->error.verbosity != f_console_verbosity_quiet) {
- fprintf(main->output.stream, "%c", f_string_eol_s[0]);
+ flockfile(main->output.stream);
- f_color_print(main->output.stream, main->context.set.important, "Processing Section '");
+ fl_print_format("%c%[Processing Section '%]", main->output.stream, f_string_eol_s[0], main->context.set.important, main->context.set.important);
+ fl_print_format("%[%Q%]", main->output.stream, main->context.set.notable, section->name, main->context.set.notable);
+ fl_print_format("%['.%]%c", main->output.stream, main->context.set.important, main->context.set.important, f_string_eol_s[0]);
- f_color_print_code(main->output.stream, *main->context.set.notable.before);
- f_print_dynamic_partial(main->output.stream, data_make->buffer, section->name);
- f_color_print_code(main->output.stream, *main->context.set.notable.after);
-
- f_color_print(main->output.stream, main->context.set.important, "'.%c", f_string_eol_s[0]);
+ funlockfile(main->output.stream);
}
if (!section->objects.used) {
if (i == section->objects.used && (operation_if == fake_make_operation_if_type_true_next || operation_if == fake_make_operation_if_type_false_next || operation_if == fake_make_operation_if_type_else_true || operation_if == fake_make_operation_if_type_else_false)) {
if (main->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- const char *type_name = 0;
+ flockfile(data_make->error.to.stream);
- if (operation_if == fake_make_operation_if_type_true_next || operation_if == fake_make_operation_if_type_false_next) {
- type_name = fake_make_operation_if;
- }
- else {
- type_name = fake_make_operation_else;
- }
+ fl_print_format("%c%[%SIncomplete '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, operation_if == fake_make_operation_if_type_true_next || operation_if == fake_make_operation_if_type_false_next ? fake_make_operation_if : fake_make_operation_else, data_make->error.notable);
+ fl_print_format("%[' at end of section.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sIncomplete '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", type_name);
- f_color_print(data_make->error.to.stream, data_make->error.context, "' at end of section.%c", f_string_eol_s[0]);
+ funlockfile(data_make->error.to.stream);
}
fake_print_message_section_operation_failed(*main, data_make->error, data_make->buffer, section->name, section->objects.array[section->objects.used - 1]);
}
if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Breaking as '");
- f_color_print(main->output.stream, main->context.set.notable, "%s", arguments.used ? arguments.array[0].string : fake_make_operation_argument_success);
- fprintf(main->output.stream, "'.%c", f_string_eol_s[0]);
+ flockfile(main->output.stream);
+
+ fl_print_format("%cBreaking as '", main->output.stream, f_string_eol_s[0]);
+ fl_print_format("%[%S%]", main->output.stream, main->context.set.notable, arguments.used ? arguments.array[0].string : fake_make_operation_argument_success, main->context.set.notable);
+ fl_print_format("'.%c", main->output.stream, f_string_eol_s[0]);
+
+ funlockfile(main->output.stream);
}
return 0;
*status = F_status_set_error(F_failure);
}
else if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Cloned '");
- f_color_print(main->output.stream, main->context.set.notable, "%s", arguments.array[i].string);
- fprintf(main->output.stream, "' to '");
- f_color_print(main->output.stream, main->context.set.notable, "%s", destination);
- fprintf(main->output.stream, "'.%c", f_string_eol_s[0]);
+ flockfile(main->output.stream);
+
+ fl_print_format("%cCloned '%[%Q%]' to '", main->output.stream, f_string_eol_s[0], main->context.set.notable, arguments.array[i], main->context.set.notable);
+ fl_print_format("%[%S%]'.%c", main->output.stream, f_string_eol_s[0], main->context.set.notable, destination, main->context.set.notable, f_string_eol_s[0]);
+
+ funlockfile(main->output.stream);
}
}
else if (F_status_is_error(status_file)) {
*status = F_status_set_error(F_failure);
}
else if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Copied '");
- f_color_print(main->output.stream, main->context.set.notable, "%s", arguments.array[i].string);
- fprintf(main->output.stream, "' to '");
- f_color_print(main->output.stream, main->context.set.notable, "%s", destination);
- fprintf(main->output.stream, "'.%c", f_string_eol_s[0]);
+ flockfile(main->output.stream);
+
+ fl_print_format("%cCopied '%[%Q%]", main->output.stream, f_string_eol_s[0], main->context.set.notable, arguments.array[i], main->context.set.notable);
+ fl_print_format("' to '%[%S%]'.%c", main->output.stream, main->context.set.notable, destination, main->context.set.notable, f_string_eol_s[0]);
+
+ funlockfile(main->output.stream);
}
}
else if (F_status_is_error(status_file)) {
fll_error_print(data_make->error, F_status_set_fine(*status), "f_environment_set", F_true);
}
else if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Defined environment variable '");
- f_color_print(main->output.stream, main->context.set.notable, "%s", arguments.array[0].string);
- fprintf(main->output.stream, "'.%c", f_string_eol_s[0]);
+ fll_print_format("%cDefined environment variable '%[%Q%]'.%c", main->output.stream, f_string_eol_s[0], main->context.set.notable, arguments.array[0], main->context.set.notable, f_string_eol_s[0]);
}
return 0;
if (F_status_is_error(*status)) {
if (F_status_set_fine(*status) == F_file_found_not) {
- if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main->output.stream, main->context.set.warning, "%sthe file '", fll_error_print_warning);
- f_color_print(main->output.stream, main->context.set.notable, "%s", arguments.array[i].string);
- f_color_print(main->output.stream, main->context.set.warning, "' was not found.%c", f_string_eol_s[0]);
+ if (main->warning.verbosity == f_console_verbosity_verbose) {
+ flockfile(main->warning.to.stream);
+
+ fl_print_format("%c%[%SThe file '%]", main->warning.to.stream, main->warning.prefix, f_string_eol_s[0]);
+ fl_print_format("%[%Q%]", main->warning.to.stream, main->warning.notable, arguments.array[i], main->warning.notable);
+ fl_print_format("%[' was not found.%]%c", main->warning.to.stream, f_string_eol_s[0]);
+
+ funlockfile(main->warning.to.stream);
}
*status = F_none;
if (F_status_set_fine(*status) == F_file_found_not) {
if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "The directory '");
- f_color_print(main->output.stream, main->context.set.notable, "%s", arguments.array[i].string);
- fprintf(main->output.stream, "' does not exist.%c", f_string_eol_s[0]);
+ fll_print_format("%cThe directory '%[%Q%]' does not exist.%c", main->output.stream, f_string_eol_s[0], main->context.set.notable, arguments.array[i], main->context.set.notable, f_string_eol_s[0]);
}
*status = F_none;
return 0;
}
else if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Removed '");
- f_color_print(main->output.stream, main->context.set.notable, "%s", arguments.array[i].string);
- fprintf(main->output.stream, "'.%c", f_string_eol_s[0]);
+ fll_print_format("%cRemoved '%[%Q%]'.%c", main->output.stream, f_string_eol_s[0], main->context.set.notable, arguments.array[i], main->context.set.notable, f_string_eol_s[0]);
}
}
else {
if (F_status_set_fine(*status) == F_file_found_not) {
if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "The file '");
- f_color_print(main->output.stream, main->context.set.notable, "%s", arguments.array[i].string);
- fprintf(main->output.stream, "' does not exist.%c", f_string_eol_s[0]);
+ fll_print_format("%cThe file '%[%Q%]' does not exist.%c", main->output.stream, f_string_eol_s[0], main->context.set.notable, arguments.array[i], main->context.set.notable, f_string_eol_s[0]);
}
*status = F_none;
return 0;
}
else if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Removed '");
- f_color_print(main->output.stream, main->context.set.notable, "%s", arguments.array[i].string);
- fprintf(main->output.stream, "'.%c", f_string_eol_s[0]);
+ fll_print_format("%cRemoved '%[%Q%]'.%c", main->output.stream, f_string_eol_s[0], main->context.set.notable, arguments.array[i], main->context.set.notable, f_string_eol_s[0]);
}
}
} // for
}
if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Exiting as '");
- f_color_print(main->output.stream, main->context.set.notable, "%s", arguments.used ? arguments.array[0].string : fake_make_operation_argument_success);
- fprintf(main->output.stream, "'.%c", f_string_eol_s[0]);
+ fll_print_format("%cExiting as '%[%S%]'.%c", main->output.stream, f_string_eol_s[0], main->context.set.notable, arguments.used ? arguments.array[0].string : fake_make_operation_argument_success, main->context.set.notable, f_string_eol_s[0]);
}
return 0;
}
if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Set failure state to '");
+ flockfile(main->output.stream);
+
+ f_print_terminated("Set failure state to '", main->output.stream);
if (data_make->setting_make.fail == fake_make_operation_fail_type_exit) {
- f_color_print(main->output.stream, main->context.set.notable, "%s", fake_make_operation_argument_exit);
+ fl_print_format("%[%s%]", main->output.stream, main->context.set.notable, fake_make_operation_argument_exit, main->context.set.notable);
}
else if (data_make->setting_make.fail == fake_make_operation_fail_type_warn) {
- f_color_print(main->output.stream, main->context.set.notable, "%s", fake_make_operation_argument_warn);
+ fl_print_format("%[%s%]", main->output.stream, main->context.set.notable, fake_make_operation_argument_warn, main->context.set.notable);
}
else if (data_make->setting_make.fail == fake_make_operation_fail_type_ignore) {
- f_color_print(main->output.stream, main->context.set.notable, "%s", fake_make_operation_argument_ignore);
+ fl_print_format("%[%s%]", main->output.stream, main->context.set.notable, fake_make_operation_argument_ignore, main->context.set.notable);
}
- fprintf(main->output.stream, "'.%c", f_string_eol_s[0]);
+ fl_print_format("'.%c", main->output.stream, f_string_eol_s[0]);
+
+ funlockfile(main->output.stream);
}
return 0;
fll_error_file_print(data_make->error, F_status_set_fine(*status), "f_file_role_change", F_true, arguments.array[i].string, "change group of", fll_error_file_type_file);
}
else if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Changed group of '");
- f_color_print(main->output.stream, main->context.set.notable, "%s", arguments.array[i].string);
- fprintf(main->output.stream, "' to ");
- f_color_print(main->output.stream, main->context.set.notable, "%llu", id);
- fprintf(main->output.stream, ".%c", f_string_eol_s[0]);
+ flockfile(main->output.stream);
+
+ fl_print_format("Changed group of '%[%s%]", main->output.stream, main->context.set.notable, arguments.array[i], main->context.set.notable);
+ fl_print_format("' to %[%ul%].%c", main->output.stream, main->context.set.notable, id, main->context.set.notable, f_string_eol_s[0]);
+
+ funlockfile(main->output.stream);
}
} // for
fll_error_file_print(data_make->error, F_status_set_fine(*status), "fll_file_role_change_all", F_true, arguments.array[i].string, "change group of", fll_error_file_type_file);
}
else if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Changed group of '");
- f_color_print(main->output.stream, main->context.set.notable, "%s", arguments.array[i].string);
- fprintf(main->output.stream, "' to ");
- f_color_print(main->output.stream, main->context.set.notable, "%llu", id);
- fprintf(main->output.stream, ".%c", f_string_eol_s[0]);
+ flockfile(main->output.stream);
+
+ fl_print_format("Changed group of '%[%s%]", main->output.stream, main->context.set.notable, arguments.array[i], main->context.set.notable);
+ fl_print_format("' to %[%ul%].%c", main->output.stream, main->context.set.notable, id, main->context.set.notable, f_string_eol_s[0]);
+
+ funlockfile(main->output.stream);
}
} // for
*operation_if = fake_make_operation_if_type_false_always_next;
if (main->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(main->output.stream, "%c", f_string_eol_s[0]);
+ flockfile(data_make->error.to.stream);
if ((i == 1 && number_left > f_number_t_size_unsigned) || (i > 1 && number_right > f_number_t_size_unsigned)) {
- f_color_print(main->error.to.stream, data_make->error.context, "%sThe number '", data_make->error.prefix);
- f_color_print(main->error.to.stream, data_make->error.notable, "%c%s", arguments.array[i].string);
- f_color_print(main->error.to.stream, data_make->error.context, "' may only be between the ranges -%llu to %llu.%c", f_number_t_size_unsigned, f_number_t_size_unsigned, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe number '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[i], data_make->error.notable);
+ fl_print_format("%[' may only be between the ranges -%un to %un.%]%c", data_make->error.to.stream, data_make->error.context, f_number_t_size_unsigned, f_number_t_size_unsigned, data_make->error.context, f_string_eol_s[0]);
}
else {
- f_color_print(main->error.to.stream, data_make->error.context, "%sInvalid or unsupported number provided '", data_make->error.prefix);
- f_color_print(main->error.to.stream, data_make->error.notable, "%s", arguments.array[i].string);
- f_color_print(main->error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ fl_print_format("%c%[%SInvalid or unsupported number provided '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[i], data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, f_number_t_size_unsigned, f_number_t_size_unsigned, data_make->error.context, f_string_eol_s[0]);
}
+
+ funlockfile(data_make->error.to.stream);
}
}
fll_error_file_print(data_make->error, F_status_set_fine(*status), "f_file_link", F_true, arguments.array[1].string, "create link", fll_error_file_type_file);
}
else if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Created symbolic link from '");
- f_color_print(main->error.to.stream, main->context.set.notable, "%s", arguments.array[1].string);
- fprintf(main->output.stream, "' to '");
- f_color_print(main->error.to.stream, main->context.set.notable, "%s", arguments.array[0].string);
- fprintf(main->output.stream, "'.%c", f_string_eol_s[0]);
+ flockfile(main->output.stream);
+
+ fl_print_format("Created symbolic link from '%[%Q%]", main->output.stream, main->context.set.notable, arguments.array[1], main->context.set.notable);
+ fl_print_format("' to %[%Q%].%c", main->output.stream, main->context.set.notable, arguments.array[0], main->context.set.notable, f_string_eol_s[0]);
+
+ funlockfile(main->output.stream);
}
return 0;
mode_t mode_file = 0;
for (f_array_length_t i = 1; i < arguments.used; ++i) {
+
mode = 0;
*status = f_file_mode_read(arguments.array[i].string, &mode_file);
}
if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Changed mode of '");
- f_color_print(main->error.to.stream, main->context.set.notable, "%s", arguments.array[i].string);
- fprintf(main->output.stream, "' to ");
- f_color_print(main->error.to.stream, main->context.set.notable, "%#o", mode);
- fprintf(main->output.stream, ".%c", f_string_eol_s[0]);
+ fll_print_format("Changed mode of '%Q' to %#@u.%c", main->output.stream, arguments.array[i], mode, f_string_eol_s[0]);
}
} // for
}
if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Changed mode of '");
- f_color_print(main->error.to.stream, main->context.set.notable, "%s", arguments.array[i].string);
- fprintf(main->output.stream, "' to ");
- f_color_print(main->error.to.stream, main->context.set.notable, "%#o", mode);
- fprintf(main->output.stream, ".%c", f_string_eol_s[0]);
+ fll_print_format("Changed mode of '%Q' to %#@u.%c", main->output.stream, arguments.array[i], mode, f_string_eol_s[0]);
}
} // for
break;
}
else if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Changed owner of '");
- f_color_print(main->error.to.stream, main->context.set.notable, "%s", arguments.array[i].string);
- fprintf(main->output.stream, "' to ");
- f_color_print(main->error.to.stream, main->context.set.notable, "%d", id);
- fprintf(main->output.stream, ".%c", f_string_eol_s[0]);
+ fll_print_format("Changed owner of '%Q' to %u.%c", main->output.stream, arguments.array[i], id, f_string_eol_s[0]);
}
} // for
fll_error_file_print(data_make->error, F_status_set_fine(*status), "fll_file_role_change_all", F_true, arguments.array[i].string, "change owner of", fll_error_file_type_file);
}
else if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Changed owner of '");
- f_color_print(main->error.to.stream, main->context.set.notable, "%s", arguments.array[i].string);
- fprintf(main->output.stream, "' to ");
- f_color_print(main->error.to.stream, main->context.set.notable, "%d", id);
- fprintf(main->output.stream, ".%c", f_string_eol_s[0]);
+ fll_print_format("Changed owner of '%Q' to %u.%c", main->output.stream, arguments.array[i], id, f_string_eol_s[0]);
}
} // for
if (F_status_is_error(*status)) {
fake_print_message_section_operation_path_stack_max(*main, data_make->error, F_status_set_fine(*status), "f_path_change", data_make->path.stack.array[data_make->path.stack.used - 1].string);
+
return 0;
}
if (F_status_is_error(*status)) {
fll_error_print(data_make->error, F_status_set_fine(*status), "fake_make_path_relative", F_true);
+
return 0;
}
- fprintf(main->output.stream, "Changed to project path '");
- f_color_print_code(main->output.stream, *main->context.set.notable.before);
- f_print_dynamic(main->output.stream, data_make->path_cache);
- f_color_print_code(main->output.stream, *main->context.set.notable.after);
- fprintf(main->output.stream, "'.%c", f_string_eol_s[0]);
+ fll_print_format("Changed to project path '%[%Q%]'.%c", main->output.stream, main->context.set.notable, data_make->path_cache, main->context.set.notable, f_string_eol_s[0]);
}
return 0;
}
if (operation == fake_make_operation_type_print) {
+ flockfile(main->output.stream);
+
for (f_array_length_t i = 0; i < arguments.used; ++i) {
- f_print_dynamic(main->output.stream, arguments.array[i]);
+ f_print_dynamic(arguments.array[i], main->output.stream);
if (i + 1 < arguments.used) {
- fprintf(main->output.stream, "%s", f_string_space_s);
+ f_print_character(f_string_space_s[0], main->output.stream);
}
} // for
- fprintf(main->output.stream, "%c", f_string_eol_s[0]);
+ f_print_character(f_string_space_s[0], main->output.stream);
+
+ funlockfile(main->output.stream);
+
return 0;
}
return 0;
}
- fprintf(main->output.stream, "Changed to project path '");
- f_color_print_code(main->output.stream, *main->context.set.notable.before);
- f_print_dynamic(main->output.stream, data_make->path_cache);
- f_color_print_code(main->output.stream, *main->context.set.notable.after);
- fprintf(main->output.stream, "'.%c", f_string_eol_s[0]);
+ fll_print_format("Changed to project path '%[%Q%]'.%c", main->output.stream, main->context.set.notable, data_make->path_cache, main->context.set.notable, f_string_eol_s[0]);
}
++data_make->path.stack.used;
}
if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Changed to project path ''.%c", f_string_eol_s[0]);
+ fll_print_format("Changed to project path ''.%c", main->output.stream, f_string_eol_s[0]);
}
// clear stack, except for the project root.
}
if (main->error.verbosity == f_console_verbosity_verbose) {
- fprintf(main->output.stream, "Touched %s '", arguments.array[0].string);
- f_color_print_code(main->output.stream, *main->context.set.notable.before);
- f_print_dynamic(main->output.stream, arguments.array[i]);
- f_color_print_code(main->output.stream, *main->context.set.notable.after);
- fprintf(main->output.stream, "'.%c", f_string_eol_s[0]);
+ fll_print_format("Touched '%[%Q%]'.%c", main->output.stream, main->context.set.notable, arguments.array[i], main->context.set.notable, f_string_eol_s[0]);
}
} // for
}
}
if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "%s", program.string);
+ flockfile(main.output.stream);
- for (f_array_length_t i = 0; i < arguments.used; ++i) {
+ f_print_dynamic_safely(program, main.output.stream);
- if (!arguments.array[i].used) continue;
+ for (f_array_length_t i = 0; i < arguments.used; ++i) {
- fprintf(main.output.stream, " %s", arguments.array[i].string);
+ if (arguments.array[i].used) {
+ fll_print_format(" %Q", main.output.stream, arguments.array[i]);
+ }
} // for
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
+ f_print_character(f_string_eol_s[0], main.output.stream);
+
+ funlockfile(main.output.stream);
// flush to stdout before executing command.
fflush(main.output.stream);
if (F_status_is_error(status)) {
if (F_status_set_fine(status) == F_file_found_not) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, data_make->error.context, "%sFailed to find program '", data_make->error.prefix);
- f_color_print(main.error.to.stream, data_make->error.notable, "%s", program.string);
- f_color_print(main.error.to.stream, data_make->error.context, "' for executing.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SFailed to find program '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, program, data_make->error.notable);
+ fl_print_format("%[' for executing.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
}
else if (F_status_set_fine(status) != F_failure) {
if (return_code) {
f_string_dynamic_t number = f_string_dynamic_t_initialize;
- status2 = f_conversion_number_signed_to_string(WEXITSTATUS(return_code), 10, &number);
+ status2 = f_conversion_number_signed_to_string(WEXITSTATUS(return_code), f_conversion_data_base_10_s, &number);
if (F_status_is_error(status2)) {
*status = status2;
return;
}
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, data_make->error.context, "%sFailed with return code '", data_make->error.prefix);
- f_color_print(main.error.to.stream, data_make->error.notable, "%s", data_make->setting_make.parameter.array[0].value.array[0].string);
- f_color_print(main.error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SFailed with return code '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, data_make->setting_make.parameter.array[0].value.array[0], data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
if (data_make->setting_make.fail == fake_make_operation_fail_type_exit) {
if (operation == fake_make_operation_type_index || operation == fake_make_operation_type_run || operation == fake_make_operation_type_shell) {
if (!arguments.used) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sRequires more arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SRequires more arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
}
else if (operation == fake_make_operation_type_index) {
if (!data_make->setting_build.build_indexer.used) {
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SNo indexer has been specified, cannot perform '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%s%]", data_make->error.to.stream, data_make->error.notable, fake_make_operation_index, data_make->error.notable);
+ fl_print_format("%[' section operation.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sNo indexer has been specified, cannot perform '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, fake_make_operation_index);
- f_color_print(data_make->error.to.stream, data_make->error.context, "' section operation.%c", f_string_eol_s[0]);
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
if (operation == fake_make_operation_type_break) {
if (arguments.used > 1) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sHas too many arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SHas too many arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
if (fl_string_dynamic_compare_string(fake_make_operation_argument_success, arguments.array[0], fake_make_operation_argument_success_length) == F_equal_to_not) {
if (fl_string_dynamic_compare_string(fake_make_operation_argument_failure, arguments.array[0], fake_make_operation_argument_failure_length) == F_equal_to_not) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sUnsupported break type '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[0].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SUnsupported break type '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[0], data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
if (operation == fake_make_operation_type_build) {
if (arguments.used > 1) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sHas too many arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SHas too many arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
f_status_t status_file = f_file_is(path_file, f_file_type_regular, F_false);
if (status_file == F_file_found_not) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sFailed to find file '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", path_file);
- f_color_print(data_make->error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SFailed to find file '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%S%]", data_make->error.to.stream, data_make->error.notable, path_file, data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(status_file);
*status = status_file;
}
else if (!status_file) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sThe file '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", path_file);
- f_color_print(data_make->error.to.stream, data_make->error.context, "' must be a regular file.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SThe file '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%s%]", data_make->error.to.stream, data_make->error.notable, path_file, data_make->error.notable);
+ fl_print_format("%[' must be a regular file.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
}
}
else {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sFilename argument must not be an empty string.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SFilename argument must not be an empty string.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
if (operation == fake_make_operation_type_clean || operation == fake_make_operation_type_pop || operation == fake_make_operation_type_top || operation == fake_make_operation_type_skeleton) {
if (arguments.used) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sHas too many arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SHas too many arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
else if (operation == fake_make_operation_type_pop) {
if (data_make->path.stack.used == 1) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sMust not attempt to pop project root off of path stack.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SMust not attempt to pop project root off of path stack.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
for (f_array_length_t i = 0; i < arguments.used - 1; ++i) {
if (f_file_exists(arguments.array[i].string) != F_true) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sFailed to find file '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[i].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SFailed to find file '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[i], data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
f_status_t status_file = f_directory_is(arguments.array[arguments.used - 1].string);
if (status_file == F_false || status_file == F_file_found_not) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sThe last file '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[arguments.used - 1].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "' must be a valid directory.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SThe last file '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[arguments.used - 1], data_make->error.notable);
+ fl_print_format("%[' must be a valid directory.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
status_file = f_directory_is(arguments.array[1].string);
if (status_file == F_false) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sThe last file '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[1].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "' must be a valid directory.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SThe last file '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[1], data_make->error.notable);
+ fl_print_format("%[' must be a valid directory.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
}
}
else {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sRequires more arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SRequires more arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
if (operation == fake_make_operation_type_compile) {
if (!arguments.used) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sRequires more arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SRequires more arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
}
else if (data_make->setting_build.build_compiler.used) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sNo compiler has been specified, cannot perform '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, fake_make_operation_compile);
- f_color_print(data_make->error.to.stream, data_make->error.context, "' section operation.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SNo compiler has been specified, cannot perform '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%s%]", data_make->error.to.stream, data_make->error.notable, fake_make_operation_compile, data_make->error.notable);
+ fl_print_format("%[' section operation.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
for (f_array_length_t i = 0; i < arguments.used - 1; ++i) {
if (f_file_exists(arguments.array[i].string) != F_true) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sFailed to find file '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[i].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SFailed to find file '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[i], data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
f_status_t status_file = f_directory_is(arguments.array[arguments.used - 1].string);
if (status_file == F_false || status_file == F_file_found_not) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sThe last file '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[arguments.used - 1].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "' must be a valid directory.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SThe last file '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[arguments.used - 1], data_make->error.notable);
+ fl_print_format("%[' must be a valid directory.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
status_file = f_directory_is(arguments.array[1].string);
if (status_file == F_false) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sThe last file '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[1].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "' must be a valid directory.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SThe last file '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[1], data_make->error.notable);
+ fl_print_format("%[' must be a valid directory.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
}
}
else {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sRequires more arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SRequires more arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
} // for
}
else {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sRequires more arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SRequires more arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
*status = fake_make_operate_validate_define_name(arguments.array[0]);
if (*status == F_none) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sDefine name must not be an empty string.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SDefine name must not be an empty string.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
}
else if (*status == F_false) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sInvalid characters in the define setting name '", data_make->error.prefix);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
- f_color_print_code(data_make->error.to.stream, *data_make->error.notable.before);
- f_print_dynamic(data_make->error.to.stream, arguments.array[0]);
- f_color_print_code(data_make->error.to.stream, *data_make->error.notable.after);
+ fl_print_format("%c%[%SInvalid characters in the define setting name '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[0], data_make->error.notable);
+ fl_print_format("%[', only alpha-numeric ASCII characters and underscore (without a leading digit) is allowed.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "', only alpha-numeric ASCII characters and underscore (without a leading digit) is allowed.%c", f_string_eol_s[0]);
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
}
}
else {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sRequires more arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SRequires more arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
if (operation == fake_make_operation_type_else) {
if (*operation_if == fake_make_operation_if_type_else_true || *operation_if == fake_make_operation_if_type_else_false) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sMust not be used after another '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "else");
- f_color_print(data_make->error.to.stream, data_make->error.context, "' section operation.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SMust not be used after another '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[else%]", data_make->error.to.stream, data_make->error.notable, data_make->error.notable);
+ fl_print_format("%[' section operation.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
}
if (*operation_if == fake_make_operation_if_type_true || *operation_if == fake_make_operation_if_type_false || *operation_if == fake_make_operation_if_type_false_always) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sMust not be used inside an ", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "if");
- f_color_print(data_make->error.to.stream, data_make->error.context, "' section operation.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SMust not be used inside an '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[if%]", data_make->error.to.stream, data_make->error.notable, data_make->error.notable);
+ fl_print_format("%[' section operation.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
}
if (*operation_if != fake_make_operation_if_type_else_true_next && *operation_if != fake_make_operation_if_type_else_false_next && *operation_if != fake_make_operation_if_type_else_false_next_always) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sHas no preceding if condition.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SHas no preceding if condition.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
}
if (arguments.used) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sHas too many arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SHas too many arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
if (operation == fake_make_operation_type_exit) {
if (arguments.used > 1) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sHas too many arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SHas too many arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
else if (arguments.used) {
if (fl_string_dynamic_compare_string(fake_make_operation_argument_success, arguments.array[0], fake_make_operation_argument_success_length) == F_equal_to_not) {
if (fl_string_dynamic_compare_string(fake_make_operation_argument_failure, arguments.array[0], fake_make_operation_argument_failure_length) == F_equal_to_not) {
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sUnsupported exit type '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[0].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ fl_print_format("%c%[%SUnsupported exit type '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[0], data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
if (fl_string_dynamic_compare_string(fake_make_operation_argument_warn, arguments.array[0], fake_make_operation_argument_warn_length) == F_equal_to_not) {
if (fl_string_dynamic_compare_string(fake_make_operation_argument_ignore, arguments.array[0], fake_make_operation_argument_ignore_length) == F_equal_to_not) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sUnsupported fail type '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[0].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SUnsupported fail type '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[0], data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
}
}
else {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sRequires more arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SRequires more arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
status_file = f_file_is(arguments.array[i].string, f_file_type_regular, F_false);
if (status_file == F_file_found_not) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sFailed to find file '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[i].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SFailed to find file '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[i], data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(status_file);
}
else if (F_status_is_error(status_file)) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
fll_error_file_print(data_make->error, F_status_set_fine(*status), "f_file_is", F_true, arguments.array[i].string, "find", fll_error_file_type_directory);
}
return;
}
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sRequires more arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SRequires more arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
if (operation == fake_make_operation_type_if) {
if (*operation_if == fake_make_operation_if_type_true || *operation_if == fake_make_operation_if_type_false || *operation_if == fake_make_operation_if_type_false_always) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sMust not be used after another '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "if");
- f_color_print(data_make->error.to.stream, data_make->error.context, "' section operation.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SMust not be used after another '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[if%]", data_make->error.to.stream, data_make->error.notable, data_make->error.notable);
+ fl_print_format("%[' section operation.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
} // for
if (i == 14) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sUnsupported if type '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[0].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SUnsupported if type '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[0], data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
if (arguments.used >= if_type_minimum[i]) {
if (*operation_if == fake_make_operation_if_type_if_success || *operation_if == fake_make_operation_if_type_if_failure) {
if (arguments.used > if_type_minimum[i]) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sHas too many arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SHas too many arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
if (*operation_if == fake_make_operation_if_type_if_mode) {
if (fl_string_dynamic_compare_string(fake_make_operation_argument_is, arguments.array[1], fake_make_operation_argument_is_length) == F_equal_to_not) {
if (fl_string_dynamic_compare_string(fake_make_operation_argument_has, arguments.array[1], fake_make_operation_argument_has_length) == F_equal_to_not) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sUnsupported mode type '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[1].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SUnsupported mode type '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[1], data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
type_file |= 0x40;
}
else {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sUnsupported file type '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[i].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SUnsupported file type '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[i], data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
type_file |= 0x80;
if (fl_string_dynamic_compare_string(fake_make_operation_argument_environment, arguments.array[1], fake_make_operation_argument_environment_length) == F_equal_to_not) {
if (fl_string_dynamic_compare_string(fake_make_operation_argument_parameter, arguments.array[1], fake_make_operation_argument_parameter_length) == F_equal_to_not) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sUnsupported define type '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[1].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SUnsupported define type '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[1], data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
if (*operation_if == fake_make_operation_if_type_if_equal || *operation_if == fake_make_operation_if_type_if_equal_not) {
if (arguments.used < 3) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sRequires more arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SRequires more arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
if (*operation_if == fake_make_operation_if_type_if_greater || *operation_if == fake_make_operation_if_type_if_greater_equal || *operation_if == fake_make_operation_if_type_if_less || *operation_if == fake_make_operation_if_type_if_less_equal) {
if (arguments.used < 3) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sRequires more arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SRequires more arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
if (F_status_is_error(status_number)) {
*status = F_status_set_error(F_failure);
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
if (number > f_number_t_size_unsigned) {
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sThe number '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%c%s", arguments.array[i].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "' may only be between the ranges -%llu to %llu.%c", f_number_t_size_unsigned, f_number_t_size_unsigned, f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe number '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[i], data_make->error.notable);
+ fl_print_format("%[' may only be between the ranges -%un to %un.%]%c", data_make->error.to.stream, data_make->error.context, f_number_t_size_unsigned, f_number_t_size_unsigned, data_make->error.context, f_string_eol_s[0]);
}
else {
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sInvalid or unsupported number provided '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[i].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ fl_print_format("%c%[%SInvalid or unsupported number provided '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[i], data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
}
+
+ funlockfile(data_make->error.to.stream);
}
}
} // for
}
}
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sRequires more arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SRequires more arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
if (operation == fake_make_operation_type_link) {
if (arguments.used > 2) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sHas too many arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SHas too many arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
}
}
else {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sRequires more arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SRequires more arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
for (f_array_length_t i = 0; i < arguments.used - 1; ++i) {
if (f_file_exists(arguments.array[i].string) != F_true) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sFailed to find file '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[i].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SFailed to find file '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[i], data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
f_status_t status_file = f_directory_is(arguments.array[arguments.used - 1].string);
if (status_file == F_false || status_file == F_file_found_not) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sThe last file '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[arguments.used - 1].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "' must be a valid directory.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SThe last file '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[arguments.used - 1], data_make->error.notable);
+ fl_print_format("%[' must be a valid directory.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
status_file = f_directory_is(arguments.array[1].string);
if (status_file == F_false) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sThe last file '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[1].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "' must be a valid directory.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SThe last file '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[arguments.used - 1], data_make->error.notable);
+ fl_print_format("%[' must be a valid directory.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
}
}
else {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sRequires more arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SRequires more arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
if (operation == fake_make_operation_type_operate) {
if (arguments.used > 1) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sHas too many arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SHas too many arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
} // for
if (id_section == data_make->fakefile.used) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sNo operation section named '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[0].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "' was found.%c", f_string_eol_s[0]);
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SNo operation section named '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[0], data_make->error.notable);
+ fl_print_format("%[' was found.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
else {
for (f_array_length_t i = 0; i < section_stack->used; ++i) {
if (section_stack->array[i] == id_section) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sThe section operation '", data_make->error.prefix);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
- f_color_print_code(data_make->error.to.stream, *data_make->error.notable.before);
- f_print_dynamic_partial(data_make->error.to.stream, data_make->buffer, data_make->fakefile.array[id_section].name);
- f_color_print_code(data_make->error.to.stream, *data_make->error.notable.after);
+ fl_print_format("%c%[%SThe section operation '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, data_make->fakefile.array[id_section].name, data_make->error.notable);
+ fl_print_format("%[' is already in the operation stack, recursion is not allowed.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "' is already in the operation stack, recursion is not allowed.%c", f_string_eol_s[0]);
+ funlockfile(data_make->error.to.stream);
+ }
*status = F_status_set_error(F_failure);
break;
}
}
else {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sRequires more arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SRequires more arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
if (operation == fake_make_operation_type_to) {
if (arguments.used > 1) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sHas too many arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SHas too many arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
f_status_t status_file = f_file_is(arguments.array[0].string, f_file_type_directory, F_false);
if (status_file == F_file_found_not) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sFailed to find file '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[0].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SFailed to find file '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[0], data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(status_file);
}
else if (F_status_is_error(status_file)) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
fll_error_file_print(data_make->error, F_status_set_fine(*status), "f_file_is", F_true, main.file_data_build_fakefile.string, "find", fll_error_file_type_file);
}
*status = status_file;
}
else if (!status_file) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sThe file '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[0].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "' must be a directory file.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SThe file '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[0], data_make->error.notable);
+ fl_print_format("%[' must be a directory file.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
}
}
else {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sFilename argument must not be an empty string.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SFilename argument must not be an empty string.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
}
}
else {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sRequires more arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SRequires more arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
if (fl_string_dynamic_compare_string(fake_make_operation_argument_file, arguments.array[0], fake_make_operation_argument_file_length) == F_equal_to_not) {
if (fl_string_dynamic_compare_string(fake_make_operation_argument_directory, arguments.array[0], fake_make_operation_argument_directory_length) == F_equal_to_not) {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sUnsupported file type '", data_make->error.prefix);
- f_color_print(data_make->error.to.stream, data_make->error.notable, "%s", arguments.array[0].string);
- f_color_print(data_make->error.to.stream, data_make->error.context, "'.%c", f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ flockfile(data_make->error.to.stream);
+
+ fl_print_format("%c%[%SUnsupported file type '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, arguments.array[0], data_make->error.notable);
+ fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+
+ funlockfile(data_make->error.to.stream);
}
*status = F_status_set_error(F_failure);
} // for
}
else {
- if (main.error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
- fprintf(data_make->error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(data_make->error.to.stream, data_make->error.context, "%sRequires more arguments.%c", data_make->error.prefix, f_string_eol_s[0]);
+ if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
+ fll_print_format("%c%[%SRequires more arguments.%]%c", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s[0]);
}
*status = F_status_set_error(F_failure);
if (status == F_file_found_not) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sFailed to find '", fll_error_print_error);
+ flockfile(main.error.to.stream);
- if (f_file_exists(source) == F_true) {
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", destination);
- }
- else {
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", source);
- }
-
- f_color_print(main.error.to.stream, main.context.set.error, "' while trying to %s '", operation);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", source);
+ fl_print_format("%c%[%SFailed to find '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%Q%]", main.error.to.stream, main.error.notable, f_file_exists(source) == F_true ? destination : source, main.error.notable);
+ fl_print_format("%[while trying to %S '%]", main.error.to.stream, main.error.context, operation, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, source, main.error.notable);
if (destination) {
- f_color_print(main.error.to.stream, main.context.set.error, "' %s '", how);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", destination);
+ fl_print_format("%[' %S '%]", main.error.to.stream, main.error.context, how, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, destination, main.error.notable);
}
- f_color_print(main.error.to.stream, main.context.set.error, "'.%c", f_string_eol_s[0]);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_false;
if (status == F_parameter) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sInvalid parameter when calling ", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", function);
- f_color_print(main.error.to.stream, main.context.set.error, "() to %s '", operation);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", source);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SInvalid parameter when calling '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, function, main.error.notable);
+ fl_print_format("%[() to %s '%]", main.error.to.stream, main.error.context, operation, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, source, main.error.notable);
if (destination) {
- f_color_print(main.error.to.stream, main.context.set.error, "' %s '", how);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", destination);
+ fl_print_format("%[' %S '%]", main.error.to.stream, main.error.context, how, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, destination, main.error.notable);
}
- f_color_print(main.error.to.stream, main.context.set.error, "'.%c", f_string_eol_s[0]);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_false;
if (status == F_name) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sInvalid name for '", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", source);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SInvalid name for '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, source, main.error.notable);
if (destination) {
- f_color_print(main.error.to.stream, main.context.set.error, "' or '");
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", destination);
+ fl_print_format("%[' or '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, destination, main.error.notable);
}
- f_color_print(main.error.to.stream, main.context.set.error, "'.%c", f_string_eol_s[0]);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_false;
if (status == F_memory_not) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sUnable to allocate memory, while trying to %s '", fll_error_print_error, operation);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", source);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SUnable to allocate memory, while trying to %S '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, operation, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, source, main.error.notable);
if (destination) {
- f_color_print(main.error.to.stream, main.context.set.error, "' %s '", how);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", destination);
+ fl_print_format("%[' %S '%]", main.error.to.stream, main.error.context, how, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, destination, main.error.notable);
}
- f_color_print(main.error.to.stream, main.context.set.error, "'.%c", f_string_eol_s[0]);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_false;
if (status == F_number_overflow) {
if (main.error.verbosity != f_console_verbosity_quiet) {
+ flockfile(main.error.to.stream);
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sOverflow while trying to %s '", fll_error_print_error, operation);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", source);
+ fl_print_format("%c%[%SOverflow while trying to %S '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, operation, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, source, main.error.notable);
if (destination) {
- f_color_print(main.error.to.stream, main.context.set.error, "' %s '", how);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", destination);
+ fl_print_format("%[' %S '%]", main.error.to.stream, main.error.context, how, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, destination, main.error.notable);
}
- f_color_print(main.error.to.stream, main.context.set.error, "'.%c", f_string_eol_s[0]);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_false;
if (status == F_directory) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sInvalid directory while trying to %s '", fll_error_print_error, operation);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", source);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SInvalid directory while trying to %S '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, operation, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, source, main.error.notable);
if (destination) {
- f_color_print(main.error.to.stream, main.context.set.error, "' %s '", how);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", destination);
+ fl_print_format("%[' %S '%]", main.error.to.stream, main.error.context, how, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, destination, main.error.notable);
}
- f_color_print(main.error.to.stream, main.context.set.error, "'.%c", f_string_eol_s[0]);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_false;
if (status == F_access_denied) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sAccess denied while trying to %s '", fll_error_print_error, operation);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", source);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SAccess denied while trying to %S '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, operation, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, source, main.error.notable);
if (destination) {
- f_color_print(main.error.to.stream, main.context.set.error, "' %s '", how);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", destination);
+ fl_print_format("%[' %S '%]", main.error.to.stream, main.error.context, how, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, destination, main.error.notable);
}
- f_color_print(main.error.to.stream, main.context.set.error, "'.%c", f_string_eol_s[0]);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_false;
if (status == F_loop) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sLoop while trying to %s '", fll_error_print_error, operation);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", source);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SLoop while trying to %S '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, operation, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, source, main.error.notable);
if (destination) {
- f_color_print(main.error.to.stream, main.context.set.error, "' %s '", how);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", destination);
+ fl_print_format("%[' %S '%]", main.error.to.stream, main.error.context, how, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, destination, main.error.notable);
}
- f_color_print(main.error.to.stream, main.context.set.error, "'.%c", f_string_eol_s[0]);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_false;
if (status == F_prohibited) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sProhibited by system while trying to %s '", fll_error_print_error, operation);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", source);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SProhibited by system while trying to %S '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, operation, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, source, main.error.notable);
if (destination) {
- f_color_print(main.error.to.stream, main.context.set.error, "' %s '", how);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", destination);
+ fl_print_format("%[' %S '%]", main.error.to.stream, main.error.context, how, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, destination, main.error.notable);
}
- f_color_print(main.error.to.stream, main.context.set.error, "'.%c", f_string_eol_s[0]);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_false;
if (status == F_directory_found_not) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sFailed to %s '", fll_error_print_error, operation);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", source);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SFailed to %S '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, operation, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, source, main.error.notable);
if (destination) {
- f_color_print(main.error.to.stream, main.context.set.error, "' %s '", how);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", destination);
+ fl_print_format("%[' %S '%]", main.error.to.stream, main.error.context, how, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, destination, main.error.notable);
}
- f_color_print(main.error.to.stream, main.context.set.error, "' due to an invalid directory in the path.%c", f_string_eol_s[0]);
+ fl_print_format("%[' due to an invalid directory in the path.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_false;
if (status == F_failure) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sFailed to %s '", fll_error_print_error, operation);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", source);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SFailed to %S '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, operation, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, source, main.error.notable);
if (destination) {
- f_color_print(main.error.to.stream, main.context.set.error, "' %s '", how);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", destination);
+ fl_print_format("%[' %S '%]", main.error.to.stream, main.error.context, how, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, destination, main.error.notable);
}
- f_color_print(main.error.to.stream, main.context.set.error, "'.%c", f_string_eol_s[0]);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_false;
}
if (fll_error_print(main.error, status, function, F_false) == F_known_not && fallback && main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "UNKNOWN %s(", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%llu", status);
- f_color_print(main.error.to.stream, main.context.set.error, ") occurred while trying to %s '", operation);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", source);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[UNKNOWN %s(%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, operation, main.error.context);
+ fl_print_format("%[%ui%]", main.error.to.stream, main.error.notable, status, main.error.notable);
+ fl_print_format("%[) occurred while trying to %S '%]", main.error.to.stream, main.error.context, operation, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, source, main.error.notable);
if (destination) {
- f_color_print(main.error.to.stream, main.context.set.error, "' %s '", how);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", destination);
+ fl_print_format("%[' %S '%]", main.error.to.stream, main.error.context, how, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, destination, main.error.notable);
}
- f_color_print(main.error.to.stream, main.context.set.error, "'.%c", f_string_eol_s[0]);
+ fl_print_format("%['.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_true;
if (status == F_file_found_not) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%serror occurred on invalid UTF-8 character at stop position (at ", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%d", range.start);
- f_color_print(main.error.to.stream, main.context.set.error, " of setting file '");
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", path_file);
- f_color_print(main.error.to.stream, main.context.set.error, "').%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SOccurred on invalid UTF-8 character at stop position (at '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%un%]", main.error.to.stream, main.error.notable, range.start, main.error.notable);
+ fl_print_format("%[ of setting file '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, path_file, main.error.notable);
+ fl_print_format("%[').%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_false;
if (status == F_complete_not_utf || status == F_complete_not_utf_eos || status == F_complete_not_utf_stop) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%serror occurred on invalid UTF-8 character", fll_error_print_error);
+ flockfile(main.error.to.stream);
- if (status == F_complete_not_utf_eos) {
- f_color_print(main.error.to.stream, main.context.set.error, " at end of string");
- }
- else if (status == F_complete_not_utf_stop) {
- f_color_print(main.error.to.stream, main.context.set.error, " at stop point of string");
- }
+ fl_print_format("%c%[%SOccurred on invalid UTF-8 character at %s (at '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, status == F_complete_not_utf_eos ? "end of string" : "stop point of string", main.error.context);
+ fl_print_format("%[%un%]", main.error.to.stream, main.error.notable, range.start, main.error.notable);
+ fl_print_format("%[ of setting file '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, path_file, main.error.notable);
+ fl_print_format("%[').%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, " (at ");
- f_color_print(main.error.to.stream, main.context.set.notable, "%d", range.start);
- f_color_print(main.error.to.stream, main.context.set.error, " of setting file '");
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", path_file);
- f_color_print(main.error.to.stream, main.context.set.error, "').%c", f_string_eol_s[0]);
+ funlockfile(main.error.to.stream);
}
return F_false;
if (status == F_complete_not_utf_stop) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%serror occurred on invalid UTF-8 character at stop point of string (at ", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%d", range.start);
- f_color_print(main.error.to.stream, main.context.set.error, " of setting file '");
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", path_file);
- f_color_print(main.error.to.stream, main.context.set.error, "').%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SOccurred on invalid UTF-8 character at stop point of string (at '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%un%]", main.error.to.stream, main.error.notable, range.start, main.error.notable);
+ fl_print_format("%[ of setting file '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, path_file, main.error.notable);
+ fl_print_format("%[').%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_false;
}
if (fll_error_print(main.error, status, function, F_false) == F_known_not && fallback && main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "UNKNOWN %s(", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%llu", status);
- f_color_print(main.error.to.stream, main.context.set.error, ") in function ");
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", function);
- f_color_print(main.error.to.stream, main.context.set.error, "().%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[UNKNOWN %s(%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%ui%]", main.error.to.stream, main.error.notable, status, main.error.notable);
+ fl_print_format("%[) in function '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, function, main.error.notable);
+ fl_print_format("%[().%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_true;
if (main.error.verbosity == f_console_verbosity_quiet) return;
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
- f_color_print(main.error.to.stream, main.context.set.error, "%sThe parameter '", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s%s", f_console_symbol_long_enable_s, parameter);
+ fl_print_format("%c%[%SThe parameter '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%S%S%]", main.error.to.stream, main.error.notable, f_console_symbol_long_enable_s, parameter, main.error.notable);
+ fl_print_format("%[' was specified, but no value was given.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "' was specified, but no value was given.%c", f_string_eol_s[0]);
+ funlockfile(main.error.to.stream);
}
#endif // _di_fake_print_error_parameter_missing_value_
if (main.error.verbosity == f_console_verbosity_quiet) return;
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
- f_color_print(main.error.to.stream, main.context.set.error, "%sThe parameter '", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s%s", f_console_symbol_long_enable_s, parameter);
+ fl_print_format("%c%[%SThe parameter '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%S%S%]", main.error.to.stream, main.error.notable, f_console_symbol_long_enable_s, parameter, main.error.notable);
+ fl_print_format("%[' was specified too many times.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "' specified too many times.%c", f_string_eol_s[0]);
+ funlockfile(main.error.to.stream);
}
#endif // _di_fake_print_error_parameter_too_many_
f_fss_count_lines(buffer, operation_name.start, &line);
- fprintf(error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(error.to.stream, main.error.context, "%sThe section operation '", main.error.prefix);
-
- f_color_print_code(error.to.stream, main.context.notable);
- f_print_dynamic_partial(error.to.stream, buffer, operation_name);
- f_color_print_code(error.to.stream, main.context.reset);
+ flockfile(main.error.to.stream);
- f_color_print(error.to.stream, main.error.context, "' from section '");
+ fl_print_format("%c%[%SThe section operation '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%Q%]", main.error.to.stream, main.error.notable, operation_name, main.error.notable);
+ fl_print_format("%[' from section '%]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%Q%]", main.error.to.stream, main.error.notable, section_name, main.error.notable);
+ fl_print_format("%[' on line %]", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%un%]", main.error.to.stream, main.error.notable, line, main.error.notable);
+ fl_print_format(" %[failed.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
- f_color_print_code(error.to.stream, main.context.notable);
- f_print_dynamic_partial(error.to.stream, buffer, section_name);
- f_color_print_code(error.to.stream, main.context.reset);
-
- f_color_print(error.to.stream, main.error.context, "' on line ");
- f_color_print(error.to.stream, main.context.set.notable, "%llu", line);
- f_color_print(error.to.stream, main.error.context, " failed.%c", f_string_eol_s[0]);
+ funlockfile(main.error.to.stream);
}
#endif // _di_fake_print_message_section_operation_failed_
if (main.error.verbosity == f_console_verbosity_quiet || !error.to.stream) return;
+ flockfile(main.error.to.stream);
+
if (F_status_set_fine(status) == F_false) {
- fprintf(error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(error.to.stream, main.error.context, "%sThe path '", main.error.prefix);
- f_color_print(error.to.stream, main.context.set.notable, "%s", path);
- f_color_print(error.to.stream, main.error.context, "' is outside the project root.%c", f_string_eol_s[0]);
+ fl_print_format("%c%[%SThe path '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, path, main.error.notable);
+ fl_print_format("%[' is outside the project root.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
}
else {
fll_error_file_print(main.error, F_status_set_fine(status), function, F_true, path, "determine real path of", fll_error_file_type_file);
}
+
+ funlockfile(main.error.to.stream);
}
#endif // _di_fake_print_message_section_operation_path_outside_
if (main.error.verbosity == f_console_verbosity_quiet || !error.to.stream) return;
if (status == F_array_too_large) {
- fprintf(error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(error.to.stream, main.error.context, "%s: Maximum stack size reached while processing path '", main.error.prefix);
- f_color_print(error.to.stream, main.context.set.notable, "%s", path);
- f_color_print(error.to.stream, main.error.context, "'");
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SMaximum stack size reached while processing path '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%S%]", main.error.to.stream, main.error.notable, path, main.error.notable);
+ fl_print_format("%['", main.error.to.stream, main.error.context);
if (function) {
- f_color_print(error.to.stream, main.error.context, " while calling ");
- f_color_print(error.to.stream, main.context.set.notable, "%s", function);
- f_color_print(error.to.stream, main.error.context, "()");
+ fl_print_format(" while calling%] %[%S%]", main.error.to.stream, main.error.context, main.error.notable, function, main.error.notable);
+ fl_print_format("%[()", main.error.to.stream, main.error.context);
}
- f_color_print(error.to.stream, main.error.context, ".%c", f_string_eol_s[0]);
+ fl_print_format(".%]%c", main.error.to.stream, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
else {
fll_error_file_print(error, status, function, F_true, path, "change path to", fll_error_file_type_directory);
f_fss_count_lines(buffer, operation_name.start, &line);
- fprintf(error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(error.to.stream, main.error.context, "The section operation '", main.error.prefix);
-
- f_color_print_code(error.to.stream, main.context.notable);
- f_print_dynamic_partial(error.to.stream, buffer, operation_name);
- f_color_print_code(error.to.stream, main.context.reset);
+ flockfile(main.error.to.stream);
- f_color_print(error.to.stream, main.error.context, "' from section '");
+ fl_print_format("%c%[%SThe section operation '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%/Q%]", main.error.to.stream, main.error.notable, buffer, operation_name, main.error.notable);
+ fl_print_format("%[' from section '%]", main.error.to.stream, main.error.context, buffer, main.error.context);
+ fl_print_format("%[%/Q%]", main.error.to.stream, main.error.notable, buffer, section_name, main.error.notable);
+ fl_print_format("%[' on line%] ", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%ul%]", main.error.to.stream, main.error.notable, line, main.error.notable);
+ fl_print_format("%[' cannot be processed because the max stack depth of%] ", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%ul%]", main.error.to.stream, main.error.notable, stack_max, main.error.notable);
+ fl_print_format(" %[has been reached.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
- f_color_print_code(error.to.stream, main.context.notable);
- f_print_dynamic_partial(error.to.stream, buffer, section_name);
- f_color_print_code(error.to.stream, main.context.reset);
-
- f_color_print(error.to.stream, main.error.context, "' on line ");
- f_color_print(error.to.stream, main.context.set.notable, "%llu", line);
- f_color_print(error.to.stream, main.error.context, " cannot be processed because the max stack depth of ");
- f_color_print(error.to.stream, main.context.set.notable, "%llu", stack_max);
- f_color_print(error.to.stream, main.error.context, " has been reached.%c", f_string_eol_s[0]);
+ funlockfile(main.error.to.stream);
}
#endif // _di_fake_print_message_section_operation_stack_max_
f_fss_count_lines(buffer, operation_name.start, &line);
- fprintf(error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(error.to.stream, main.error.context, "%sThe section operation '", main.error.prefix);
-
- f_color_print_code(error.to.stream, main.context.notable);
- f_print_dynamic_partial(error.to.stream, buffer, operation_name);
- f_color_print_code(error.to.stream, main.context.reset);
-
- f_color_print(error.to.stream, main.error.context, "' from section '");
+ flockfile(main.error.to.stream);
- f_color_print_code(error.to.stream, main.context.notable);
- f_print_dynamic_partial(error.to.stream, buffer, section_name);
- f_color_print_code(error.to.stream, main.context.reset);
+ fl_print_format("%c%[%SThe section operation '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%/Q%]", main.error.to.stream, main.error.notable, buffer, operation_name, main.error.notable);
+ fl_print_format("%[' from section '%]", main.error.to.stream, main.error.context, buffer, main.error.context);
+ fl_print_format("%[%/Q%]", main.error.to.stream, main.error.notable, buffer, section_name, main.error.notable);
+ fl_print_format("%[' on line%] ", main.error.to.stream, main.error.context, main.error.context);
+ fl_print_format("%[%ul%]", main.error.to.stream, main.error.notable, line, main.error.notable);
+ fl_print_format(" %[is not a known operation name.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
- f_color_print(error.to.stream, main.error.context, "' on line ");
- f_color_print(error.to.stream, main.context.set.notable, "%llu", line);
- f_color_print(error.to.stream, main.error.context, " is not a known operation name.%c", f_string_eol_s[0]);
+ funlockfile(main.error.to.stream);
}
#endif // _di_fake_print_message_section_operation_unknown_
#ifndef _di_fake_print_warning_settings_content_empty_
void fake_print_warning_settings_content_empty(const fake_main_t main, const f_string_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_t settings_name) {
- if (main.error.verbosity == f_console_verbosity_quiet) return;
-
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
+ if (main.warning.verbosity == f_console_verbosity_quiet) return;
- f_color_print(f_type_warning, main.context.set.warning, "%sthe fakefile '", fll_error_print_warning);
- f_color_print(f_type_warning, main.context.set.notable, "%s", path_file);
- f_color_print(f_type_warning, main.context.set.warning, "' has empty content for the '");
- f_color_print(f_type_warning, main.context.set.notable, "%s", settings_name);
- f_color_print(f_type_warning, main.context.set.warning, "' object '");
+ flockfile(main.warning.to.stream);
- f_color_print_code(f_type_warning, main.context.notable);
- f_print_dynamic_partial(f_type_warning, buffer, range_object);
- f_color_print_code(f_type_warning, main.context.reset);
+ fl_print_format("%c%[%SThe fakefile '%]", main.warning.to.stream, f_string_eol_s[0], main.warning.context, main.warning.prefix, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, path_file, main.warning.notable);
+ fl_print_format("%[' has empty content for the '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, settings_name, main.warning.notable);
+ fl_print_format("%[' object '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%/Q%]", main.warning.to.stream, main.warning.notable, buffer, range_object, main.warning.notable);
+ fl_print_format("%['.%]%c", main.warning.to.stream, main.warning.context, main.warning.context, f_string_eol_s[0]);
- f_color_print(f_type_warning, main.context.set.warning, "'.%c", f_string_eol_s[0]);
+ funlockfile(main.warning.to.stream);
}
#endif // _di_fake_print_warning_settings_content_empty_
#ifndef _di_fake_print_warning_settings_content_invalid_
void fake_print_warning_settings_content_invalid(const fake_main_t main, const f_string_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_range_t range_content, const f_string_t settings_name) {
- if (main.error.verbosity == f_console_verbosity_quiet) return;
-
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
-
- f_color_print(main.output.stream, main.context.set.warning, "%sthe fakefile '", fll_error_print_warning);
- f_color_print(main.output.stream, main.context.set.notable, "%s", path_file);
- f_color_print(main.output.stream, main.context.set.warning, "' has an invalid content '");
-
- f_color_print_code(main.output.stream, main.context.notable);
- f_print_dynamic_partial(main.output.stream, buffer, range_content);
- f_color_print_code(main.output.stream, main.context.reset);
+ if (main.warning.verbosity == f_console_verbosity_quiet) return;
- f_color_print(main.output.stream, main.context.set.warning, "' for the '");
- f_color_print(main.output.stream, main.context.set.notable, "%s", settings_name);
- f_color_print(main.output.stream, main.context.set.warning, "' object '");
+ flockfile(main.warning.to.stream);
- f_color_print_code(main.output.stream, main.context.notable);
- f_print_dynamic_partial(main.output.stream, buffer, range_object);
- f_color_print_code(main.output.stream, main.context.reset);
+ fl_print_format("%c%[%SThe fakefile '%]", main.warning.to.stream, f_string_eol_s[0], main.warning.context, main.warning.prefix, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, path_file, main.warning.notable);
+ fl_print_format("%[' has invalid content '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%/Q%]", main.warning.to.stream, main.warning.notable, buffer, range_content, main.warning.notable);
+ fl_print_format("%[' for the '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, settings_name, main.warning.notable);
+ fl_print_format("%[' object '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%/Q%]", main.warning.to.stream, main.warning.notable, buffer, range_object, main.warning.notable);
+ fl_print_format("%['.%]%c", main.warning.to.stream, main.warning.context, main.warning.context, f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.warning, "'.%c", f_string_eol_s[0]);
+ funlockfile(main.warning.to.stream);
}
#endif // _di_fake_print_warning_settings_content_invalid_
#ifndef _di_fake_print_warning_settings_content_multiple_
void fake_print_warning_settings_content_multiple(const fake_main_t main, const f_string_t path_file, const f_string_t name_object) {
- if (main.error.verbosity != f_console_verbosity_verbose) return;
+ if (main.warning.verbosity == f_console_verbosity_quiet) return;
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
+ flockfile(main.warning.to.stream);
- f_color_print(f_type_warning, main.context.set.warning, "%sthe setting '", fll_error_print_warning);
- f_color_print(f_type_warning, main.context.set.notable, "%s", name_object);
- f_color_print(f_type_warning, main.context.set.warning, "' in the file '");
- f_color_print(f_type_warning, main.context.set.notable, "%s", path_file);
+ fl_print_format("%c%[%SThe fakefile '%]", main.warning.to.stream, f_string_eol_s[0], main.warning.context, main.warning.prefix, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, name_object, main.warning.notable);
+ fl_print_format("%[' in the file '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, path_file, main.warning.notable);
+ fl_print_format("%[' may only have a single property, only using the first.%]%c", main.warning.to.stream, main.warning.context, main.warning.context, f_string_eol_s[0]);
- f_color_print(f_type_warning, main.context.set.warning, "' may only have a single property, only using the first.%c", f_string_eol_s[0]);
+ funlockfile(main.warning.to.stream);
}
#endif // _di_fake_print_warning_settings_content_multiple_
#ifndef _di_fake_print_warning_settings_object_multiple_
void fake_print_warning_settings_object_multiple(const fake_main_t main, const f_string_t path_file, const f_string_t label, const f_string_t name_object) {
- if (main.error.verbosity != f_console_verbosity_verbose) return;
+ if (main.warning.verbosity == f_console_verbosity_quiet) return;
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
+ flockfile(main.warning.to.stream);
- f_color_print(f_type_warning, main.context.set.warning, "%sthe %s object '", fll_error_print_warning, label);
- f_color_print(f_type_warning, main.context.set.notable, "%s", name_object);
- f_color_print(f_type_warning, main.context.set.warning, "' in the file '");
- f_color_print(f_type_warning, main.context.set.notable, "%s", path_file);
+ fl_print_format("%c%[%SThe object '%]", main.warning.to.stream, f_string_eol_s[0], main.warning.context, main.warning.prefix, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, name_object, main.warning.notable);
+ fl_print_format("%[' in the file '%]", main.warning.to.stream, main.warning.context, main.warning.context);
+ fl_print_format("%[%S%]", main.warning.to.stream, main.warning.notable, path_file, main.warning.notable);
+ fl_print_format("%[' may only be specified once, only using the first.%]%c", main.warning.to.stream, main.warning.context, main.warning.context, f_string_eol_s[0]);
- f_color_print(f_type_warning, main.context.set.warning, "' may only be specified once, only using the first.%c", f_string_eol_s[0]);
+ funlockfile(main.warning.to.stream);
}
#endif // _di_fake_print_warning_settings_object_multiple_
f_status_t status = F_none;
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.output.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.output.stream, main.context.set.important, "Generating skeleton structure.%c", f_string_eol_s[0]);
+ fll_print_format("%cGenerating skeleton structure.%c", main.output.stream, f_string_eol_s[0], f_string_eol_s[0]);
}
{
if (status == F_true) {
if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "Directory '%s' already exists.%c", path.string, f_string_eol_s[0]);
+ fll_print_format("Directory '%Q' already exists.%c", main.output.stream, path, f_string_eol_s[0]);
}
return F_none;
if (status == F_false) {
if (main.error.verbosity != f_console_verbosity_quiet) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sThe path '", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", path.string);
- f_color_print(main.error.to.stream, main.context.set.error, "' exists but is not a directory.%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SThe path '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%Q%]", main.error.to.stream, main.error.notable, path, main.error.notable);
+ fl_print_format("%[' exists but is not a directory.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
return F_status_set_warning(F_failure);
if (F_status_is_error(status)) {
if (F_status_set_fine(status) == F_file_found_not) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sThe path '", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", path.string);
- f_color_print(main.error.to.stream, main.context.set.error, "' could not be created, a parent directory does not exist.%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SThe path '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%Q%]", main.error.to.stream, main.error.notable, path, main.error.notable);
+ fl_print_format("%[' could not be created, a parent directory does not exist.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
else {
fll_error_file_print(main.error, F_status_set_fine(status), "f_directory_create", F_true, path.string, "create", fll_error_file_type_directory);
}
if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "Directory '%s' created.%c", path.string, f_string_eol_s[0]);
+ fll_print_format("Directory '%Q' created.%c", main.output.stream, path, f_string_eol_s[0]);
}
}
else if (F_status_is_error(status)) {
if (status == F_true) {
if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "File '%s' already exists.%c", path.string, f_string_eol_s[0]);
+ fll_print_format("File '%Q' already exists.%c", main.output.stream, path, f_string_eol_s[0]);
}
return F_none;
if (status == F_true) {
if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "File '%s' already exists (as a symbolic link).%c", path.string, f_string_eol_s[0]);
+ fll_print_format("File '%Q' already exists (as a symbolic link).%c", main.output.stream, path, f_string_eol_s[0]);
}
return F_none;
if (status == F_false) {
if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "File '%s' already exists but is not a regular file (or symbolic link).%c", path.string, f_string_eol_s[0]);
+ fll_print_format("File '%Q' already exists but is not a regular file (or symbolic link).%c", main.output.stream, path, f_string_eol_s[0]);
}
return F_status_set_warning(F_none);
if (F_status_is_error(status)) {
if (F_status_set_fine(status) == F_file_found_not) {
- fprintf(main.error.to.stream, "%c", f_string_eol_s[0]);
- f_color_print(main.error.to.stream, main.context.set.error, "%sThe file '", fll_error_print_error);
- f_color_print(main.error.to.stream, main.context.set.notable, "%s", path.string);
- f_color_print(main.error.to.stream, main.context.set.error, "' could not be created, a parent directory does not exist.%c", f_string_eol_s[0]);
+ flockfile(main.error.to.stream);
+
+ fl_print_format("%c%[%SThe file '%]", main.error.to.stream, f_string_eol_s[0], main.error.context, main.error.prefix, main.error.context);
+ fl_print_format("%[%Q%]", main.error.to.stream, main.error.notable, path, main.error.notable);
+ fl_print_format("%[' could not be created, a parent directory does not exist.%]%c", main.error.to.stream, main.error.context, main.error.context, f_string_eol_s[0]);
+
+ funlockfile(main.error.to.stream);
}
else {
fll_error_file_print(main.error, F_status_set_fine(status), "f_file_create", F_true, path.string, "create", fll_error_file_type_file);
}
if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "File '%s' created.%c", path.string, f_string_eol_s[0]);
+ fll_print_format("File '%Q' created.%c", main.output.stream, path, f_string_eol_s[0]);
}
if (content.used) {
}
if (main.error.verbosity == f_console_verbosity_verbose) {
- fprintf(main.output.stream, "File '%s' pre-populated.%c", path.string, f_string_eol_s[0]);
+ fll_print_format("File '%Q' pre-populated.%c", main.output.stream, path, f_string_eol_s[0]);
}
f_file_stream_close(F_true, &file);
fl_environment
fl_fss
fl_iki
+fl_print
fl_status
fl_string
fll_error
fll_file
fll_fss
fll_path
+fll_print
fll_program
build_indexer ar
build_language c
build_libraries -lc -lcap
-build_libraries-individual -lfll_error -lfll_execute -lfll_file -lfll_fss -lfll_path -lfll_program -lfl_console -lfl_control_group -lfl_conversion -lfl_directory -lfl_environment -lfl_fss -lfl_iki -lfl_status -lfl_string -lf_account -lf_capability -lf_color -lf_console -lf_control_group -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_iki -lf_limit -lf_memory -lf_path -lf_print -lf_signal -lf_string -lf_thread -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_execute -lfll_file -lfll_fss -lfll_path -lfll_print -lfll_program -lfl_console -lfl_control_group -lfl_conversion -lfl_directory -lfl_environment -lfl_fss -lfl_iki -lfl_print -lfl_status -lfl_string -lf_account -lf_capability -lf_color -lf_console -lf_control_group -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_iki -lf_limit -lf_memory -lf_path -lf_print -lf_signal -lf_string -lf_thread -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_sources_library fake.c private-common.c private-fake.c private-clean.c private-build.c private-make.c private-print.c private-skeleton.c
defines_static
defines_shared
-flags_all -z now -g -fdiagnostics-color=always -pthread -Wno-logical-not-parentheses -Wno-logical-op-parentheses -Wno-parentheses
+flags_all -O2 -z now -g -fdiagnostics-color=always -pthread -Wno-logical-not-parentheses -Wno-logical-op-parentheses -Wno-parentheses
flags_shared
flags_static
flags_library -fPIC
The second Content may be either 'success' or 'failure' to designate on whether or not to exit as success or failure.
When set to "failure" this will trigger a failure message.
- When set to "failure", the fail state will be forcibly changed to "fail" regardless of the currrent fail state.
+ When set to "failure", the fail state will be forcibly changed to "fail" regardless of the current fail state.
- fail\:
Toggle how the to handle an operation failure.