From 5b47d934f04ad440a99ecf2f165079a7ae369757 Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Sun, 29 Jan 2023 16:47:45 -0600 Subject: [PATCH] Progress: Continue program related work, focusing on Featureless Make. The Featureless Make program appears to function at this time. There is still a lot more work to do. --- level_3/fake/c/main/common-string.c | 26 ++--- level_3/fake/c/main/common-string.h | 122 ++++++++++----------- level_3/fake/c/main/common-type.h | 47 ++++---- level_3/fake/c/main/common.c | 64 ++++++----- level_3/fake/c/main/print.c | 12 +- level_3/fake/c/main/private-build-load.c | 4 +- level_3/fake/c/main/private-build-skeleton.c | 11 +- level_3/fake/c/main/private-build.c | 34 +++--- level_3/fake/c/main/private-common.c | 7 ++ level_3/fake/c/main/private-common.h | 29 ++++- level_3/fake/c/main/private-fake-path_generate.c | 3 +- level_3/fake/c/main/private-fake.c | 35 +++--- level_3/fake/c/main/private-make-load_parameters.c | 82 ++++++++------ level_3/fake/c/main/private-make-operate.c | 14 ++- .../c/main/private-make-operate_process_type.c | 8 +- level_3/fake/c/main/private-skeleton.c | 2 +- 16 files changed, 288 insertions(+), 212 deletions(-) diff --git a/level_3/fake/c/main/common-string.c b/level_3/fake/c/main/common-string.c index 86dca06..958e664 100644 --- a/level_3/fake/c/main/common-string.c +++ b/level_3/fake/c/main/common-string.c @@ -75,31 +75,29 @@ extern "C" { #endif // _di_fake_build_version_s_ #ifndef _di_fake_parameter_s_ + const f_string_static_t fake_short_build_s = macro_f_string_static_t_initialize(FAKE_short_build_s, 0, FAKE_short_build_s_length); + const f_string_static_t fake_short_data_s = macro_f_string_static_t_initialize(FAKE_short_data_s, 0, FAKE_short_data_s_length); const f_string_static_t fake_short_define_s = macro_f_string_static_t_initialize(FAKE_short_define_s, 0, FAKE_short_define_s_length); + const f_string_static_t fake_short_documents_s = macro_f_string_static_t_initialize(FAKE_short_documents_s, 0, FAKE_short_documents_s_length); const f_string_static_t fake_short_fakefile_s = macro_f_string_static_t_initialize(FAKE_short_fakefile_s, 0, FAKE_short_fakefile_s_length); + const f_string_static_t fake_short_licenses_s = macro_f_string_static_t_initialize(FAKE_short_licenses_s, 0, FAKE_short_licenses_s_length); const f_string_static_t fake_short_mode_s = macro_f_string_static_t_initialize(FAKE_short_mode_s, 0, FAKE_short_mode_s_length); const f_string_static_t fake_short_process_s = macro_f_string_static_t_initialize(FAKE_short_process_s, 0, FAKE_short_process_s_length); const f_string_static_t fake_short_settings_s = macro_f_string_static_t_initialize(FAKE_short_settings_s, 0, FAKE_short_settings_s_length); + const f_string_static_t fake_short_sources_s = macro_f_string_static_t_initialize(FAKE_short_sources_s, 0, FAKE_short_sources_s_length); + const f_string_static_t fake_short_work_s = macro_f_string_static_t_initialize(FAKE_short_work_s, 0, FAKE_short_work_s_length); - const f_string_static_t fake_short_path_build_s = macro_f_string_static_t_initialize(FAKE_short_path_build_s, 0, FAKE_short_path_build_s_length); - const f_string_static_t fake_short_path_data_s = macro_f_string_static_t_initialize(FAKE_short_path_data_s, 0, FAKE_short_path_data_s_length); - const f_string_static_t fake_short_path_documents_s = macro_f_string_static_t_initialize(FAKE_short_path_documents_s, 0, FAKE_short_path_documents_s_length); - const f_string_static_t fake_short_path_licenses_s = macro_f_string_static_t_initialize(FAKE_short_path_licenses_s, 0, FAKE_short_path_licenses_s_length); - const f_string_static_t fake_short_path_sources_s = macro_f_string_static_t_initialize(FAKE_short_path_sources_s, 0, FAKE_short_path_sources_s_length); - const f_string_static_t fake_short_path_work_s = macro_f_string_static_t_initialize(FAKE_short_path_work_s, 0, FAKE_short_path_work_s_length); - + const f_string_static_t fake_long_build_s = macro_f_string_static_t_initialize(FAKE_long_build_s, 0, FAKE_long_build_s_length); + const f_string_static_t fake_long_data_s = macro_f_string_static_t_initialize(FAKE_long_data_s, 0, FAKE_long_data_s_length); const f_string_static_t fake_long_define_s = macro_f_string_static_t_initialize(FAKE_long_define_s, 0, FAKE_long_define_s_length); + const f_string_static_t fake_long_documents_s = macro_f_string_static_t_initialize(FAKE_long_documents_s, 0, FAKE_long_documents_s_length); const f_string_static_t fake_long_fakefile_s = macro_f_string_static_t_initialize(FAKE_long_fakefile_s, 0, FAKE_long_fakefile_s_length); + const f_string_static_t fake_long_licenses_s = macro_f_string_static_t_initialize(FAKE_long_licenses_s, 0, FAKE_long_licenses_s_length); const f_string_static_t fake_long_mode_s = macro_f_string_static_t_initialize(FAKE_long_mode_s, 0, FAKE_long_mode_s_length); const f_string_static_t fake_long_process_s = macro_f_string_static_t_initialize(FAKE_long_process_s, 0, FAKE_long_process_s_length); const f_string_static_t fake_long_settings_s = macro_f_string_static_t_initialize(FAKE_long_settings_s, 0, FAKE_long_settings_s_length); - - const f_string_static_t fake_long_path_build_s = macro_f_string_static_t_initialize(FAKE_long_path_build_s, 0, FAKE_long_path_build_s_length); - const f_string_static_t fake_long_path_data_s = macro_f_string_static_t_initialize(FAKE_long_path_data_s, 0, FAKE_long_path_data_s_length); - const f_string_static_t fake_long_path_documents_s = macro_f_string_static_t_initialize(FAKE_long_path_documents_s, 0, FAKE_long_path_documents_s_length); - const f_string_static_t fake_long_path_licenses_s = macro_f_string_static_t_initialize(FAKE_long_path_licenses_s, 0, FAKE_long_path_licenses_s_length); - const f_string_static_t fake_long_path_sources_s = macro_f_string_static_t_initialize(FAKE_long_path_sources_s, 0, FAKE_long_path_sources_s_length); - const f_string_static_t fake_long_path_work_s = macro_f_string_static_t_initialize(FAKE_long_path_work_s, 0, FAKE_long_path_work_s_length); + const f_string_static_t fake_long_sources_s = macro_f_string_static_t_initialize(FAKE_long_sources_s, 0, FAKE_long_sources_s_length); + const f_string_static_t fake_long_work_s = macro_f_string_static_t_initialize(FAKE_long_work_s, 0, FAKE_long_work_s_length); const f_string_static_t fake_long_documents_disabled_s = macro_f_string_static_t_initialize(FAKE_long_documents_disabled_s, 0, FAKE_long_documents_disabled_s_length); const f_string_static_t fake_long_documents_enabled_s = macro_f_string_static_t_initialize(FAKE_long_documents_enabled_s, 0, FAKE_long_documents_enabled_s_length); diff --git a/level_3/fake/c/main/common-string.h b/level_3/fake/c/main/common-string.h index 4ba7466..fcdc877 100644 --- a/level_3/fake/c/main/common-string.h +++ b/level_3/fake/c/main/common-string.h @@ -244,31 +244,29 @@ extern "C" { * The main program parameters. */ #ifndef _di_fake_parameter_s_ - #define FAKE_short_define_s "d" - #define FAKE_short_fakefile_s "f" - #define FAKE_short_mode_s "m" - #define FAKE_short_process_s "p" - #define FAKE_short_settings_s "s" - - #define FAKE_short_path_build_s "b" - #define FAKE_short_path_data_s "D" - #define FAKE_short_path_documents_s "O" - #define FAKE_short_path_licenses_s "l" - #define FAKE_short_path_sources_s "S" - #define FAKE_short_path_work_s "w" - - #define FAKE_long_define_s "define" - #define FAKE_long_fakefile_s "fakefile" - #define FAKE_long_mode_s "mode" - #define FAKE_long_process_s "process" - #define FAKE_long_settings_s "settings" - - #define FAKE_long_path_build_s "build" - #define FAKE_long_path_data_s "data" - #define FAKE_long_path_documents_s "documents" - #define FAKE_long_path_licenses_s "licenses" - #define FAKE_long_path_sources_s "sources" - #define FAKE_long_path_work_s "work" + #define FAKE_short_build_s "b" + #define FAKE_short_data_s "D" + #define FAKE_short_define_s "d" + #define FAKE_short_documents_s "O" + #define FAKE_short_fakefile_s "f" + #define FAKE_short_licenses_s "l" + #define FAKE_short_mode_s "m" + #define FAKE_short_process_s "p" + #define FAKE_short_settings_s "s" + #define FAKE_short_sources_s "S" + #define FAKE_short_work_s "w" + + #define FAKE_long_build_s "build" + #define FAKE_long_data_s "data" + #define FAKE_long_define_s "define" + #define FAKE_long_documents_s "documents" + #define FAKE_long_fakefile_s "fakefile" + #define FAKE_long_licenses_s "licenses" + #define FAKE_long_mode_s "mode" + #define FAKE_long_process_s "process" + #define FAKE_long_settings_s "settings" + #define FAKE_long_sources_s "sources" + #define FAKE_long_work_s "work" // These special parameters are provided in such a way that they mimic the traditional ./configure script. #define FAKE_long_documents_disabled_s "disable-doc" @@ -283,31 +281,29 @@ extern "C" { #define FAKE_other_operation_make_s "make" #define FAKE_other_operation_skeleton_s "skeleton" - #define FAKE_short_define_s_length 1 - #define FAKE_short_fakefile_s_length 1 - #define FAKE_short_mode_s_length 1 - #define FAKE_short_process_s_length 1 - #define FAKE_short_settings_s_length 1 - - #define FAKE_short_path_build_s_length 1 - #define FAKE_short_path_data_s_length 1 - #define FAKE_short_path_documents_s_length 1 - #define FAKE_short_path_licenses_s_length 1 - #define FAKE_short_path_sources_s_length 1 - #define FAKE_short_path_work_s_length 1 - - #define FAKE_long_define_s_length 6 - #define FAKE_long_fakefile_s_length 8 - #define FAKE_long_mode_s_length 4 - #define FAKE_long_process_s_length 7 - #define FAKE_long_settings_s_length 8 - - #define FAKE_long_path_build_s_length 5 - #define FAKE_long_path_data_s_length 4 - #define FAKE_long_path_documents_s_length 9 - #define FAKE_long_path_licenses_s_length 8 - #define FAKE_long_path_sources_s_length 7 - #define FAKE_long_path_work_s_length 4 + #define FAKE_short_build_s_length 1 + #define FAKE_short_data_s_length 1 + #define FAKE_short_define_s_length 1 + #define FAKE_short_documents_s_length 1 + #define FAKE_short_fakefile_s_length 1 + #define FAKE_short_licenses_s_length 1 + #define FAKE_short_mode_s_length 1 + #define FAKE_short_process_s_length 1 + #define FAKE_short_settings_s_length 1 + #define FAKE_short_sources_s_length 1 + #define FAKE_short_work_s_length 1 + + #define FAKE_long_build_s_length 5 + #define FAKE_long_data_s_length 4 + #define FAKE_long_define_s_length 6 + #define FAKE_long_documents_s_length 9 + #define FAKE_long_fakefile_s_length 8 + #define FAKE_long_licenses_s_length 8 + #define FAKE_long_mode_s_length 4 + #define FAKE_long_process_s_length 7 + #define FAKE_long_settings_s_length 8 + #define FAKE_long_sources_s_length 7 + #define FAKE_long_work_s_length 4 #define FAKE_long_documents_disabled_s_length 11 #define FAKE_long_documents_enabled_s_length 10 @@ -321,31 +317,29 @@ extern "C" { #define FAKE_other_operation_make_s_length 4 #define FAKE_other_operation_skeleton_s_length 8 + extern const f_string_static_t fake_short_build_s; + extern const f_string_static_t fake_short_data_s; extern const f_string_static_t fake_short_define_s; + extern const f_string_static_t fake_short_documents_s; extern const f_string_static_t fake_short_fakefile_s; + extern const f_string_static_t fake_short_licenses_s; extern const f_string_static_t fake_short_mode_s; extern const f_string_static_t fake_short_process_s; extern const f_string_static_t fake_short_settings_s; + extern const f_string_static_t fake_short_sources_s; + extern const f_string_static_t fake_short_work_s; - extern const f_string_static_t fake_short_path_build_s; - extern const f_string_static_t fake_short_path_data_s; - extern const f_string_static_t fake_short_path_documents_s; - extern const f_string_static_t fake_short_path_licenses_s; - extern const f_string_static_t fake_short_path_sources_s; - extern const f_string_static_t fake_short_path_work_s; - + extern const f_string_static_t fake_long_build_s; + extern const f_string_static_t fake_long_data_s; extern const f_string_static_t fake_long_define_s; + extern const f_string_static_t fake_long_documents_s; extern const f_string_static_t fake_long_fakefile_s; + extern const f_string_static_t fake_long_licenses_s; extern const f_string_static_t fake_long_mode_s; extern const f_string_static_t fake_long_process_s; extern const f_string_static_t fake_long_settings_s; - - extern const f_string_static_t fake_long_path_build_s; - extern const f_string_static_t fake_long_path_data_s; - extern const f_string_static_t fake_long_path_documents_s; - extern const f_string_static_t fake_long_path_licenses_s; - extern const f_string_static_t fake_long_path_sources_s; - extern const f_string_static_t fake_long_path_work_s; + extern const f_string_static_t fake_long_sources_s; + extern const f_string_static_t fake_long_work_s; extern const f_string_static_t fake_long_documents_disabled_s; extern const f_string_static_t fake_long_documents_enabled_s; diff --git a/level_3/fake/c/main/common-type.h b/level_3/fake/c/main/common-type.h index 424b1b6..d65fed8 100644 --- a/level_3/fake/c/main/common-type.h +++ b/level_3/fake/c/main/common-type.h @@ -36,9 +36,9 @@ extern "C" { * The program defines. * * fake_signal_*_d: - * - check: The normal signal check (@fixme is needed anymore as-is?). - * - check_tiny: The tiny check (@fixme is needed anymore as-is?). - * - check_short: The short signal check (@fixme this is used everywhere). + * - check: The normal signal check. + * - check_tiny: The tiny check. + * - check_short: The short signal check. */ #ifndef _di_fake_signal_d_ #define fake_signal_check_d 500000 @@ -100,9 +100,9 @@ extern "C" { * fake_main_flag_*_e: * - none: No flags set. * - copyright: Print copyright. - * - enable_documents: Enable documents, as-in --enable-doc (not specifying means --disable-doc). - * - enable_shared: Enable shared, as-in --enable-shared (not specifying means --disable-shared). - * - enable_static: Enable static, as-in --enable-static (not specifying means --disable-static). + * - enable_documents: Enable documents, as in --enable-doc (not specifying means --disable-doc). + * - enable_shared: Enable shared, as in --enable-shared (not specifying means --disable-shared). + * - enable_static: Enable static, as in --enable-static (not specifying means --disable-static). * - file_from: Using a specified source file. * - file_to: Using a specified destination file. * - header: Enable printing of headers. @@ -159,18 +159,17 @@ extern "C" { fake_parameter_line_first_no_e, fake_parameter_line_last_no_e, + fake_parameter_build_e, + fake_parameter_data_e, fake_parameter_define_e, + fake_parameter_documents_e, fake_parameter_fakefile_e, + fake_parameter_licenses_e, fake_parameter_mode_e, fake_parameter_process_e, fake_parameter_settings_e, - - fake_parameter_path_build_e, - fake_parameter_path_data_e, - fake_parameter_path_documents_e, - fake_parameter_path_licenses_e, - fake_parameter_path_sources_e, - fake_parameter_path_work_e, + fake_parameter_sources_e, + fake_parameter_work_e, fake_parameter_documents_disable_e, fake_parameter_documents_enable_e, @@ -201,17 +200,17 @@ extern "C" { macro_f_console_parameter_t_initialize_3(f_console_standard_short_line_first_no_s, f_console_standard_long_line_first_no_s, 0, f_console_flag_inverse_e), \ macro_f_console_parameter_t_initialize_3(f_console_standard_short_line_last_no_s, f_console_standard_long_line_last_no_s, 0, f_console_flag_inverse_e), \ \ - macro_f_console_parameter_t_initialize_3(fake_short_define_s, fake_long_define_s, 1, f_console_flag_normal_e), \ - macro_f_console_parameter_t_initialize_3(fake_short_fakefile_s, fake_long_fakefile_s, 1, f_console_flag_normal_e), \ - macro_f_console_parameter_t_initialize_3(fake_short_mode_s, fake_long_mode_s, 1, f_console_flag_normal_e), \ - macro_f_console_parameter_t_initialize_3(fake_short_process_s, fake_long_process_s, 1, f_console_flag_normal_e), \ - macro_f_console_parameter_t_initialize_3(fake_short_settings_s, fake_long_settings_s, 1, f_console_flag_normal_e), \ - macro_f_console_parameter_t_initialize_3(fake_short_path_build_s, fake_long_path_build_s, 1, f_console_flag_normal_e), \ - macro_f_console_parameter_t_initialize_3(fake_short_path_data_s, fake_long_path_data_s, 1, f_console_flag_normal_e), \ - macro_f_console_parameter_t_initialize_3(fake_short_path_documents_s, fake_long_path_documents_s, 1, f_console_flag_normal_e), \ - macro_f_console_parameter_t_initialize_3(fake_short_path_sources_s, fake_long_path_sources_s, 1, f_console_flag_normal_e), \ - macro_f_console_parameter_t_initialize_3(fake_short_path_licenses_s, fake_long_path_licenses_s, 1, f_console_flag_normal_e), \ - macro_f_console_parameter_t_initialize_3(fake_short_path_work_s, fake_long_path_work_s, 1, f_console_flag_normal_e), \ + macro_f_console_parameter_t_initialize_3(fake_short_build_s, fake_long_build_s, 1, f_console_flag_normal_e), \ + macro_f_console_parameter_t_initialize_3(fake_short_data_s, fake_long_data_s, 1, f_console_flag_normal_e), \ + macro_f_console_parameter_t_initialize_3(fake_short_define_s, fake_long_define_s, 1, f_console_flag_normal_e), \ + macro_f_console_parameter_t_initialize_3(fake_short_documents_s, fake_long_documents_s, 1, f_console_flag_normal_e), \ + macro_f_console_parameter_t_initialize_3(fake_short_fakefile_s, fake_long_fakefile_s, 1, f_console_flag_normal_e), \ + macro_f_console_parameter_t_initialize_3(fake_short_licenses_s, fake_long_licenses_s, 1, f_console_flag_normal_e), \ + macro_f_console_parameter_t_initialize_3(fake_short_mode_s, fake_long_mode_s, 1, f_console_flag_normal_e), \ + macro_f_console_parameter_t_initialize_3(fake_short_process_s, fake_long_process_s, 1, f_console_flag_normal_e), \ + macro_f_console_parameter_t_initialize_3(fake_short_settings_s, fake_long_settings_s, 1, f_console_flag_normal_e), \ + macro_f_console_parameter_t_initialize_3(fake_short_sources_s, fake_long_sources_s, 1, f_console_flag_normal_e), \ + macro_f_console_parameter_t_initialize_3(fake_short_work_s, fake_long_work_s, 1, f_console_flag_normal_e), \ \ macro_f_console_parameter_t_initialize_5(fake_long_documents_disabled_s, 0, f_console_flag_normal_e), \ macro_f_console_parameter_t_initialize_5(fake_long_documents_enabled_s, 0, f_console_flag_normal_e), \ diff --git a/level_3/fake/c/main/common.c b/level_3/fake/c/main/common.c index dc05fa1..6e1971f 100644 --- a/level_3/fake/c/main/common.c +++ b/level_3/fake/c/main/common.c @@ -172,64 +172,76 @@ extern "C" { { const f_array_length_t parameters[] = { + fake_parameter_build_e, + fake_parameter_data_e, + fake_parameter_documents_e, fake_parameter_fakefile_e, - fake_parameter_path_build_e, - fake_parameter_path_data_e, - fake_parameter_path_sources_e, - fake_parameter_path_work_e, + fake_parameter_licenses_e, fake_parameter_process_e, fake_parameter_settings_e, + fake_parameter_sources_e, + fake_parameter_work_e, }; const f_string_static_t names[] = { + fake_long_build_s, + fake_long_data_s, fake_long_fakefile_s, - fake_long_path_build_s, - fake_long_path_data_s, - fake_long_path_sources_s, - fake_long_path_work_s, + fake_long_documents_s, + fake_long_licenses_s, fake_long_process_s, fake_long_settings_s, + fake_long_sources_s, + fake_long_work_s, }; f_string_dynamic_t * const variable[] = { - &setting->fakefile, &setting->build, &setting->data, - &setting->sources, - &setting->work, + &setting->documents, + &setting->fakefile, + &setting->licenses, &setting->process, &setting->settings, + &setting->sources, + &setting->work, }; - f_string_dynamic_resize(0, &setting->build); - f_string_dynamic_resize(0, &setting->data); - f_string_dynamic_resize(0, &setting->fakefile); - f_string_dynamic_resize(0, &setting->process); - f_string_dynamic_resize(0, &setting->settings); - f_string_dynamic_resize(0, &setting->sources); - f_string_dynamic_resize(0, &setting->work); + setting->build.used = 0; + setting->data.used = 0; + setting->documents.used = 0; + setting->fakefile.used = 0; + setting->licenses.used = 0; + setting->process.used = 0; + setting->settings.used = 0; + setting->sources.used = 0; + setting->work.used = 0; const f_string_static_t defaults[] = { - fake_default_fakefile_s, fake_default_build_s, fake_default_data_s, - fake_default_sources_s, - fake_default_work_s, + fake_default_documents_s, + fake_default_fakefile_s, + fake_default_licenses_s, fake_default_process_s, fake_default_settings_s, + fake_default_sources_s, + fake_default_work_s, }; const bool cleanups[] = { + F_true, // fake_parameter_build_e + F_true, // fake_parameter_data_e + F_true, // fake_parameter_documents_e F_false, // fake_parameter_fakefile_e - F_true, // fake_parameter_path_build_e - F_true, // fake_parameter_path_data_e - F_false, // fake_parameter_path_sources_e - F_true, // fake_parameter_path_work_e + F_true, // fake_parameter_licenses_e F_false, // fake_parameter_process_e F_false, // fake_parameter_settings_e + F_false, // fake_parameter_sources_e + F_true, // fake_parameter_work_e }; - for (i = 0; i < 7; ++i) { + for (i = 0; i < 9; ++i) { if (main->parameters.array[parameters[i]].result & f_console_result_found_e) { setting->status = F_status_set_error(F_parameter); diff --git a/level_3/fake/c/main/print.c b/level_3/fake/c/main/print.c index 73f6f3a..cb2b696 100644 --- a/level_3/fake/c/main/print.c +++ b/level_3/fake/c/main/print.c @@ -202,12 +202,12 @@ extern "C" { f_print_dynamic_raw(f_string_eol_s, print.to); - fll_program_print_help_option(print, fake_short_path_build_s, fake_long_path_build_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Specify a custom build directory."); - fll_program_print_help_option(print, fake_short_path_data_s, fake_long_path_data_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Specify a custom path to the data files."); - fll_program_print_help_option(print, fake_short_path_documents_s, fake_long_path_documents_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Specify a custom path to the documents files."); - fll_program_print_help_option(print, fake_short_path_licenses_s, fake_long_path_licenses_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Specify a custom path to the licenses files."); - fll_program_print_help_option(print, fake_short_path_sources_s, fake_long_path_sources_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Specify a custom path to the source files."); - fll_program_print_help_option(print, fake_short_path_work_s, fake_long_path_work_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Use includes/libraries/programs from this directory instead of system."); + fll_program_print_help_option(print, fake_short_build_s, fake_long_build_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Specify a custom build directory."); + fll_program_print_help_option(print, fake_short_data_s, fake_long_data_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Specify a custom path to the data files."); + fll_program_print_help_option(print, fake_short_documents_s, fake_long_documents_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Specify a custom path to the documents files."); + fll_program_print_help_option(print, fake_short_licenses_s, fake_long_licenses_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Specify a custom path to the licenses files."); + fll_program_print_help_option(print, fake_short_sources_s, fake_long_sources_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Specify a custom path to the source files."); + fll_program_print_help_option(print, fake_short_work_s, fake_long_work_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Use includes/libraries/programs from this directory instead of system."); fl_print_format("%r%r %[Special Options:%] ", print.to, f_string_eol_s, f_string_eol_s, print.set->important, print.set->important); diff --git a/level_3/fake/c/main/private-build-load.c b/level_3/fake/c/main/private-build-load.c index bf38092..8c38847 100644 --- a/level_3/fake/c/main/private-build-load.c +++ b/level_3/fake/c/main/private-build-load.c @@ -932,7 +932,7 @@ extern "C" { fake_path_part_script_s, // path_program_script fake_path_part_shared_s, // path_program_shared fake_path_part_static_s, // path_program_static - fake_default_sources_s, // path_sources + f_string_empty_s, // path_sources f_string_empty_s, // path_sources_object f_string_empty_s, // preserve_path_headers f_string_empty_s, // process_post @@ -1371,7 +1371,7 @@ extern "C" { if (F_status_is_error(*status)) return; - if (data->main->parameters.array[fake_parameter_path_sources_e].result & f_console_result_value_e && data->setting->sources.used) { + if (data->main->parameters.array[fake_parameter_sources_e].result & f_console_result_value_e && data->setting->sources.used) { *status = f_string_dynamic_append_assure(f_path_separator_s, &data->setting->sources); if (F_status_is_error(*status)) { diff --git a/level_3/fake/c/main/private-build-skeleton.c b/level_3/fake/c/main/private-build-skeleton.c index c49bafd..2dc8498 100644 --- a/level_3/fake/c/main/private-build-skeleton.c +++ b/level_3/fake/c/main/private-build-skeleton.c @@ -30,7 +30,7 @@ extern "C" { path_headers_string[path_headers.used] = 0; const f_string_static_t directorys[] = { - data->setting->build, + data->path_build, data->path_build_documentation, data->path_build_documents, data->path_build_includes, @@ -56,6 +56,7 @@ extern "C" { } bool created = F_false; + f_array_length_t j = 0; for (uint8_t i = 0; i < 19; ++i) { @@ -63,11 +64,11 @@ extern "C" { created = F_false; - for (f_array_length_t j = 0; j < directorys[i].used; ++j) { + for (j = 0; j < directorys[i].used; ++j) { - if (directorys[i].string[j] != f_path_separator_s.string[0]) continue; + if (f_path_separator_s.used && directorys[i].string[j] != f_path_separator_s.string[0]) continue; - directorys[i].string[j] = 0; + directorys[i].string[j] = 0; // @fixme this is an error because static strings might be in use. *status = f_directory_exists(directorys[i]); @@ -88,7 +89,7 @@ extern "C" { if (F_status_is_error(*status)) break; } // for - if (F_status_is_fine(*status) && directorys[i].string[directorys[i].used - 1] != f_path_separator_s.string[0]) { + if (F_status_is_fine(*status) && directorys[i].used && f_path_separator_s.used && directorys[i].string[directorys[i].used - 1] != f_path_separator_s.string[0]) { *status = f_directory_exists(directorys[i]); if (F_status_is_error_not(*status)) { diff --git a/level_3/fake/c/main/private-build.c b/level_3/fake/c/main/private-build.c index 2542ecc..37de206 100644 --- a/level_3/fake/c/main/private-build.c +++ b/level_3/fake/c/main/private-build.c @@ -634,36 +634,42 @@ const f_string_static_t fake_build_documentation_files_s = macro_f_string_static } const f_string_static_t prefixs[] = { - f_console_symbol_short_normal_s, - f_console_symbol_short_normal_s, - f_console_symbol_short_normal_s, - f_console_symbol_short_normal_s, - f_console_symbol_short_normal_s, - f_console_symbol_short_normal_s, - f_console_symbol_short_normal_s, + f_console_symbol_short_normal_s, // fake_short_build_s + f_console_symbol_short_normal_s, // fake_short_data_s + f_console_symbol_short_normal_s, // fake_short_define_s + f_console_symbol_short_normal_s, // fake_short_documents_s + f_console_symbol_short_normal_s, // fake_short_licenses_s + f_console_symbol_short_normal_s, // fake_short_process_s + f_console_symbol_short_normal_s, // fake_short_settings_s + f_console_symbol_short_normal_s, // fake_short_sources_s + f_console_symbol_short_normal_s, // fake_short_work_s }; const f_string_static_t names[] = { + fake_short_build_s, + fake_short_data_s, fake_short_define_s, + fake_short_documents_s, + fake_short_licenses_s, fake_short_process_s, fake_short_settings_s, - fake_short_path_build_s, - fake_short_path_data_s, - fake_short_path_sources_s, - fake_short_path_work_s, + fake_short_sources_s, + fake_short_work_s, }; const f_string_static_t values[] = { + data->setting->build, + data->setting->data, defines, + data->setting->documents, + data->setting->licenses, data->setting->process, data->setting->settings, - data->setting->build, - data->setting->data, data->setting->sources, data->setting->work, }; - *status = fll_execute_arguments_add_parameter_set(prefixs, names, values, 7, &arguments); + *status = fll_execute_arguments_add_parameter_set(prefixs, names, values, 9, &arguments); f_string_dynamic_resize(0, &defines); diff --git a/level_3/fake/c/main/private-common.c b/level_3/fake/c/main/private-common.c index 4cf7cff..7b8b1c3 100644 --- a/level_3/fake/c/main/private-common.c +++ b/level_3/fake/c/main/private-common.c @@ -258,7 +258,9 @@ extern "C" { const f_string_static_t fake_make_parameter_variable_current_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_current_s, 0, FAKE_make_parameter_variable_current_s_length); const f_string_static_t fake_make_parameter_variable_data_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_data_s, 0, FAKE_make_parameter_variable_data_s_length); const f_string_static_t fake_make_parameter_variable_define_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_define_s, 0, FAKE_make_parameter_variable_define_s_length); + const f_string_static_t fake_make_parameter_variable_documents_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_documents_s, 0, FAKE_make_parameter_variable_documents_s_length); const f_string_static_t fake_make_parameter_variable_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_fakefile_s, 0, FAKE_make_parameter_variable_fakefile_s_length); + const f_string_static_t fake_make_parameter_variable_licenses_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_licenses_s, 0, FAKE_make_parameter_variable_licenses_s_length); const f_string_static_t fake_make_parameter_variable_mode_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_mode_s, 0, FAKE_make_parameter_variable_mode_s_length); const f_string_static_t fake_make_parameter_variable_process_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_process_s, 0, FAKE_make_parameter_variable_process_s_length); const f_string_static_t fake_make_parameter_variable_return_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_return_s, 0, FAKE_make_parameter_variable_return_s_length); @@ -272,7 +274,9 @@ extern "C" { const f_string_static_t fake_make_parameter_variable_option_color_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_color_s, 0, FAKE_make_parameter_variable_option_color_s_length); const f_string_static_t fake_make_parameter_variable_option_data_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_data_s, 0, FAKE_make_parameter_variable_option_data_s_length); const f_string_static_t fake_make_parameter_variable_option_define_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_define_s, 0, FAKE_make_parameter_variable_option_define_s_length); + const f_string_static_t fake_make_parameter_variable_option_documents_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_documents_s, 0, FAKE_make_parameter_variable_option_documents_s_length); const f_string_static_t fake_make_parameter_variable_option_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_fakefile_s, 0, FAKE_make_parameter_variable_option_fakefile_s_length); + const f_string_static_t fake_make_parameter_variable_option_licenses_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_licenses_s, 0, FAKE_make_parameter_variable_option_licenses_s_length); const f_string_static_t fake_make_parameter_variable_option_mode_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_mode_s, 0, FAKE_make_parameter_variable_option_mode_s_length); const f_string_static_t fake_make_parameter_variable_option_process_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_process_s, 0, FAKE_make_parameter_variable_option_process_s_length); const f_string_static_t fake_make_parameter_variable_option_settings_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_settings_s, 0, FAKE_make_parameter_variable_option_settings_s_length); @@ -284,7 +288,9 @@ extern "C" { const f_string_static_t fake_make_parameter_variable_value_color_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_color_s, 0, FAKE_make_parameter_variable_value_color_s_length); const f_string_static_t fake_make_parameter_variable_value_data_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_data_s, 0, FAKE_make_parameter_variable_value_data_s_length); const f_string_static_t fake_make_parameter_variable_value_define_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_define_s, 0, FAKE_make_parameter_variable_value_define_s_length); + const f_string_static_t fake_make_parameter_variable_value_documents_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_documents_s, 0, FAKE_make_parameter_variable_value_documents_s_length); const f_string_static_t fake_make_parameter_variable_value_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_fakefile_s, 0, FAKE_make_parameter_variable_value_fakefile_s_length); + const f_string_static_t fake_make_parameter_variable_value_licenses_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_licenses_s, 0, FAKE_make_parameter_variable_value_licenses_s_length); const f_string_static_t fake_make_parameter_variable_value_mode_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_mode_s, 0, FAKE_make_parameter_variable_value_mode_s_length); const f_string_static_t fake_make_parameter_variable_value_process_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_process_s, 0, FAKE_make_parameter_variable_value_process_s_length); const f_string_static_t fake_make_parameter_variable_value_settings_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_settings_s, 0, FAKE_make_parameter_variable_value_settings_s_length); @@ -322,6 +328,7 @@ extern "C" { #ifndef _di_fake_data_delete_ f_status_t fake_data_delete(fake_data_t * const data) { + f_string_dynamic_resize(0, &data->path_build); f_string_dynamic_resize(0, &data->path_build_documentation); f_string_dynamic_resize(0, &data->path_build_documents); f_string_dynamic_resize(0, &data->path_build_includes); diff --git a/level_3/fake/c/main/private-common.h b/level_3/fake/c/main/private-common.h index 1bf9e1f..acacd4e 100644 --- a/level_3/fake/c/main/private-common.h +++ b/level_3/fake/c/main/private-common.h @@ -39,7 +39,6 @@ extern "C" { * path_build_settings: The build settings path. * path_build_stage: The build stage path. * - * path_data: The data path. * path_data_build: The build data path. * path_data_documentation: The documentation data path. * path_data_settings: The settings data path. @@ -48,7 +47,6 @@ extern "C" { * path_licenses: The licenses path. * path_sources: The sources path. * - * path_work: The work path. * path_work_includes: The includes work path. * path_work_libraries: The libraries work path. * path_work_libraries_script: The libraries_script work path. @@ -75,6 +73,7 @@ extern "C" { fll_program_data_t *main; fake_setting_t *setting; + f_string_dynamic_t path_build; f_string_dynamic_t path_build_documentation; f_string_dynamic_t path_build_documents; f_string_dynamic_t path_build_includes; @@ -164,6 +163,7 @@ extern "C" { f_string_dynamic_t_initialize, \ f_string_dynamic_t_initialize, \ f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ } #endif // _di_fake_main_t_ @@ -1472,7 +1472,9 @@ extern "C" { #define FAKE_make_parameter_variable_current_s "current" #define FAKE_make_parameter_variable_data_s "data" #define FAKE_make_parameter_variable_define_s "define" + #define FAKE_make_parameter_variable_documents_s "documents" #define FAKE_make_parameter_variable_fakefile_s "fakefile" + #define FAKE_make_parameter_variable_licenses_s "licenses" #define FAKE_make_parameter_variable_mode_s "mode" #define FAKE_make_parameter_variable_process_s "process" #define FAKE_make_parameter_variable_return_s "return" @@ -1486,7 +1488,9 @@ extern "C" { #define FAKE_make_parameter_variable_option_color_s FAKE_make_parameter_variable_color_s FAKE_make_parameter_iki_option_s #define FAKE_make_parameter_variable_option_data_s FAKE_make_parameter_variable_data_s FAKE_make_parameter_iki_option_s #define FAKE_make_parameter_variable_option_define_s FAKE_make_parameter_variable_define_s FAKE_make_parameter_iki_option_s + #define FAKE_make_parameter_variable_option_documents_s FAKE_make_parameter_variable_documents_s FAKE_make_parameter_iki_option_s #define FAKE_make_parameter_variable_option_fakefile_s FAKE_make_parameter_variable_fakefile_s FAKE_make_parameter_iki_option_s + #define FAKE_make_parameter_variable_option_licenses_s FAKE_make_parameter_variable_licenses_s FAKE_make_parameter_iki_option_s #define FAKE_make_parameter_variable_option_mode_s FAKE_make_parameter_variable_mode_s FAKE_make_parameter_iki_option_s #define FAKE_make_parameter_variable_option_process_s FAKE_make_parameter_variable_process_s FAKE_make_parameter_iki_option_s #define FAKE_make_parameter_variable_option_settings_s FAKE_make_parameter_variable_settings_s FAKE_make_parameter_iki_option_s @@ -1498,7 +1502,9 @@ extern "C" { #define FAKE_make_parameter_variable_value_color_s FAKE_make_parameter_variable_color_s FAKE_make_parameter_iki_value_s #define FAKE_make_parameter_variable_value_data_s FAKE_make_parameter_variable_data_s FAKE_make_parameter_iki_value_s #define FAKE_make_parameter_variable_value_define_s FAKE_make_parameter_variable_define_s FAKE_make_parameter_iki_value_s + #define FAKE_make_parameter_variable_value_documents_s FAKE_make_parameter_variable_documents_s FAKE_make_parameter_iki_value_s #define FAKE_make_parameter_variable_value_fakefile_s FAKE_make_parameter_variable_fakefile_s FAKE_make_parameter_iki_value_s + #define FAKE_make_parameter_variable_value_licenses_s FAKE_make_parameter_variable_licenses_s FAKE_make_parameter_iki_value_s #define FAKE_make_parameter_variable_value_mode_s FAKE_make_parameter_variable_mode_s FAKE_make_parameter_iki_value_s #define FAKE_make_parameter_variable_value_process_s FAKE_make_parameter_variable_process_s FAKE_make_parameter_iki_value_s #define FAKE_make_parameter_variable_value_settings_s FAKE_make_parameter_variable_settings_s FAKE_make_parameter_iki_value_s @@ -1514,7 +1520,10 @@ extern "C" { #define FAKE_make_parameter_variable_current_s_length 7 #define FAKE_make_parameter_variable_data_s_length 4 #define FAKE_make_parameter_variable_define_s_length 6 + #define FAKE_make_parameter_variable_documents_s_length 9 #define FAKE_make_parameter_variable_fakefile_s_length 8 + #define FAKE_make_parameter_variable_licenses_s_length 8 + #define FAKE_make_parameter_variable_data_s_length 4 #define FAKE_make_parameter_variable_mode_s_length 4 #define FAKE_make_parameter_variable_process_s_length 7 #define FAKE_make_parameter_variable_return_s_length 6 @@ -1528,7 +1537,9 @@ extern "C" { #define FAKE_make_parameter_variable_option_color_s_length FAKE_make_parameter_variable_color_s_length + FAKE_make_parameter_iki_option_s_length #define FAKE_make_parameter_variable_option_data_s_length FAKE_make_parameter_variable_data_s_length + FAKE_make_parameter_iki_option_s_length #define FAKE_make_parameter_variable_option_define_s_length FAKE_make_parameter_variable_define_s_length + FAKE_make_parameter_iki_option_s_length + #define FAKE_make_parameter_variable_option_documents_s_length FAKE_make_parameter_variable_documents_s_length + FAKE_make_parameter_iki_option_s_length #define FAKE_make_parameter_variable_option_fakefile_s_length FAKE_make_parameter_variable_fakefile_s_length + FAKE_make_parameter_iki_option_s_length + #define FAKE_make_parameter_variable_option_licenses_s_length FAKE_make_parameter_variable_licenses_s_length + FAKE_make_parameter_iki_option_s_length #define FAKE_make_parameter_variable_option_mode_s_length FAKE_make_parameter_variable_mode_s_length + FAKE_make_parameter_iki_option_s_length #define FAKE_make_parameter_variable_option_process_s_length FAKE_make_parameter_variable_process_s_length + FAKE_make_parameter_iki_option_s_length #define FAKE_make_parameter_variable_option_settings_s_length FAKE_make_parameter_variable_settings_s_length + FAKE_make_parameter_iki_option_s_length @@ -1539,8 +1550,10 @@ extern "C" { #define FAKE_make_parameter_variable_value_build_s_length FAKE_make_parameter_variable_build_s_length + FAKE_make_parameter_iki_value_s_length #define FAKE_make_parameter_variable_value_color_s_length FAKE_make_parameter_variable_color_s_length + FAKE_make_parameter_iki_value_s_length #define FAKE_make_parameter_variable_value_data_s_length FAKE_make_parameter_variable_data_s_length + FAKE_make_parameter_iki_value_s_length + #define FAKE_make_parameter_variable_value_documents_s_length FAKE_make_parameter_variable_documents_s_length + FAKE_make_parameter_iki_value_s_length #define FAKE_make_parameter_variable_value_define_s_length FAKE_make_parameter_variable_define_s_length + FAKE_make_parameter_iki_value_s_length #define FAKE_make_parameter_variable_value_fakefile_s_length FAKE_make_parameter_variable_fakefile_s_length + FAKE_make_parameter_iki_value_s_length + #define FAKE_make_parameter_variable_value_licenses_s_length FAKE_make_parameter_variable_licenses_s_length + FAKE_make_parameter_iki_value_s_length #define FAKE_make_parameter_variable_value_mode_s_length FAKE_make_parameter_variable_mode_s_length + FAKE_make_parameter_iki_value_s_length #define FAKE_make_parameter_variable_value_process_s_length FAKE_make_parameter_variable_process_s_length + FAKE_make_parameter_iki_value_s_length #define FAKE_make_parameter_variable_value_settings_s_length FAKE_make_parameter_variable_settings_s_length + FAKE_make_parameter_iki_value_s_length @@ -1556,7 +1569,9 @@ extern "C" { extern const f_string_static_t fake_make_parameter_variable_current_s; extern const f_string_static_t fake_make_parameter_variable_data_s; extern const f_string_static_t fake_make_parameter_variable_define_s; + extern const f_string_static_t fake_make_parameter_variable_documents_s; extern const f_string_static_t fake_make_parameter_variable_fakefile_s; + extern const f_string_static_t fake_make_parameter_variable_licenses_s; extern const f_string_static_t fake_make_parameter_variable_mode_s; extern const f_string_static_t fake_make_parameter_variable_process_s; extern const f_string_static_t fake_make_parameter_variable_return_s; @@ -1570,7 +1585,9 @@ extern "C" { extern const f_string_static_t fake_make_parameter_variable_option_color_s; extern const f_string_static_t fake_make_parameter_variable_option_data_s; extern const f_string_static_t fake_make_parameter_variable_option_define_s; + extern const f_string_static_t fake_make_parameter_variable_option_documents_s; extern const f_string_static_t fake_make_parameter_variable_option_fakefile_s; + extern const f_string_static_t fake_make_parameter_variable_option_licenses_s; extern const f_string_static_t fake_make_parameter_variable_option_mode_s; extern const f_string_static_t fake_make_parameter_variable_option_process_s; extern const f_string_static_t fake_make_parameter_variable_option_settings_s; @@ -1582,7 +1599,9 @@ extern "C" { extern const f_string_static_t fake_make_parameter_variable_value_color_s; extern const f_string_static_t fake_make_parameter_variable_value_data_s; extern const f_string_static_t fake_make_parameter_variable_value_define_s; + extern const f_string_static_t fake_make_parameter_variable_value_documents_s; extern const f_string_static_t fake_make_parameter_variable_value_fakefile_s; + extern const f_string_static_t fake_make_parameter_variable_value_licenses_s; extern const f_string_static_t fake_make_parameter_variable_value_mode_s; extern const f_string_static_t fake_make_parameter_variable_value_process_s; extern const f_string_static_t fake_make_parameter_variable_value_settings_s; @@ -1595,7 +1614,9 @@ extern "C" { f_string_dynamics_t color; f_string_dynamics_t data; f_string_dynamics_t define; + f_string_dynamics_t documents; f_string_dynamics_t fakefile; + f_string_dynamics_t licenses; f_string_dynamics_t mode; f_string_dynamics_t process; f_string_dynamics_t settings; @@ -1616,6 +1637,8 @@ extern "C" { f_string_dynamics_t_initialize, \ f_string_dynamics_t_initialize, \ f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ } #define macro_fake_make_parameter_delete_simple(parameter) \ @@ -1623,7 +1646,9 @@ extern "C" { macro_f_string_dynamics_t_delete_simple(parameter.color) \ macro_f_string_dynamics_t_delete_simple(parameter.data) \ macro_f_string_dynamics_t_delete_simple(parameter.define) \ + macro_f_string_dynamics_t_delete_simple(parameter.documents) \ macro_f_string_dynamics_t_delete_simple(parameter.fakefile) \ + macro_f_string_dynamics_t_delete_simple(parameter.licenses) \ macro_f_string_dynamics_t_delete_simple(parameter.mode) \ macro_f_string_dynamics_t_delete_simple(parameter.process) \ macro_f_string_dynamics_t_delete_simple(parameter.settings) \ diff --git a/level_3/fake/c/main/private-fake-path_generate.c b/level_3/fake/c/main/private-fake-path_generate.c index 5677370..fa90a59 100644 --- a/level_3/fake/c/main/private-fake-path_generate.c +++ b/level_3/fake/c/main/private-fake-path_generate.c @@ -21,11 +21,12 @@ extern "C" { }; const uint8_t parameters_size[] = { - 8, + 9, 3, }; f_string_dynamic_t *values_0[] = { + &data->path_build, &data->path_build_documentation, &data->path_build_documents, &data->path_build_includes, diff --git a/level_3/fake/c/main/private-fake.c b/level_3/fake/c/main/private-fake.c index 3d3410c..e9dc2bf 100644 --- a/level_3/fake/c/main/private-fake.c +++ b/level_3/fake/c/main/private-fake.c @@ -139,7 +139,7 @@ extern "C" { return status; } - status = f_file_read(file, buffer); + status = f_file_stream_read(file, buffer); f_file_stream_flush(file); f_file_stream_close(&file); @@ -211,23 +211,34 @@ extern "C" { } const f_string_static_t names[] = { - fake_long_path_build_s, - fake_long_path_data_s, - fake_long_path_work_s, + fake_long_build_s, + fake_long_data_s, + fake_long_documents_s, + fake_long_licenses_s, + fake_long_sources_s, + fake_long_work_s, }; const f_string_dynamic_t values[] = { data->setting->build, data->setting->data, + data->setting->documents, + data->setting->licenses, + data->setting->sources, data->setting->work, }; uint8_t requireds[] = { - F_false, - (data->main->pipe & fll_program_data_pipe_input_e) ? F_false : F_true, - F_false, + F_false, // fake_long_build_s + (data->main->pipe & fll_program_data_pipe_input_e) ? F_false : F_true, // fake_long_data_s + F_false, // fake_long_documents_s + F_false, // fake_long_licenses_s + F_false, // fake_long_sources_s + F_false, // fake_long_work_s }; + struct stat directory_stat; + f_status_t status = F_none; // Check only expected operations (fake_operation_clean_e and fake_operation_skeleton_e should not call this function). @@ -235,7 +246,7 @@ extern "C" { if (data->main->parameters.array[fake_parameter_fakefile_e].result == f_console_result_none_e) { if (data->setting->build.used && f_file_exists(data->setting->build, F_false) != F_true) { if (f_file_exists(fake_default_fakefile_s, F_false) == F_true) { - requireds[1] = F_false; + requireds[1] = F_false; // fake_long_data_s } } } @@ -253,21 +264,19 @@ extern "C" { const f_array_length_t index = parameter->values.array[parameter->values.used - 1]; if (f_path_is_absolute(data->main->parameters.arguments.array[index]) == F_true || f_path_is_relative_current(data->main->parameters.arguments.array[index]) == F_true) { - requireds[1] = F_none; + requireds[1] = F_none; // fake_long_data_s } else { status = f_file_exists(data->main->parameters.arguments.array[index], F_true); if (F_status_is_error_not(status) && status == F_true) { - requireds[1] = F_none; + requireds[1] = F_none; // fake_long_data_s } } } } - struct stat directory_stat; - - for (uint8_t i = 0; i < 3; ++i) { + for (uint8_t i = 0; i < 6; ++i) { if (requireds[i] != F_none && values[i].used) { memset(&directory_stat, 0, sizeof(struct stat)); diff --git a/level_3/fake/c/main/private-make-load_parameters.c b/level_3/fake/c/main/private-make-load_parameters.c index 20213ef..c5328d6 100644 --- a/level_3/fake/c/main/private-make-load_parameters.c +++ b/level_3/fake/c/main/private-make-load_parameters.c @@ -265,68 +265,80 @@ extern "C" { { const f_string_static_t parameter[] = { + fake_short_build_s, + fake_short_data_s, + fake_short_documents_s, fake_short_fakefile_s, - fake_short_path_build_s, - fake_short_path_data_s, - fake_short_path_sources_s, - fake_short_path_work_s, + fake_short_licenses_s, fake_short_process_s, fake_short_settings_s, + fake_short_sources_s, + fake_short_work_s, }; - const f_console_parameter_t *console[] = { - &data_make->main->parameters.array[fake_parameter_fakefile_e], - &data_make->main->parameters.array[fake_parameter_path_build_e], - &data_make->main->parameters.array[fake_parameter_path_data_e], - &data_make->main->parameters.array[fake_parameter_path_sources_e], - &data_make->main->parameters.array[fake_parameter_path_work_e], - &data_make->main->parameters.array[fake_parameter_process_e], - &data_make->main->parameters.array[fake_parameter_settings_e], + const f_console_parameter_t console[] = { + data_make->main->parameters.array[fake_parameter_build_e], + data_make->main->parameters.array[fake_parameter_data_e], + data_make->main->parameters.array[fake_parameter_documents_e], + data_make->main->parameters.array[fake_parameter_fakefile_e], + data_make->main->parameters.array[fake_parameter_licenses_e], + data_make->main->parameters.array[fake_parameter_process_e], + data_make->main->parameters.array[fake_parameter_settings_e], + data_make->main->parameters.array[fake_parameter_sources_e], + data_make->main->parameters.array[fake_parameter_work_e], }; - const f_string_dynamic_t *source[] = { - &data_make->data->setting->fakefile, - &data_make->data->setting->build, - &data_make->data->setting->data, - &data_make->data->setting->sources, - &data_make->data->setting->work, - &data_make->data->setting->process, - &data_make->data->setting->settings, + const f_string_dynamic_t source[] = { + data_make->data->setting->build, + data_make->data->setting->data, + data_make->data->setting->documents, + data_make->data->setting->fakefile, + data_make->data->setting->licenses, + data_make->data->setting->process, + data_make->data->setting->settings, + data_make->data->setting->sources, + data_make->data->setting->work, }; f_string_dynamics_t * const destination[] = { - &data_make->parameter.fakefile, &data_make->parameter.build, &data_make->parameter.data, - &data_make->parameter.sources, - &data_make->parameter.work, + &data_make->parameter.documents, + &data_make->parameter.fakefile, + &data_make->parameter.licenses, &data_make->parameter.process, &data_make->parameter.settings, + &data_make->parameter.sources, + &data_make->parameter.work, }; f_string_dynamics_t * const destination_option[] = { - &data_make->parameter_option.fakefile, &data_make->parameter_option.build, &data_make->parameter_option.data, - &data_make->parameter_option.sources, - &data_make->parameter_option.work, + &data_make->parameter_option.documents, + &data_make->parameter_option.fakefile, + &data_make->parameter_option.licenses, &data_make->parameter_option.process, &data_make->parameter_option.settings, + &data_make->parameter_option.sources, + &data_make->parameter_option.work, }; f_string_dynamics_t * const destination_value[] = { - &data_make->parameter_value.fakefile, &data_make->parameter_value.build, &data_make->parameter_value.data, - &data_make->parameter_value.sources, - &data_make->parameter_value.work, + &data_make->parameter_value.documents, + &data_make->parameter_value.fakefile, + &data_make->parameter_value.licenses, &data_make->parameter_value.process, &data_make->parameter_value.settings, + &data_make->parameter_value.sources, + &data_make->parameter_value.work, }; - for (uint8_t i = 0; i < 7; ++i) { + for (uint8_t i = 0; i < 9; ++i) { - if (!(console[i]->result & f_console_result_found_e)) continue; + if (!(console[i].result & f_console_result_found_e)) continue; if (destination[i]->used + 2 > destination[i]->size) { *status = f_string_dynamics_increase_by(fake_default_allocation_small_d, destination[i]); @@ -350,10 +362,10 @@ extern "C" { return; } - if (console[i]->flag & f_console_flag_normal_e) { + if (console[i].flag & f_console_flag_normal_e) { *status = f_string_dynamic_append_nulless(f_console_symbol_short_normal_s, &destination[i]->array[destination[i]->used]); } - else if (console[i]->flag & f_console_flag_inverse_e) { + else if (console[i].flag & f_console_flag_inverse_e) { *status = f_string_dynamic_append_nulless(f_console_symbol_short_inverse_s, &destination[i]->array[destination[i]->used]); } @@ -382,10 +394,10 @@ extern "C" { return; } - *status = f_string_dynamic_append_nulless(*source[i], &destination[i]->array[destination[i]->used]); + *status = f_string_dynamic_append_nulless(source[i], &destination[i]->array[destination[i]->used]); if (F_status_is_error_not(*status)) { - *status = f_string_dynamic_append_nulless(*source[i], &destination_value[i]->array[destination_value[i]->used]); + *status = f_string_dynamic_append_nulless(source[i], &destination_value[i]->array[destination_value[i]->used]); } if (F_status_is_error(*status)) { diff --git a/level_3/fake/c/main/private-make-operate.c b/level_3/fake/c/main/private-make-operate.c index 3e08273..ff8dbf8 100644 --- a/level_3/fake/c/main/private-make-operate.c +++ b/level_3/fake/c/main/private-make-operate.c @@ -304,7 +304,9 @@ extern "C" { fake_make_parameter_variable_color_s, fake_make_parameter_variable_data_s, fake_make_parameter_variable_define_s, + fake_make_parameter_variable_documents_s, fake_make_parameter_variable_fakefile_s, + fake_make_parameter_variable_licenses_s, fake_make_parameter_variable_mode_s, fake_make_parameter_variable_process_s, fake_make_parameter_variable_settings_s, @@ -315,7 +317,9 @@ extern "C" { fake_make_parameter_variable_option_color_s, fake_make_parameter_variable_option_data_s, fake_make_parameter_variable_option_define_s, + fake_make_parameter_variable_option_documents_s, fake_make_parameter_variable_option_fakefile_s, + fake_make_parameter_variable_option_licenses_s, fake_make_parameter_variable_option_mode_s, fake_make_parameter_variable_option_process_s, fake_make_parameter_variable_option_settings_s, @@ -326,7 +330,9 @@ extern "C" { fake_make_parameter_variable_value_color_s, fake_make_parameter_variable_value_data_s, fake_make_parameter_variable_value_define_s, + fake_make_parameter_variable_value_documents_s, fake_make_parameter_variable_value_fakefile_s, + fake_make_parameter_variable_value_licenses_s, fake_make_parameter_variable_value_mode_s, fake_make_parameter_variable_value_process_s, fake_make_parameter_variable_value_settings_s, @@ -340,7 +346,9 @@ extern "C" { &data_make->parameter.color, &data_make->parameter.data, &data_make->parameter.define, + &data_make->parameter.documents, &data_make->parameter.fakefile, + &data_make->parameter.licenses, &data_make->parameter.mode, &data_make->parameter.process, &data_make->parameter.settings, @@ -351,7 +359,9 @@ extern "C" { &data_make->parameter_option.color, &data_make->parameter_option.data, &data_make->parameter_option.define, + &data_make->parameter_option.documents, &data_make->parameter_option.fakefile, + &data_make->parameter_option.licenses, &data_make->parameter_option.mode, &data_make->parameter_option.process, &data_make->parameter_option.settings, @@ -362,7 +372,9 @@ extern "C" { &data_make->parameter_value.color, &data_make->parameter_value.data, &data_make->parameter_value.define, + &data_make->parameter_value.documents, &data_make->parameter_value.fakefile, + &data_make->parameter_value.licenses, &data_make->parameter_value.mode, &data_make->parameter_value.process, &data_make->parameter_value.settings, @@ -553,7 +565,7 @@ extern "C" { unmatched = F_false; } else { - for (k = 0; k < 33; ++k) { + for (k = 0; k < 39; ++k) { if (fl_string_dynamic_partial_compare_string(reserved_name[k].string, data_make->buffer, reserved_name[k].used, iki_data->content.array[j]) != F_equal_to) { continue; diff --git a/level_3/fake/c/main/private-make-operate_process_type.c b/level_3/fake/c/main/private-make-operate_process_type.c index 962b340..f382a34 100644 --- a/level_3/fake/c/main/private-make-operate_process_type.c +++ b/level_3/fake/c/main/private-make-operate_process_type.c @@ -1209,17 +1209,17 @@ extern "C" { data_make->data->setting->sources.used, F_true, data_make->data->setting->work.used, - data_make->main->parameters.array[fake_parameter_path_build_e].result & f_console_result_value_e, + data_make->main->parameters.array[fake_parameter_build_e].result & f_console_result_value_e, (data_make->main->parameters.array[fake_parameter_light_e].result & f_console_result_found_e) || (data_make->main->parameters.array[fake_parameter_dark_e].result & f_console_result_found_e) || (data_make->main->parameters.array[fake_parameter_no_color_e].result & f_console_result_found_e), - data_make->main->parameters.array[fake_parameter_path_data_e].result & f_console_result_value_e, + data_make->main->parameters.array[fake_parameter_data_e].result & f_console_result_value_e, data_make->main->parameters.array[fake_parameter_define_e].result & f_console_result_value_e, data_make->main->parameters.array[fake_parameter_fakefile_e].result & f_console_result_value_e, data_make->main->parameters.array[fake_parameter_mode_e].result & f_console_result_value_e, data_make->main->parameters.array[fake_parameter_process_e].result & f_console_result_value_e, data_make->main->parameters.array[fake_parameter_settings_e].result & f_console_result_value_e, - data_make->main->parameters.array[fake_parameter_path_sources_e].result & f_console_result_value_e, + data_make->main->parameters.array[fake_parameter_sources_e].result & f_console_result_value_e, (data_make->main->parameters.array[fake_parameter_verbosity_quiet_e].result & f_console_result_found_e) || (data_make->main->parameters.array[fake_parameter_verbosity_normal_e].result & f_console_result_found_e) || (data_make->main->parameters.array[fake_parameter_verbosity_verbose_e].result & f_console_result_found_e) || (data_make->main->parameters.array[fake_parameter_verbosity_debug_e].result & f_console_result_found_e), - data_make->main->parameters.array[fake_parameter_path_work_e].result & f_console_result_value_e, + data_make->main->parameters.array[fake_parameter_work_e].result & f_console_result_value_e, data_make->parameter_value.build.used, data_make->parameter_value.color.used, data_make->parameter_value.data.used, diff --git a/level_3/fake/c/main/private-skeleton.c b/level_3/fake/c/main/private-skeleton.c index d6aa26a..6a4bc98 100644 --- a/level_3/fake/c/main/private-skeleton.c +++ b/level_3/fake/c/main/private-skeleton.c @@ -51,7 +51,7 @@ extern "C" { fake_skeleton_path_source_string(data, &fake_path_part_shell_s, &sources_bash); const f_string_static_t path[] = { - data->setting->build, + data->path_build, data->setting->data, data->path_data_build, data->path_data_documentation, -- 1.8.3.1