I decided to improve the mentioned function and realized that it could be further generalized and move into the f_path project.
There is nothing else in fl_console and as such the fl_console project is entirely removed.
build_libraries-level_threadless -lfll_0
build_libraries_shared
build_libraries_static
-build_sources_library console.c control_group.c conversion.c private-conversion.c directory.c directory-common.c private-directory.c environment.c private-fss.c fss_basic.c fss_basic_list.c fss_embedded_list.c fss_extended.c fss_extended_list.c iki.c print.c print-common.c private-print.c signal.c string.c private-string.c utf.c private-utf.c utf_file.c private-utf_file.c
+build_sources_library control_group.c conversion.c private-conversion.c directory.c private-directory.c environment.c private-fss.c fss_basic.c fss_basic_list.c fss_embedded_list.c fss_extended.c fss_extended_list.c iki.c print.c print-common.c private-print.c signal.c string.c private-string.c utf.c private-utf.c utf_file.c private-utf_file.c
build_sources_library-level
build_sources_library_shared
build_sources_library_static
build_sources_program
build_sources_program_shared
build_sources_program_static
-build_sources_headers console.h control_group.h conversion.h directory.h directory-common.h environment.h execute.h execute-common.h fss.h fss_basic.h fss_basic_list.h fss_embedded_list.h fss_extended.h fss_extended_list.h iki.h print.h print-common.h signal.h signal-common.h string.h utf.h utf_file.h
+build_sources_headers control_group.h conversion.h directory.h directory-common.h environment.h execute.h execute-common.h fss.h fss_basic.h fss_basic_list.h fss_embedded_list.h fss_extended.h fss_extended_list.h iki.h print.h print-common.h signal.h signal-common.h string.h utf.h utf_file.h
build_sources_headers-level
build_sources_headers_shared
build_sources_headers_static
build_libraries-monolithic_threadless
build_libraries_shared
build_libraries_static
-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/execute.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_to.c level_0/print-common.c level_0/private-print.c level_0/private-print_to.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/status_string.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/utf_dynamic.c level_0/utf_map.c level_0/utf_string.c level_0/utf_triple.c level_0/private-utf.c level_0/private-utf-is_unassigned.c level_0/private-utf_string.c level_1/console.c level_1/control_group.c level_1/conversion.c level_1/private-conversion.c level_1/directory.c level_1/directory-common.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/print-common.c level_1/private-print.c level_1/signal.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_payload.c level_2/fss_status_string.c level_2/iki.c level_2/private-iki.c level_2/path.c level_2/print.c level_2/program.c level_2/program-common.c level_2/status_string.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/execute.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_to.c level_0/print-common.c level_0/private-print.c level_0/private-print_to.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/status_string.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/utf_dynamic.c level_0/utf_map.c level_0/utf_string.c level_0/utf_triple.c level_0/private-utf.c level_0/private-utf-is_unassigned.c level_0/private-utf_string.c level_1/control_group.c level_1/conversion.c level_1/private-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/print-common.c level_1/private-print.c level_1/signal.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_payload.c level_2/fss_status_string.c level_2/iki.c level_2/private-iki.c level_2/path.c level_2/print.c level_2/program.c level_2/program-common.c level_2/status_string.c
build_sources_library-monolithic level_0/thread.c level_0/private-thread.c
build_sources_library_shared
build_sources_library_static
build_sources_program
build_sources_program_shared
build_sources_program_static
-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_to.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/status_string.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_string.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/directory-common.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/iki.h level_1/print.h level_1/print-common.h level_1/signal.h level_1/signal-common.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_payload.h level_2/fss_status_string.h level_2/iki.h level_2/path.h level_2/print.h level_2/program.h level_2/program-common.h level_2/status_string.h
+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_to.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/status_string.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_string.h level_0/utf_triple.h level_1/control_group.h level_1/conversion.h level_1/directory.h level_1/directory-common.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/iki.h level_1/print.h level_1/print-common.h level_1/signal.h level_1/signal-common.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_payload.h level_2/fss_status_string.h level_2/iki.h level_2/path.h level_2/print.h level_2/program.h level_2/program-common.h level_2/status_string.h
build_sources_headers-monolithic level_0/thread.h level_0/thread-common.h
build_sources_headers_shared
build_sources_headers_static
}
#endif // _di_f_path_current_
+#ifndef _f_path_directory_cleanup_
+ f_status_t f_path_directory_cleanup(const f_string_static_t argument, f_string_dynamic_t *directory) {
+ #ifndef _di_level_0_parameter_checking_
+ if (!directory) return F_status_set_error(F_parameter);
+ #endif // _di_level_0_parameter_checking_
+
+ const f_array_length_t used_original = argument.used;
+
+ directory->used = 0;
+
+ if (!used_original) {
+ return F_none;
+ }
+
+ // Ensure enough space is available for termiting slash and terminating NULL.
+ if (argument.string[argument.used - 1] == f_path_separator_s.string[0]) {
+ const f_status_t status = f_string_dynamic_increase_by(used_original + 1, directory);
+ if (F_status_is_error(status)) return status;
+ }
+ else {
+ const f_status_t status = f_string_dynamic_increase_by(used_original + 2, directory);
+ if (F_status_is_error(status)) return status;
+ }
+
+ if (used_original == 1) {
+ directory->string[0] = argument.string[0];
+
+ return F_none;
+ }
+
+ f_array_length_t i = 0;
+ f_array_length_t j = 0;
+
+ do {
+ if (argument.string[i] == f_path_separator_s.string[0]) {
+ directory->string[directory->used++] = f_path_separator_s.string[0];
+
+ do {
+ ++i;
+ } while (i < used_original && (argument.string[i] == f_path_separator_s.string[0] || !argument.string[i]));
+ }
+ else {
+ j = i + 1;
+
+ while (j < used_original && argument.string[j] != f_path_separator_s.string[0]) {
+ ++j;
+ } // while
+
+ // Use memcpy() to take advantage of its optimized copy behaviors whenever possible.
+ memcpy(directory->string + directory->used, argument.string + i, j - i);
+
+ directory->used += j - i;
+ i = j;
+ }
+
+ } while (i < used_original);
+
+ if (directory->string[directory->used - 1] != f_path_separator_s.string[0]) {
+ directory->string[directory->used++] = f_path_separator_s.string[0];
+ }
+
+ directory->string[directory->used++] = 0;
+
+ return F_none;
+ }
+#endif // _f_path_directory_cleanup_
+
#ifndef _di_f_path_is_
f_status_t f_path_is(const f_string_t path, const f_array_length_t length) {
#endif // _di_f_path_current_
/**
+ * Ensure that the given directory path string doesn't have redundant path separators.
+ *
+ * The directory path is not validated to exist.
+ *
+ * The path to a directory has the following very basic cleanup operations performed:
+ * - Ensures that the directory always ends in a '/'.
+ * - Ensures that multiple consecutive '/' in the path are reduced to a single '/'.
+ * - Ensures that multiple consecutive '/' following './' is reduced to only './' ('.////' would become './').
+ * - Ensures that multiple consecutive '/' following '../' is reduced to only '../' ('..////' would become '../').
+ *
+ * The directory string will be NULL terminated after directory.used.
+ *
+ * @param source
+ * The south path to cleanup.
+ * @param directory
+ * The cleaned up directory string.
+ * The directory string is replaced by this function.
+ *
+ * @return
+ * F_none on success.
+ *
+ * F_memory_not (with error bit) on out of memory.
+ * F_parameter (with error bit) if a parameter is invalid.
+ */
+#ifndef _f_path_directory_cleanup_
+ extern f_status_t f_path_directory_cleanup(const f_string_static_t source, f_string_dynamic_t *directory);
+#endif // _f_path_directory_cleanup_
+
+/**
* Identify whether or not a string represents a path string.
*
* This does not check to see if the path exists or not.
+++ /dev/null
-#include "console.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _fl_console_parameter_to_string_dynamic_directory_
- f_status_t fl_console_parameter_to_string_dynamic_directory(const f_string_static_t argument, f_string_dynamic_t *directory) {
- #ifndef _di_level_1_parameter_checking_
- if (!directory) return F_status_set_error(F_parameter);
- #endif // _di_level_1_parameter_checking_
-
- f_array_length_t length = argument.used;
-
- if (!length) {
- directory->used = 0;
-
- return F_none;
- }
-
- f_status_t status = F_none;
-
- if (length > 1) {
- while (length > 1 && argument.string[length - 1] == f_path_separator_s.string[0]) {
- --length;
- } // while
-
- if (argument.string[0] == f_path_separator_s.string[0]) {
- f_array_length_t begin = 1;
-
- while (begin < length && argument.string[begin] == f_path_separator_s.string[0]) {
- ++begin;
- } // while
-
- length -= begin;
- directory->used = 0;
-
- if (length) {
- directory->used = 0;
-
- status = f_string_dynamic_increase_by(length + 3, directory);
- if (F_status_is_error(status)) return status;
-
- memcpy(directory->string + 1, argument.string + begin, length);
-
- directory->string[0] = f_path_separator_s.string[0];
- directory->string[length + 1] = f_path_separator_s.string[0];
- directory->string[length + 2] = 0;
- directory->used = length + 2;
- }
- else {
- status = f_string_dynamic_increase_by(2, directory);
- if (F_status_is_error(status)) return status;
-
- directory->string[0] = f_path_separator_s.string[0];
- directory->string[length + 1] = 0;
- directory->used = length + 1;
- }
- }
- else if (length > 3 && argument.string[0] == f_path_separator_current_s.string[0] && argument.string[1] == f_path_separator_current_s.string[0] && argument.string[2] == f_path_separator_s.string[0]) {
- f_array_length_t begin = 3;
-
- while (begin < length && argument.string[begin] == f_path_separator_s.string[0]) {
- ++begin;
- } // while
-
- length -= begin;
- directory->used = 0;
-
- if (length) {
- status = f_string_dynamic_increase_by(length + 5, directory);
- if (F_status_is_error(status)) return status;
-
- memcpy(directory->string + 3, argument.string + begin, length);
-
- directory->string[0] = f_path_separator_current_s.string[0];
- directory->string[1] = f_path_separator_current_s.string[0];
- directory->string[2] = f_path_separator_s.string[0];
- directory->string[length] = f_path_separator_s.string[0];
- directory->string[length + 4] = 0;
- directory->used = length + 4;
- }
- else {
- status = f_string_dynamic_increase_by(5, directory);
- if (F_status_is_error(status)) return status;
-
- directory->string[0] = f_path_separator_current_s.string[0];
- directory->string[1] = f_path_separator_current_s.string[0];
- directory->string[2] = f_path_separator_s.string[0];
- directory->string[3] = f_path_separator_s.string[0];
- directory->string[4] = 0;
- directory->used = 4;
- }
- }
- else if (length > 2 && argument.string[0] == f_path_separator_current_s.string[0] && argument.string[1] == f_path_separator_s.string[0]) {
- f_array_length_t begin = 2;
-
- while (begin < length && argument.string[begin] == f_path_separator_s.string[0]) {
- ++begin;
- } // while
-
- length -= begin;
- directory->used = 0;
-
- if (length) {
- status = f_string_dynamic_increase_by(length + 4, directory);
- if (F_status_is_error(status)) return status;
-
- memcpy(directory->string + 2, argument.string + begin, length);
-
- directory->string[0] = f_path_separator_current_s.string[0];
- directory->string[1] = f_path_separator_s.string[0];
- directory->string[length] = f_path_separator_s.string[0];
- directory->string[length + 3] = 0;
- directory->used = length + 3;
- }
- else {
- status = f_string_dynamic_increase_by(4, directory);
- if (F_status_is_error(status)) return status;
-
- directory->string[0] = f_path_separator_current_s.string[0];
- directory->string[1] = f_path_separator_s.string[0];
- directory->string[2] = f_path_separator_s.string[0];
- directory->string[3] = 0;
- directory->used = 3;
- }
- }
- else {
- directory->used = 0;
-
- status = f_string_dynamic_increase_by(length + 2, directory);
- if (F_status_is_error(status)) return status;
-
- memcpy(directory->string, argument.string, length);
-
- directory->string[length] = f_path_separator_s.string[0];
- directory->string[length + 1] = 0;
- directory->used = length + 1;
- }
- }
- else if (argument.string[0] != f_path_separator_s.string[0]) {
- directory->used = 0;
-
- status = f_string_dynamic_increase_by(2, directory);
- if (F_status_is_error(status)) return status;
-
- directory->string[0] = f_path_separator_s.string[0];
- directory->string[1] = 0;
- directory->used = 1;
- }
- else {
- directory->used = 0;
-
- status = f_string_dynamic_increase_by(2, directory);
- if (F_status_is_error(status)) return status;
-
- directory->string[0] = argument.string[0];
- directory->string[1] = 0;
- directory->used = 1;
- }
-
- return F_none;
- }
-#endif // _fl_console_parameter_to_string_dynamic_directory_
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
+++ /dev/null
-/**
- * FLL - Level 1
- *
- * Project: Console
- * API Version: 0.5
- * Licenses: lgpl-2.1-or-later
- *
- * Some console input/output commands.
- */
-#ifndef _FL_console_h
-#define _FL_console_h
-
-// libc include
-#include <limits.h>
-#include <string.h>
-#include <sys/stat.h>
-
-// FLL-0 includes.
-#include <fll/level_0/type.h>
-#include <fll/level_0/status.h>
-#include <fll/level_0/memory.h>
-#include <fll/level_0/string.h>
-#include <fll/level_0/utf.h>
-#include <fll/level_0/console.h>
-#include <fll/level_0/conversion.h>
-#include <fll/level_0/path.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Validate and convert a console parameter values argument to a file directory in a dynamic string.
- *
- * The directory path is validated to exist.
- *
- * The path to a directy has the following very basic cleanup operations performed:
- * - Ensures that it always ends in a '/'.
- * - Ensures that multiple '/' in front or multiple '/' at end of string is reduced to a single '/' in front and a single '/' at end.
- * - Ensures that multiple '/' following './' at the start of the string is reduced to only './' ('.////' would become './').
- * - Ensures that multiple '/' following '../' at the start of the string is reduced to only '../' ('..////' would become '../').
- *
- * The directory string will be NULL terminated after directory.used.
- *
- * This does not perform complex cleanup, such as '..///..///' to '../../'.
- *
- * The purpose of the cleanups is to ensure/enforce a consistent beginning and ending of the path strings.
- * These path strings can then, very simply, be checked to see how to join them with another string, such as a filename.
- *
- * @param argv
- * The argument string expected to be a number.
- * @param directory
- * The dynamically allocated processed directory string.
- * The string will be replaced on success.
- *
- * @return
- * F_none on success.
- *
- * F_memory_not (with error bit) on out of memory.
- * F_parameter (with error bit) if a parameter is invalid.
- */
-#ifndef _fl_console_parameter_to_string_dynamic_directory_
- extern f_status_t fl_console_parameter_to_string_dynamic_directory(const f_string_static_t argument, f_string_dynamic_t *directory);
-#endif // _fl_console_parameter_to_string_dynamic_directory_
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#endif // _FL_console_h
+++ /dev/null
-# fss-0000
-
+++ /dev/null
-# fss-0000
-
-f_type
-f_status
-f_memory
-f_string
-f_utf
-f_console
-f_conversion
-f_path
+++ /dev/null
-# fss-0001
-
-project_name fl_console
-
-version_major 0
-version_minor 5
-version_micro 8
-version_file micro
-version_target minor
-
-environment
-
-process_pre
-process_post
-
-modes individual
-modes_default individual
-
-build_compiler gcc
-build_indexer ar
-build_indexer_arguments rcs
-build_language c
-build_libraries -lc
-build_libraries-individual -lf_console -lf_conversion -lf_memory -lf_path -lf_string -lf_type_array -lf_utf
-build_libraries_shared
-build_libraries_static
-build_sources_library console.c
-build_sources_library_shared
-build_sources_library_static
-build_sources_program
-build_sources_program_shared
-build_sources_program_static
-build_sources_headers console.h
-build_sources_headers_shared
-build_sources_headers_static
-build_sources_script
-build_sources_setting
-build_script yes
-build_shared yes
-build_static no
-
-path_headers fll/level_1
-path_headers_preserve no
-path_library_script script
-path_library_shared shared
-path_library_static static
-path_program_script script
-path_program_shared shared
-path_program_static static
-path_sources
-path_standard yes
-
-search_exclusive yes
-search_shared yes
-search_static yes
-
-defines
-defines_library
-defines_library_shared
-defines_library_static
-defines_program
-defines_program_shared
-defines_program_static
-defines_static
-defines_shared
-
-flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-logical-op-parentheses -Wno-parentheses
-flags_library -fPIC
-flags_library_shared
-flags_library_static
-flags_program -fPIE
-flags_program_shared
-flags_program_static
-flags_shared
-flags_static
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/conversion.h>
#include <fll/level_1/print.h>
#include <fll/level_1/string.h>
f_pipe
f_print
f_signal
-fl_console
fl_conversion
fl_print
fl_string
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_print -lfll_program -lfl_conversion -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_memory -lf_pipe -lf_print -lf_signal -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/socket.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/fss.h>
#include <fll/level_1/print.h>
#include <fll/level_1/string.h>
f_print
f_signal
f_socket
-fl_console
fl_fss
fl_print
fl_string
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_socket -lf_status_string -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_fss -lf_memory -lf_pipe -lf_print -lf_signal -lf_socket -lf_status_string -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/socket.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/control_group.h>
#include <fll/level_1/environment.h>
#include <fll/level_1/fss.h>
f_signal
f_socket
f_thread
-fl_console
fl_control_group
fl_conversion
fl_environment
build_language c
build_libraries -lc -lcap
build_libraries-individual -lfll_control_group -lfll_error -lfll_execute -lfll_fss -lfll_path -lfll_print -lfll_program
-build_libraries-individual -lfl_console -lfl_control_group -lfl_conversion -lfl_directory -lfl_environment -lfl_fss -lfl_iki -lfl_print -lfl_string
+build_libraries-individual -lfl_control_group -lfl_conversion -lfl_directory -lfl_environment -lfl_fss -lfl_iki -lfl_print -lfl_string
build_libraries-individual -lf_account -lf_capability -lf_color -lf_console -lf_control_group -lf_conversion -lf_directory -lf_environment -lf_execute -lf_file -lf_fss -lf_iki -lf_limit -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_socket -lf_status_string -lf_string -lf_thread -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/conversion.h>
#include <fll/level_1/directory.h>
#include <fll/level_1/environment.h>
for (i = 0; i < 3; ++i) {
+ parameters_value[i]->used = 0;
+
status = f_string_dynamic_append_nulless(main->path_work, parameters_value[i]);
if (F_status_is_error(status)) {
const f_array_length_t index = main->parameters.array[parameters_id[i]].values.array[main->parameters.array[parameters_id[i]].values.used - 1];
+ parameters_value[i]->used = 0;
+
status = f_string_dynamic_increase_by(main->parameters.arguments.array[index].used + 1, parameters_value[i]);
if (F_status_is_error(status)) {
return status;
}
- status = fl_console_parameter_to_string_dynamic_directory(main->parameters.arguments.array[index], parameters_value[i]);
+ status = f_path_directory_cleanup(main->parameters.arguments.array[index], parameters_value[i]);
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_e) {
+ if (fll_error_print(main->error, F_status_set_fine(status), "f_path_directory_cleanup", F_false) == F_known_not && main->error.verbosity != f_console_verbosity_quiet_e) {
flockfile(main->error.to.stream);
fl_print_format("%r%[%QFailed to process parameter '%]", main->error.to.stream, f_string_eol_s, main->error.context, main->error.prefix, main->error.context);
f_path
f_print
f_signal
-fl_console
fl_control_group
fl_conversion
fl_directory
build_indexer_arguments rcs
build_language c
build_libraries -lc -lcap
-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_string -lf_account -lf_capability -lf_color -lf_console -lf_control_group -lf_conversion -lf_directory -lf_environment -lf_execute -lf_file -lf_fss -lf_iki -lf_limit -lf_memory -lf_path -lf_print -lf_signal -lf_status_string -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_control_group -lfl_conversion -lfl_directory -lfl_environment -lfl_fss -lfl_iki -lfl_print -lfl_string -lf_account -lf_capability -lf_color -lf_console -lf_control_group -lf_conversion -lf_directory -lf_environment -lf_execute -lf_file -lf_fss -lf_iki -lf_limit -lf_memory -lf_path -lf_print -lf_signal -lf_status_string -lf_string -lf_thread -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/string.h>
#include <fll/level_1/print.h>
f_pipe
f_print
f_signal
-fl_console
fl_control_group
fl_conversion
fl_environment
build_indexer_arguments rcs
build_language c
build_libraries -lc -lcap
-build_libraries-individual -lfll_error -lfll_execute -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_control_group -lfl_conversion -lfl_environment -lfl_fss -lfl_print -lfl_string -lf_account -lf_capability -lf_color -lf_console -lf_control_group -lf_conversion -lf_directory -lf_environment -lf_execute -lf_file -lf_fss -lf_limit -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_thread -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_execute -lfll_fss -lfll_print -lfll_program -lfl_control_group -lfl_conversion -lfl_environment -lfl_fss -lfl_print -lfl_string -lf_account -lf_capability -lf_color -lf_console -lf_control_group -lf_conversion -lf_directory -lf_environment -lf_execute -lf_file -lf_fss -lf_limit -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_thread -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/conversion.h>
#include <fll/level_1/print.h>
#include <fll/level_1/string.h>
f_pipe
f_print
f_signal
-fl_console
fl_conversion
fl_fss
fl_print
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/fss_basic_list.h>
#include <fll/level_1/print.h>
#include <fll/level_1/string.h>
f_pipe
f_print
f_signal
-fl_console
fl_conversion
fl_fss
fl_print
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/conversion.h>
#include <fll/level_1/print.h>
#include <fll/level_1/string.h>
f_pipe
f_print
f_signal
-fl_console
fl_conversion
fl_fss
fl_print
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/fss_basic.h>
#include <fll/level_1/print.h>
#include <fll/level_1/string.h>
f_pipe
f_print
f_signal
-fl_console
fl_conversion
fl_fss
fl_print
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/conversion.h>
#include <fll/level_1/print.h>
#include <fll/level_1/string.h>
f_pipe
f_print
f_signal
-fl_console
fl_conversion
fl_fss
fl_print
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/conversion.h>
#include <fll/level_1/fss_embedded_list.h>
#include <fll/level_1/print.h>
f_pipe
f_print
f_signal
-fl_console
fl_conversion
fl_fss
fl_print
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/conversion.h>
#include <fll/level_1/print.h>
#include <fll/level_1/string.h>
f_pipe
f_print
f_signal
-fl_console
fl_conversion
fl_fss
fl_print
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/conversion.h>
#include <fll/level_1/fss_extended_list.h>
#include <fll/level_1/print.h>
f_pipe
f_print
f_signal
-fl_console
fl_conversion
fl_fss
fl_print
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/conversion.h>
#include <fll/level_1/print.h>
#include <fll/level_1/string.h>
f_pipe
f_print
f_signal
-fl_console
fl_conversion
fl_fss
fl_print
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/conversion.h>
#include <fll/level_1/fss.h>
#include <fll/level_1/print.h>
f_pipe
f_print
f_signal
-fl_console
fl_conversion
fl_fss
fl_print
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_fss -lf_memory -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/conversion.h>
#include <fll/level_1/print.h>
#include <fll/level_1/string.h>
f_pipe
f_print
f_signal
-fl_console
fl_conversion
fl_fss
fl_print
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/fss_basic_list.h>
#include <fll/level_1/print.h>
#include <fll/level_1/string.h>
f_pipe
f_print
f_signal
-fl_console
fl_conversion
fl_fss
fl_print
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/status_string.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/conversion.h>
#include <fll/level_1/print.h>
#include <fll/level_1/string.h>
f_print
f_signal
f_status_string
-fl_console
fl_conversion
fl_fss
fl_print
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_fss_status_string -lfll_print -lfll_program -lfll_status_string -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_fss_status_string -lfll_print -lfll_program -lfll_status_string -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/conversion.h>
#include <fll/level_1/iki.h>
#include <fll/level_1/print.h>
f_pipe
f_print
f_signal
-fl_console
fl_conversion
fl_iki
fl_print
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_iki -lfl_print -lfl_signal -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_iki -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_print -lfll_program -lfl_conversion -lfl_iki -lfl_print -lfl_signal -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_iki -lf_memory -lf_pipe -lf_print -lf_signal -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/conversion.h>
#include <fll/level_1/iki.h>
#include <fll/level_1/print.h>
f_pipe
f_print
f_signal
-fl_console
fl_iki
fl_print
fl_string
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_iki -lfll_print -lfll_program -lfl_console -lfl_iki -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_iki -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_iki -lfll_print -lfll_program -lfl_iki -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_iki -lf_memory -lf_pipe -lf_print -lf_signal -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/status_string.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/conversion.h>
#include <fll/level_1/print.h>
#include <fll/level_1/string.h>
f_print
f_signal
f_status_string
-fl_console
fl_conversion
fl_print
fl_string
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_print -lfll_program -lfll_status_string -lfl_console -lfl_conversion -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_print -lfll_program -lfll_status_string -lfl_conversion -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_memory -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared
#include <fll/level_0/signal.h>
// FLL-1 includes.
-#include <fll/level_1/console.h>
#include <fll/level_1/conversion.h>
#include <fll/level_1/print.h>
#include <fll/level_1/string.h>
f_pipe
f_print
f_signal
-fl_console
fl_conversion
fl_print
fl_string
build_indexer_arguments rcs
build_language c
build_libraries -lc
-build_libraries-individual -lfll_error -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_string -lf_type_array -lf_utf
+build_libraries-individual -lfll_error -lfll_print -lfll_program -lfl_conversion -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_memory -lf_pipe -lf_print -lf_signal -lf_string -lf_type_array -lf_utf
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_libraries_shared