From: Kevin Day Date: Sat, 9 Jan 2021 20:31:19 +0000 (-0600) Subject: Update: collapse projects using fl_string as necessary and replace dependencies as... X-Git-Tag: 0.5.3~129 X-Git-Url: https://git.kevux.org/?a=commitdiff_plain;h=5e7942e4c73caf97057b20ef8c9fdaa768dc0cac;p=fll Update: collapse projects using fl_string as necessary and replace dependencies as necessary. --- diff --git a/build/level_2/settings b/build/level_2/settings index e3903b6..b8c42db 100644 --- a/build/level_2/settings +++ b/build/level_2/settings @@ -21,10 +21,10 @@ build_language c build_libraries -lc -lcap build_libraries-level -lfll_1 -lfll_0 build_libraries-level_threadless -lfll_1 -lfll_0 -build_sources_library control_group.c environment.c error.c error-common.c private-error.c execute.c private-execute.c file.c private-file.c fss.c private-fss.c fss_basic.c fss_basic_list.c fss_embedded_list.c fss_extended.c fss_extended_list.c fss_status.c iki.c private-iki.c path.c program.c status.c +build_sources_library control_group.c error.c error-common.c private-error.c execute.c private-execute.c file.c private-file.c fss.c private-fss.c fss_basic.c fss_basic_list.c fss_embedded_list.c fss_extended.c fss_extended_list.c fss_status.c iki.c private-iki.c path.c program.c status.c build_sources_library-level build_sources_program -build_sources_headers control_group.h environment.h error.h error-common.h execute.h file.h fss.h fss_basic.h fss_basic_list.h fss_embedded_list.h fss_extended.h fss_extended_list.h fss_status.h iki.h path.h program.h status.h +build_sources_headers control_group.h error.h error-common.h execute.h file.h fss.h fss_basic.h fss_basic_list.h fss_embedded_list.h fss_extended.h fss_extended_list.h fss_status.h iki.h path.h program.h status.h build_sources_headers-level build_sources_script build_sources_setting diff --git a/build/monolithic/settings b/build/monolithic/settings index bef5671..e8ff855 100644 --- a/build/monolithic/settings +++ b/build/monolithic/settings @@ -21,10 +21,10 @@ build_language c 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/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/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/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/utf.c level_0/private-utf.c level_1/color.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/status.c level_1/string.c level_1/private-string.c level_1/type.c level_1/private-type.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/environment.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/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/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/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/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/utf.c level_0/private-utf.c level_1/color.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/status.c level_1/string.c level_1/private-string.c level_1/type.c level_1/private-type.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/program.c level_2/status.c build_sources_library-monolithic level_0/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/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_array.h level_0/string.h level_0/string-common.h level_0/private-string.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/utf.h level_0/utf-common.h level_1/color.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/status.h level_1/string.h level_1/type.h level_1/utf.h level_1/utf_file.h level_2/control_group.h level_2/environment.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/program.h level_2/status.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/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_array.h level_0/string.h level_0/string-common.h level_0/private-string.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/utf.h level_0/utf-common.h level_1/color.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/status.h level_1/string.h level_1/type.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/program.h level_2/status.h build_sources_headers-monolithic level_0/thread.h level_0/thread-common.h build_sources_script build_sources_setting diff --git a/build/scripts/bootstrap-example.sh b/build/scripts/bootstrap-example.sh index 83a9c7e..2fe265e 100644 --- a/build/scripts/bootstrap-example.sh +++ b/build/scripts/bootstrap-example.sh @@ -56,7 +56,7 @@ if [[ $1 == "individual" ]] ; then bash build/scripts/package.sh $verbose $color build -i if [[ $? -eq 0 ]] ; then - for i in f_type f_status f_memory f_string f_utf f_account f_capability f_color f_console f_control_group f_conversion f_directory f_environment f_execute f_file f_fss f_iki f_limit f_path f_pipe f_print f_serialize f_signal f_socket f_thread fl_color fl_console fl_control_group fl_conversion fl_directory fl_environment fl_execute fl_fss fl_iki fl_print fl_status fl_string fl_type fl_utf fl_utf_file fll_control_group fll_environment fll_error fll_execute fll_file fll_fss fll_iki fll_path fll_program fll_status ; do + for i in f_type f_status f_memory f_string f_utf f_account f_capability f_color f_console f_control_group f_conversion f_directory f_environment f_execute f_file f_fss f_iki f_limit f_path f_pipe f_print f_serialize f_signal f_socket f_thread fl_color fl_console fl_control_group fl_conversion fl_directory fl_environment fl_execute fl_fss fl_iki fl_print fl_status fl_string fl_type fl_utf fl_utf_file fll_control_group fll_error fll_execute fll_file fll_fss fll_iki fll_path fll_program fll_status ; do echo && echo "Processing $i." && cd package/individual/$i-$2/ && diff --git a/level_0/f_string/c/private-string.c b/level_0/f_string/c/private-string.c index b3fa01b..e19b305 100644 --- a/level_0/f_string/c/private-string.c +++ b/level_0/f_string/c/private-string.c @@ -158,7 +158,7 @@ extern "C" { } #endif // !defined(_di_f_string_dynamics_decimate_) || !defined(_di_f_string_dynamics_decimate_by_) || !defined(_di_f_string_dynamics_destroy_) -#if !defined(_di_f_string_dynamics_decrease_) || !defined(_di_f_string_dynamics_decrease_by_) || !defined(_di_f_string_dynamics_increase_) || !defined(_di_f_string_dynamics_increase_by_) || !defined(_di_fl_string_dynamics_terminate_) || !defined(_di_fl_string_dynamics_terminate_after_) +#if !defined(_di_f_string_dynamics_decrease_) || !defined(_di_f_string_dynamics_decrease_by_) || !defined(_di_f_string_dynamics_increase_) || !defined(_di_f_string_dynamics_increase_by_) f_status_t private_f_string_dynamics_resize(const f_string_length_t length, f_string_dynamics_t *strings) { f_status_t status = F_none; @@ -166,7 +166,7 @@ extern "C" { return status; } -#endif // !defined(_di_f_string_dynamics_decrease_) || !defined(_di_f_string_dynamics_decrease_by_) || !defined(_di_f_string_dynamics_increase_) || !defined(_di_f_string_dynamics_increase_by_) || !defined(_di_fl_string_dynamics_terminate_) || !defined(_di_fl_string_dynamics_terminate_after_) +#endif // !defined(_di_f_string_dynamics_decrease_) || !defined(_di_f_string_dynamics_decrease_by_) || !defined(_di_f_string_dynamics_increase_) || !defined(_di_f_string_dynamics_increase_by_) #if !defined(_di_f_string_maps_adjust_) f_status_t private_f_string_maps_adjust(const f_string_length_t length, f_string_maps_t *maps) { diff --git a/level_0/f_string/c/private-string.h b/level_0/f_string/c/private-string.h index 0751985..2a9a52b 100644 --- a/level_0/f_string/c/private-string.h +++ b/level_0/f_string/c/private-string.h @@ -291,12 +291,10 @@ extern "C" { * @see f_string_dynamics_decrease_by() * @see f_string_dynamics_increase() * @see f_string_dynamics_increase_by() - * @see fl_string_dynamics_terminate() - * @see fl_string_dynamics_terminate_after() */ -#if !defined(_di_f_string_dynamics_decrease_) || !defined(_di_f_string_dynamics_decrease_by_) || !defined(_di_f_string_dynamics_increase_) || !defined(_di_f_string_dynamics_increase_by_) || !defined(_di_fl_string_dynamics_terminate_) || !defined(_di_fl_string_dynamics_terminate_after_) +#if !defined(_di_f_string_dynamics_decrease_) || !defined(_di_f_string_dynamics_decrease_by_) || !defined(_di_f_string_dynamics_increase_) || !defined(_di_f_string_dynamics_increase_by_) extern f_status_t private_f_string_dynamics_resize(const f_string_length_t length, f_string_dynamics_t *strings) f_gcc_attribute_visibility_internal; -#endif // !defined(_di_f_string_dynamics_decrease_) || !defined(_di_f_string_dynamics_decrease_by_) || !defined(_di_f_string_dynamics_increase_) || !defined(_di_f_string_dynamics_increase_by_) || !defined(_di_fl_string_dynamics_terminate_) || !defined(_di_fl_string_dynamics_terminate_after_) +#endif // !defined(_di_f_string_dynamics_decrease_) || !defined(_di_f_string_dynamics_decrease_by_) || !defined(_di_f_string_dynamics_increase_) || !defined(_di_f_string_dynamics_increase_by_) /** * Private implementation for resizing. diff --git a/level_1/fl_environment/c/environment.c b/level_1/fl_environment/c/environment.c index 40089fa..64c9057 100644 --- a/level_1/fl_environment/c/environment.c +++ b/level_1/fl_environment/c/environment.c @@ -4,6 +4,86 @@ extern "C" { #endif +#ifndef _di_fl_environment_load_name_ + f_status_t fl_environment_load_name(const f_string_t name, const f_string_length_t length, f_string_maps_t *environment) { + #ifndef _di_level_2_parameter_checking_ + if (!name) return F_status_set_error(F_parameter); + if (!environment) return F_status_set_error(F_parameter); + #endif // _di_level_2_parameter_checking_ + + if (!length) { + return F_data_not; + } + + f_status_t status = f_string_maps_increase(environment); + if (F_status_is_error(status)) return status; + + environment->array[environment->used].name.used = 0; + environment->array[environment->used].value.used = 0; + + const f_string_static_t name_string = f_macro_string_static_t_initialize(name, length); + + status = f_string_dynamic_append_nulless(name_string, &environment->array[environment->used].name); + if (F_status_is_error(status)) return status; + + status = f_environment_get_dynamic(name_string, &environment->array[environment->used].value); + + if (F_status_is_error(status)) { + environment->array[environment->used].name.used = 0; + return status; + } + + if (status == F_data_not || status == F_exist_not) { + environment->array[environment->used].name.used = 0; + return status; + } + + environment->used++; + + return F_none; + } +#endif // _di_fl_environment_load_name_ + +#ifndef _di_fl_environment_load_names_ + f_status_t fl_environment_load_names(const f_string_dynamics_t names, f_string_maps_t *environment) { + #ifndef _di_level_2_parameter_checking_ + if (!environment) return F_status_set_error(F_parameter); + #endif // _di_level_2_parameter_checking_ + + if (!names.used) { + return F_data_not; + } + + f_status_t status = f_string_maps_increase_by(names.used, environment); + if (F_status_is_error(status)) return status; + + for (f_array_length_t i = 0; i < names.used; ++i) { + + environment->array[environment->used].name.used = 0; + environment->array[environment->used].value.used = 0; + + status = f_string_dynamic_append_nulless(names.array[i], &environment->array[environment->used].name); + if (F_status_is_error(status)) return status; + + status = f_environment_get_dynamic(names.array[i], &environment->array[environment->used].value); + + if (F_status_is_error(status)) { + environment->array[environment->used].name.used = 0; + return status; + } + + if (status == F_data_not || status == F_exist_not) { + environment->array[environment->used].name.used = 0; + continue; + } + + environment->used++; + } // for + + return F_none; + } +#endif // _di_fl_environment_load_names_ + #ifndef _di_fl_environment_path_explode_ f_status_t fl_environment_path_explode(const f_string_t path, f_string_dynamics_t *paths) { #ifndef _di_level_0_parameter_checking_ diff --git a/level_1/fl_environment/c/environment.h b/level_1/fl_environment/c/environment.h index 45730f2..229f0b2 100644 --- a/level_1/fl_environment/c/environment.h +++ b/level_1/fl_environment/c/environment.h @@ -26,6 +26,68 @@ extern "C" { #endif /** + * Append the given environment variable name and value pair into the given map. + * + * If the environment variable name is not found, then it is not added to the map. + * If the environment variable name is found but has an empty value, then it is added to the map with an empty value. + * + * This does not check for uniqueness in the map. + * + * @param name + * A string representing the environment variable name. + * @param length + * The length of the environment variable name string. + * @param environment + * An array of maps generated from the loaded environment variable names. + * + * @return + * F_none on success. + * F_data_not if name length is 0. + * F_exist_not if name does not exist. + * + * Errors (with error bit) from: f_environment_get_dynamic(). + * Errors (with error bit) from: f_string_dynamic_append_nulless(). + * Errors (with error bit) from: f_string_maps_increase_by(). + * + * @see f_environment_get_dynamic() + * @see f_string_dynamic_append_nulless() + * @see f_string_maps_increase_by() + */ +#ifndef _di_fl_environment_load_name_ + extern f_status_t fl_environment_load_name(const f_string_t name, const f_string_length_t length, f_string_maps_t *environment); +#endif // _di_fl_environment_load_name_ + +/** + * Append the given environment variable name and value pairs into the given map. + * + * If the environment variable name is not found, then it is not added to the map. + * If the environment variable name is found but has an empty value, then it is added to the map with an empty value. + * + * This does not check for uniqueness in the map. + * + * @param names + * An array of valid environment variable names. + * @param environment + * An array of maps generated from the loaded environment variable names. + * All environment names loaded are appended to this. + * + * @return + * F_none on success. + * F_data_not if names.used is 0. + * + * Errors (with error bit) from: f_environment_get_dynamic(). + * Errors (with error bit) from: f_string_dynamic_append_nulless(). + * Errors (with error bit) from: f_string_maps_increase_by(). + * + * @see f_environment_get_dynamic() + * @see f_string_dynamic_append_nulless() + * @see f_string_maps_increase_by() + */ +#ifndef _di_fl_environment_load_names_ + extern f_status_t fl_environment_load_names(const f_string_dynamics_t names, f_string_maps_t *environment); +#endif // _di_fl_environment_load_names_ + +/** * Separate a given PATH-style string into multiple separate paths. * * @param path diff --git a/level_1/fl_string/c/private-string.h b/level_1/fl_string/c/private-string.h index ad22c6a..bc4ba0f 100644 --- a/level_1/fl_string/c/private-string.h +++ b/level_1/fl_string/c/private-string.h @@ -177,9 +177,9 @@ extern "C" { * * Errors (with error bit) from: f_utf_is_whitespace(). * - * @see fl_string_dynamic_rip() * @see fl_string_rip() * @see fl_string_rip_nulless() + * @see fl_string_dynamic_rip() * @see fl_string_dynamic_rip_nulless() */ #if !defined(_di_fl_string_rip_) || !defined(_di_fl_string_dynamic_rip_) || !defined(_di_fl_string_rip_nulless_) || !defined(_di_fl_string_dynamic_rip_nulless_) diff --git a/level_2/fll_environment/c/environment.c b/level_2/fll_environment/c/environment.c deleted file mode 100644 index 9080187..0000000 --- a/level_2/fll_environment/c/environment.c +++ /dev/null @@ -1,89 +0,0 @@ -#include "environment.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _di_fll_environment_load_name_ - f_status_t fll_environment_load_name(const f_string_t name, const f_string_length_t length, f_string_maps_t *environment) { - #ifndef _di_level_2_parameter_checking_ - if (!name) return F_status_set_error(F_parameter); - if (!environment) return F_status_set_error(F_parameter); - #endif // _di_level_2_parameter_checking_ - - if (!length) { - return F_data_not; - } - - f_status_t status = f_string_maps_increase(environment); - if (F_status_is_error(status)) return status; - - environment->array[environment->used].name.used = 0; - environment->array[environment->used].value.used = 0; - - const f_string_static_t name_string = f_macro_string_static_t_initialize(name, length); - - status = f_string_dynamic_append_nulless(name_string, &environment->array[environment->used].name); - if (F_status_is_error(status)) return status; - - status = f_environment_get_dynamic(name_string, &environment->array[environment->used].value); - - if (F_status_is_error(status)) { - environment->array[environment->used].name.used = 0; - return status; - } - - if (status == F_data_not || status == F_exist_not) { - environment->array[environment->used].name.used = 0; - return status; - } - - environment->used++; - - return F_none; - } -#endif // _di_fll_environment_load_name_ - -#ifndef _di_fll_environment_load_names_ - f_status_t fll_environment_load_names(const f_string_dynamics_t names, f_string_maps_t *environment) { - #ifndef _di_level_2_parameter_checking_ - if (!environment) return F_status_set_error(F_parameter); - #endif // _di_level_2_parameter_checking_ - - if (!names.used) { - return F_data_not; - } - - f_status_t status = f_string_maps_increase_by(names.used, environment); - if (F_status_is_error(status)) return status; - - for (f_array_length_t i = 0; i < names.used; ++i) { - - environment->array[environment->used].name.used = 0; - environment->array[environment->used].value.used = 0; - - status = f_string_dynamic_append_nulless(names.array[i], &environment->array[environment->used].name); - if (F_status_is_error(status)) return status; - - status = f_environment_get_dynamic(names.array[i], &environment->array[environment->used].value); - - if (F_status_is_error(status)) { - environment->array[environment->used].name.used = 0; - return status; - } - - if (status == F_data_not || status == F_exist_not) { - environment->array[environment->used].name.used = 0; - continue; - } - - environment->used++; - } // for - - return F_none; - } -#endif // _di_fll_environment_load_names_ - -#ifdef __cplusplus -} // extern "C" -#endif diff --git a/level_2/fll_environment/c/environment.h b/level_2/fll_environment/c/environment.h deleted file mode 100644 index 24b39e1..0000000 --- a/level_2/fll_environment/c/environment.h +++ /dev/null @@ -1,96 +0,0 @@ -/** - * FLL - Level 2 - * - * Project: Environment - * API Version: 0.5 - * Licenses: lgplv2.1 - * - * Provides environment-related functionality. - */ -#ifndef _FLL_environment_h -#define _FLL_environment_h - -// libc includes -#include - -// fll-0 includes -#include -#include -#include -#include -#include - -// fll-1 includes -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Append the given environment variable name and value pair into the given map. - * - * If the environment variable name is not found, then it is not added to the map. - * If the environment variable name is found but has an empty value, then it is added to the map with an empty value. - * - * This does not check for uniqueness in the map. - * - * @param name - * A string representing the environment variable name. - * @param length - * The length of the environment variable name string. - * @param environment - * An array of maps generated from the loaded environment variable names. - * - * @return - * F_none on success. - * F_data_not if name length is 0. - * F_exist_not if name does not exist. - * - * Errors (with error bit) from: f_environment_get_dynamic(). - * Errors (with error bit) from: f_string_dynamic_append_nulless(). - * Errors (with error bit) from: f_string_maps_increase_by(). - * - * @see f_environment_get_dynamic() - * @see f_string_dynamic_append_nulless() - * @see f_string_maps_increase_by() - */ -#ifndef _di_fll_environment_load_name_ - extern f_status_t fll_environment_load_name(const f_string_t name, const f_string_length_t length, f_string_maps_t *environment); -#endif // _di_fll_environment_load_name_ - -/** - * Append the given environment variable name and value pairs into the given map. - * - * If the environment variable name is not found, then it is not added to the map. - * If the environment variable name is found but has an empty value, then it is added to the map with an empty value. - * - * This does not check for uniqueness in the map. - * - * @param names - * An array of valid environment variable names. - * @param environment - * An array of maps generated from the loaded environment variable names. - * All environment names loaded are appended to this. - * - * @return - * F_none on success. - * F_data_not if names.used is 0. - * - * Errors (with error bit) from: f_environment_get_dynamic(). - * Errors (with error bit) from: f_string_dynamic_append_nulless(). - * Errors (with error bit) from: f_string_maps_increase_by(). - * - * @see f_environment_get_dynamic() - * @see f_string_dynamic_append_nulless() - * @see f_string_maps_increase_by() - */ -#ifndef _di_fll_environment_load_names_ - extern f_status_t fll_environment_load_names(const f_string_dynamics_t names, f_string_maps_t *environment); -#endif // _di_fll_environment_load_names_ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // _FLL_environment_h diff --git a/level_2/fll_environment/data/build/defines b/level_2/fll_environment/data/build/defines deleted file mode 100644 index c665317..0000000 --- a/level_2/fll_environment/data/build/defines +++ /dev/null @@ -1,2 +0,0 @@ -# fss-0000 - diff --git a/level_2/fll_environment/data/build/dependencies b/level_2/fll_environment/data/build/dependencies deleted file mode 100644 index a1194c4..0000000 --- a/level_2/fll_environment/data/build/dependencies +++ /dev/null @@ -1,8 +0,0 @@ -# fss-0000 - -f_type -f_status -f_memory -f_string -f_environment -fl_string diff --git a/level_2/fll_environment/data/build/settings b/level_2/fll_environment/data/build/settings deleted file mode 100644 index e6a1ae6..0000000 --- a/level_2/fll_environment/data/build/settings +++ /dev/null @@ -1,55 +0,0 @@ -# fss-0001 - -project_name fll_environment - -version_major 0 -version_minor 5 -version_micro 3 -version_target major - -environment - -process_pre -process_post - -modes individual -modes_default individual - -build_compiler gcc -build_indexer ar -build_language c -build_libraries -lc -build_libraries-individual -lfl_string -lf_environment -lf_memory -lf_string -lf_utf -build_sources_library environment.c -build_sources_program -build_sources_headers environment.h -build_sources_script -build_sources_setting -build_script yes -build_shared yes -build_static no - -path_headers level_2 -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_all -defines_static -defines_shared - -flags_all -z now -g -fdiagnostics-color=always -flags_shared -flags_static -flags_library -fPIC -flags_program -fPIE diff --git a/level_2/fll_error/data/build/dependencies b/level_2/fll_error/data/build/dependencies index 17636a8..d5b5789 100644 --- a/level_2/fll_error/data/build/dependencies +++ b/level_2/fll_error/data/build/dependencies @@ -9,4 +9,3 @@ f_color f_console f_file f_print -fl_string diff --git a/level_2/fll_error/data/build/settings b/level_2/fll_error/data/build/settings index 9a6e816..b75bc8f 100644 --- a/level_2/fll_error/data/build/settings +++ b/level_2/fll_error/data/build/settings @@ -19,7 +19,7 @@ build_compiler gcc build_indexer ar build_language c build_libraries -lc -build_libraries-individual -lfl_string -lf_color -lf_console -lf_file -lf_memory -lf_print -lf_string -lf_utf +build_libraries-individual -lf_color -lf_console -lf_file -lf_memory -lf_print -lf_string -lf_utf build_sources_library error.c error-common.c private-error.c build_sources_program build_sources_headers error.h error-common.h diff --git a/level_2/fll_execute/data/build/dependencies b/level_2/fll_execute/data/build/dependencies index f87fce0..f0f2989 100644 --- a/level_2/fll_execute/data/build/dependencies +++ b/level_2/fll_execute/data/build/dependencies @@ -16,4 +16,3 @@ f_thread fl_control_group fl_environment fl_execute -fl_string diff --git a/level_2/fll_execute/data/build/settings b/level_2/fll_execute/data/build/settings index f82cca6..9dbb962 100644 --- a/level_2/fll_execute/data/build/settings +++ b/level_2/fll_execute/data/build/settings @@ -19,8 +19,8 @@ build_compiler gcc build_indexer ar build_language c build_libraries -lc -lcap -build_libraries-individual -lfl_control_group -lfl_environment -lfl_string -lf_account -lf_capability -lf_control_group -lf_environment -lf_file -lf_limit -lf_memory -lf_path -lf_signal -lf_string -lf_thread -lf_utf -build_libraries-individual_threadless -lfl_control_group -lfl_environment -lfl_string -lf_account -lf_capability -lf_control_group -lf_environment -lf_file -lf_limit -lf_memory -lf_path -lf_signal -lf_string -lf_utf +build_libraries-individual -lfl_control_group -lfl_environment -lf_account -lf_capability -lf_control_group -lf_environment -lf_file -lf_limit -lf_memory -lf_path -lf_signal -lf_string -lf_thread -lf_utf +build_libraries-individual_threadless -lfl_control_group -lfl_environment -lf_account -lf_capability -lf_control_group -lf_environment -lf_file -lf_limit -lf_memory -lf_path -lf_signal -lf_string -lf_utf build_sources_library execute.c private-execute.c build_sources_program build_sources_headers execute.h diff --git a/level_2/fll_fss/c/fss.h b/level_2/fll_fss/c/fss.h index 809b20e..2de606f 100644 --- a/level_2/fll_fss/c/fss.h +++ b/level_2/fll_fss/c/fss.h @@ -113,8 +113,8 @@ extern "C" { * Errors (with error bit) from: fl_string_compare_trim(). * Errors (with error bit) from: f_string_dynamic_partial_append_nulless(). * - * @see fl_string_compare_trim() * @see f_string_dynamic_partial_append_nulless() + * @see fl_string_compare_trim() */ #ifndef _di_fll_fss_snatch_ extern f_status_t fll_fss_snatch(const f_string_static_t buffer, const f_fss_objects_t objects, const f_fss_contents_t contents, const f_string_t names[], const f_string_length_t lengths[], const f_string_length_t size, f_string_dynamic_t *values[], f_array_length_t *indexs[]); @@ -159,8 +159,8 @@ extern "C" { * Errors (with error bit) from: fl_string_compare_trim(). * Errors (with error bit) from: f_string_dynamic_partial_append_nulless(). * - * @see fl_string_compare_trim() * @see f_string_dynamic_partial_append_nulless() + * @see fl_string_compare_trim() */ #ifndef _di_fll_fss_snatch_apart_ extern f_status_t fll_fss_snatch_apart(const f_string_static_t buffer, const f_fss_objects_t objects, const f_fss_contents_t contents, const f_string_t names[], const f_string_length_t lengths[], const f_string_length_t size, f_string_dynamics_t *values[], f_array_lengths_t *indexs[]); @@ -207,8 +207,8 @@ extern "C" { * Errors (with error bit) from: fl_string_compare_trim(). * Errors (with error bit) from: f_string_dynamic_partial_append_nulless(). * - * @see fl_string_compare_trim() * @see f_string_dynamic_partial_append_nulless() + * @see fl_string_compare_trim() */ #ifndef _di_fll_fss_snatch_map_ extern f_status_t fll_fss_snatch_map(const f_string_static_t buffer, const f_fss_objects_t objects, const f_fss_contents_t contents, const f_string_t names[], const f_string_length_t lengths[], const f_string_length_t size, f_string_maps_t *values[], f_array_lengths_t *indexs[]); @@ -257,8 +257,8 @@ extern "C" { * Errors (with error bit) from: fl_string_compare_trim(). * Errors (with error bit) from: f_string_dynamic_partial_append_nulless(). * - * @see fl_string_compare_trim() * @see f_string_dynamic_partial_append_nulless() + * @see fl_string_compare_trim() */ #ifndef _di_fll_fss_snatch_map_apart_ extern f_status_t fll_fss_snatch_map_apart(const f_string_static_t buffer, const f_fss_objects_t objects, const f_fss_contents_t contents, const f_string_t names[], const f_string_length_t lengths[], const f_string_length_t size, f_string_map_multis_t *values[], f_array_lengths_t *indexs[]); @@ -361,8 +361,8 @@ extern "C" { * Errors (with error bit) from: fl_string_compare_trim(). * Errors (with error bit) from: f_string_dynamic_partial_append_nulless(). * - * @see fl_string_compare_trim() * @see f_string_dynamic_partial_mash_nulless() + * @see fl_string_compare_trim() */ #ifndef _di_fll_fss_snatch_map_mash_apart_ extern f_status_t fll_fss_snatch_map_mash_apart(const f_string_static_t buffer, const f_fss_objects_t objects, const f_fss_contents_t contents, const f_string_t names[], const f_string_length_t lengths[], const f_string_length_t size, const f_string_t glue, const f_string_length_t glue_length, f_string_map_multis_t *values[], f_array_lengths_t *indexs[]); @@ -414,8 +414,8 @@ extern "C" { * Errors (with error bit) from: fl_string_compare_trim(). * Errors (with error bit) from: f_string_dynamic_partial_append_nulless(). * - * @see fl_string_compare_trim() * @see f_string_dynamic_partial_mash_nulless() + * @see fl_string_compare_trim() */ #ifndef _di_fll_fss_snatch_map_together_ extern f_status_t fll_fss_snatch_map_together(const f_string_static_t buffer, const f_fss_objects_t objects, const f_fss_contents_t contents, const f_string_t names[], const f_string_length_t lengths[], const f_string_length_t size, const f_string_t glue, const f_string_length_t glue_length, f_string_maps_t *values[], f_array_lengths_t *indexs[]); @@ -512,8 +512,8 @@ extern "C" { * Errors (with error bit) from: fl_string_compare_trim(). * Errors (with error bit) from: f_string_dynamic_partial_append_nulless(). * - * @see fl_string_compare_trim() * @see f_string_dynamic_partial_mash_nulless() + * @see fl_string_compare_trim() */ #ifndef _di_fll_fss_snatch_mash_apart_ extern f_status_t fll_fss_snatch_mash_apart(const f_string_static_t buffer, const f_fss_objects_t objects, const f_fss_contents_t contents, const f_string_t names[], const f_string_length_t lengths[], const f_string_length_t size, const f_string_t glue, const f_string_length_t glue_length, f_string_dynamics_t *values[], f_array_lengths_t *indexs[]); @@ -556,8 +556,8 @@ extern "C" { * Errors (with error bit) from: fl_string_compare_trim(). * Errors (with error bit) from: f_string_dynamic_partial_mash_nulless(). * - * @see fl_string_compare_trim() * @see f_string_dynamic_partial_append_nulless() + * @see fl_string_compare_trim() */ #ifndef _di_fll_fss_snatch_together_ extern f_status_t fll_fss_snatch_together(const f_string_static_t buffer, const f_fss_objects_t objects, const f_fss_contents_t contents, const f_string_t names[], const f_string_length_t lengths[], const f_string_length_t size, const f_string_t glue, const f_string_length_t glue_length, f_string_dynamic_t *values[], f_array_length_t *indexs[]); diff --git a/level_2/fll_iki/data/build/dependencies b/level_2/fll_iki/data/build/dependencies index 60e504d..fcf4651 100644 --- a/level_2/fll_iki/data/build/dependencies +++ b/level_2/fll_iki/data/build/dependencies @@ -7,4 +7,3 @@ f_string f_utf f_iki fl_iki -fl_string diff --git a/level_2/fll_iki/data/build/settings b/level_2/fll_iki/data/build/settings index e546cb2..3b64722 100644 --- a/level_2/fll_iki/data/build/settings +++ b/level_2/fll_iki/data/build/settings @@ -19,7 +19,7 @@ build_compiler gcc build_indexer ar build_language c build_libraries -lc -build_libraries-individual -lfl_iki -lfl_string -lf_iki -lf_memory -lf_string -lf_utf +build_libraries-individual -lfl_iki -lf_iki -lf_memory -lf_string -lf_utf build_sources_library iki.c private-iki.c build_sources_program build_sources_headers iki.h diff --git a/level_2/fll_path/data/build/dependencies b/level_2/fll_path/data/build/dependencies index 2815ad2..5a5fdd1 100644 --- a/level_2/fll_path/data/build/dependencies +++ b/level_2/fll_path/data/build/dependencies @@ -5,4 +5,3 @@ f_status f_memory f_string f_path -fl_string diff --git a/level_2/fll_path/data/build/settings b/level_2/fll_path/data/build/settings index d2295b9..cfd9bba 100644 --- a/level_2/fll_path/data/build/settings +++ b/level_2/fll_path/data/build/settings @@ -19,7 +19,7 @@ build_compiler gcc build_indexer ar build_language c build_libraries -lc -build_libraries-individual -lfl_string -lf_memory -lf_path -lf_string -lf_utf +build_libraries-individual -lf_memory -lf_path -lf_string build_sources_library path.c build_sources_program build_sources_headers path.h diff --git a/level_3/controller/c/controller.h b/level_3/controller/c/controller.h index 4f3609d..5aca141 100644 --- a/level_3/controller/c/controller.h +++ b/level_3/controller/c/controller.h @@ -54,13 +54,13 @@ #include #include #include +#include #include #include #include // fll-2 includes #include -#include #include #include #include diff --git a/level_3/controller/c/private-controller.h b/level_3/controller/c/private-controller.h index ff5b90c..dcafc68 100644 --- a/level_3/controller/c/private-controller.h +++ b/level_3/controller/c/private-controller.h @@ -23,11 +23,11 @@ extern "C" { * @return * F_none on success. * - * Errors (with error bit) from: fl_string_dynamic_rip_nulless(). * Errors (with error bit) from: f_string_dynamic_terminate_after(). + * Errors (with error bit) from: fl_string_dynamic_rip_nulless(). * - * @see fl_string_dynamic_rip_nulless() * @see f_string_dynamic_terminate_after() + * @see fl_string_dynamic_rip_nulless() */ #ifndef _di_controller_string_dynamic_rip_nulless_terminated_ extern f_status_t controller_string_dynamic_rip_nulless_terminated(const f_string_static_t source, const f_string_range_t range, f_string_dynamic_t *destination) f_gcc_attribute_visibility_internal; diff --git a/level_3/controller/c/private-entry.h b/level_3/controller/c/private-entry.h index 829c43a..f200cfb 100644 --- a/level_3/controller/c/private-entry.h +++ b/level_3/controller/c/private-entry.h @@ -88,11 +88,11 @@ extern "C" { * * @see controller_entry_actions_increase_by() * @see f_fss_count_lines() - * @see fl_fss_apply_delimit() * @see f_string_dynamic_partial_append_nulless() - * @see fl_string_dynamic_rip_nulless() * @see f_string_dynamic_terminate_after() * @see f_string_dynamics_increase_by() + * @see fl_fss_apply_delimit() + * @see fl_string_dynamic_rip_nulless() * @see fll_fss_extended_read() */ #ifndef _di_controller_entry_actions_read_ diff --git a/level_3/controller/c/private-rule.c b/level_3/controller/c/private-rule.c index 193fac9..a631205 100644 --- a/level_3/controller/c/private-rule.c +++ b/level_3/controller/c/private-rule.c @@ -567,10 +567,10 @@ extern "C" { as.id_user = &rule->user; } - status = fll_environment_load_names(rule->environment, &environment); + status = fl_environment_load_names(rule->environment, &environment); if (F_status_is_error(status)) { - fll_error_print(data->error, F_status_set_fine(status), "fll_environment_load_names", F_true); + fll_error_print(data->error, F_status_set_fine(status), "fl_environment_load_names", F_true); rule->status = F_status_set_error(F_failure); return status; diff --git a/level_3/controller/c/private-rule.h b/level_3/controller/c/private-rule.h index c39bd5a..68d47d5 100644 --- a/level_3/controller/c/private-rule.h +++ b/level_3/controller/c/private-rule.h @@ -602,9 +602,9 @@ extern "C" { * Errors (with error bit) from: fll_path_canonical(). * * @see f_string_dynamic_partial_append_nulless() - * @see fl_string_dynamic_rip_nulless() * @see f_string_dynamics_increase() * @see f_string_maps_increase() + * @see fl_string_dynamic_rip_nulless() * @see fll_fss_extended_read() * @see fll_path_canonical() */ diff --git a/level_3/controller/data/build/dependencies b/level_3/controller/data/build/dependencies index 530b45d..c0bd26a 100644 --- a/level_3/controller/data/build/dependencies +++ b/level_3/controller/data/build/dependencies @@ -26,12 +26,12 @@ fl_color fl_console fl_control_group fl_conversion +fl_environment fl_fss fl_iki fl_string fl_type fll_control_group -fll_environment fll_error fll_execute fll_fss diff --git a/level_3/controller/data/build/settings b/level_3/controller/data/build/settings index 2e692da..8dc69ed 100644 --- a/level_3/controller/data/build/settings +++ b/level_3/controller/data/build/settings @@ -19,7 +19,7 @@ build_compiler gcc build_indexer ar build_language c build_libraries -lc -lcap -build_libraries-individual -lfll_control_group -lfll_environment -lfll_error -lfll_execute -lfll_fss -lfll_path -lfll_program -lfll_status -lfl_color -lfl_console -lfl_control_group -lfl_conversion -lfl_directory -lfl_environment -lfl_fss -lfl_iki -lfl_status -lfl_string -lfl_type -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_pipe -lf_print -lf_signal -lf_string -lf_thread -lf_utf +build_libraries-individual -lfll_control_group -lfll_error -lfll_execute -lfll_fss -lfll_path -lfll_program -lfll_status -lfl_color -lfl_console -lfl_control_group -lfl_conversion -lfl_directory -lfl_environment -lfl_fss -lfl_iki -lfl_status -lfl_string -lfl_type -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_pipe -lf_print -lf_signal -lf_string -lf_thread -lf_utf build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll build_sources_library controller.c private-control.c private-controller.c private-entry.c private-rule.c diff --git a/level_3/fake/c/fake.h b/level_3/fake/c/fake.h index 9fb13bb..72ef847 100644 --- a/level_3/fake/c/fake.h +++ b/level_3/fake/c/fake.h @@ -71,11 +71,11 @@ #include #include #include +#include #include #include // fll-2 includes -#include #include #include #include diff --git a/level_3/fake/c/private-build.c b/level_3/fake/c/private-build.c index 8bb234a..7eecdcd 100644 --- a/level_3/fake/c/private-build.c +++ b/level_3/fake/c/private-build.c @@ -1227,10 +1227,10 @@ extern "C" { for (uint8_t i = 0; i < 2; i++) { - *status = fll_environment_load_name(variables_name[i], variables_length[i], environment); + *status = fl_environment_load_name(variables_name[i], variables_length[i], environment); if (F_status_is_error(*status)) { - fll_error_print(data.error, F_status_set_fine(*status), "fll_environment_load_name", F_true); + fll_error_print(data.error, F_status_set_fine(*status), "fl_environment_load_name", F_true); break; } } // for @@ -1257,10 +1257,10 @@ extern "C" { } } - *status = fll_environment_load_names(data_build.setting.environment, environment); + *status = fl_environment_load_names(data_build.setting.environment, environment); if (F_status_is_error(*status)) { - fll_error_print(data.error, F_status_set_fine(*status), "fll_environment_load_names", F_true); + fll_error_print(data.error, F_status_set_fine(*status), "fl_environment_load_names", F_true); } } #endif // _di_fake_build_load_environment_ diff --git a/level_3/fake/c/private-make.c b/level_3/fake/c/private-make.c index 727edfd..b5a83f2 100644 --- a/level_3/fake/c/private-make.c +++ b/level_3/fake/c/private-make.c @@ -3786,10 +3786,10 @@ extern "C" { data_make->environment.used = 0; - status = fll_environment_load_names(data_make->setting_build.environment, &data_make->environment); + status = fl_environment_load_names(data_make->setting_build.environment, &data_make->environment); if (F_status_is_error(status)) { - fll_error_print(data_make->error, F_status_set_fine(status), "fll_environment_load_names", F_true); + fll_error_print(data_make->error, F_status_set_fine(status), "fl_environment_load_names", F_true); return status; } diff --git a/level_3/fake/data/build/dependencies b/level_3/fake/data/build/dependencies index 61eec48..86001b4 100644 --- a/level_3/fake/data/build/dependencies +++ b/level_3/fake/data/build/dependencies @@ -24,12 +24,12 @@ fl_console fl_control_group fl_conversion fl_directory +fl_environment fl_fss fl_iki fl_status fl_string fl_utf -fll_environment fll_error fll_execute fll_file diff --git a/level_3/fake/data/build/settings b/level_3/fake/data/build/settings index d06d128..9d7a89d 100644 --- a/level_3/fake/data/build/settings +++ b/level_3/fake/data/build/settings @@ -19,7 +19,7 @@ build_compiler gcc build_indexer ar build_language c build_libraries -lc -lcap -build_libraries-individual -lfll_environment -lfll_error -lfll_execute -lfll_file -lfll_fss -lfll_path -lfll_program -lfl_color -lfl_console -lfl_control_group -lfl_conversion -lfl_directory -lfl_environment -lfl_fss -lfl_iki -lfl_status -lfl_string -lfl_utf -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_utf +build_libraries-individual -lfll_error -lfll_execute -lfll_file -lfll_fss -lfll_path -lfll_program -lfl_color -lfl_console -lfl_control_group -lfl_conversion -lfl_directory -lfl_environment -lfl_fss -lfl_iki -lfl_status -lfl_string -lfl_utf -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_utf build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll build_sources_library fake.c private-fake.c private-clean.c private-build.c private-make.c private-print.c private-skeleton.c diff --git a/level_3/firewall/data/build/dependencies b/level_3/firewall/data/build/dependencies index 1d6921f..a486b83 100644 --- a/level_3/firewall/data/build/dependencies +++ b/level_3/firewall/data/build/dependencies @@ -21,6 +21,7 @@ fl_color fl_console fl_control_group fl_conversion +fl_environment fl_fss fl_status fl_string