From 1ca9f2e9eb2819d9f39439f110c8a5ffe0f6c7e9 Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Sun, 19 Mar 2023 22:17:45 -0500 Subject: [PATCH] Progress: Continue program relating work, focusing on Featureless Make and printing. I am finally getting close to wrapping up the printing changes in Featureless Make. There are some improvements in the design that need to be reflected in the other already migrated programs (such as fss_write). Having the extra flags and object on fl_print_t is already showing its worth. I am able to drastically simplify the print functions. I am also now using fake_main_t structure. I like that pattern that is forming from this and will need to also update the already migrated programs. Featureless Make is nearly fully migrated. There are still some fixme and todo situations to resolve. --- build/stand_alone/fake.settings | 6 +- level_3/fake/c/main/build.c | 346 ++++----- level_3/fake/c/main/build.h | 22 +- level_3/fake/c/main/build/library.c | 130 ++-- level_3/fake/c/main/build/library.h | 6 +- level_3/fake/c/main/build/load.c | 264 ++++--- level_3/fake/c/main/build/load.h | 10 +- level_3/fake/c/main/build/object.c | 50 +- level_3/fake/c/main/build/object.h | 6 +- level_3/fake/c/main/build/objects.c | 76 +- level_3/fake/c/main/build/objects.h | 2 +- level_3/fake/c/main/build/print.c | 34 - level_3/fake/c/main/build/print.h | 71 -- level_3/fake/c/main/build/print/compile.c | 70 +- level_3/fake/c/main/build/print/compile.h | 84 +-- level_3/fake/c/main/build/print/error.c | 52 +- level_3/fake/c/main/build/print/error.h | 88 ++- level_3/fake/c/main/build/print/message.c | 22 + level_3/fake/c/main/build/print/message.h | 45 ++ level_3/fake/c/main/build/print/verbose.c | 28 +- level_3/fake/c/main/build/print/verbose.h | 54 +- level_3/fake/c/main/build/print/warning.c | 146 ++-- level_3/fake/c/main/build/print/warning.h | 72 +- level_3/fake/c/main/build/program.c | 66 +- level_3/fake/c/main/build/program.h | 6 +- level_3/fake/c/main/build/skeleton.c | 48 +- level_3/fake/c/main/build/skeleton.h | 2 +- level_3/fake/c/main/clean.c | 34 +- level_3/fake/c/main/clean.h | 2 +- level_3/fake/c/main/common.c | 39 +- level_3/fake/c/main/common/type.h | 27 +- level_3/fake/c/main/fake.c | 188 +++-- level_3/fake/c/main/fake.h | 13 +- level_3/fake/c/main/fake/path_generate.c | 70 +- level_3/fake/c/main/fake/path_generate.h | 4 +- level_3/fake/c/main/make.c | 86 +-- level_3/fake/c/main/make.h | 10 +- level_3/fake/c/main/make/load_fakefile.c | 248 +++--- level_3/fake/c/main/make/load_fakefile.h | 16 +- level_3/fake/c/main/make/load_parameters.c | 278 +++---- level_3/fake/c/main/make/load_parameters.h | 2 +- level_3/fake/c/main/make/operate.c | 536 ++++++------- level_3/fake/c/main/make/operate.h | 12 +- level_3/fake/c/main/make/operate_block.c | 4 +- level_3/fake/c/main/make/operate_block.h | 2 +- level_3/fake/c/main/make/operate_process.c | 116 +-- level_3/fake/c/main/make/operate_process.h | 4 +- level_3/fake/c/main/make/operate_process_type.c | 829 +++++++++++---------- level_3/fake/c/main/make/operate_process_type.h | 66 +- level_3/fake/c/main/make/operate_validate.c | 8 +- level_3/fake/c/main/make/operate_validate.h | 2 +- level_3/fake/c/main/make/operate_validate_type.c | 558 +++++++------- level_3/fake/c/main/make/operate_validate_type.h | 46 +- level_3/fake/c/main/make/print.c | 59 -- level_3/fake/c/main/make/print/common.c | 0 level_3/fake/c/main/make/print/common.h | 0 level_3/fake/c/main/make/print/error.c | 252 +++---- level_3/fake/c/main/make/print/error.h | 256 +++---- level_3/fake/c/main/make/print/message.c | 61 ++ .../fake/c/main/make/{print.h => print/message.h} | 38 +- level_3/fake/c/main/make/print/verbose.c | 150 ++-- level_3/fake/c/main/make/print/verbose.h | 143 ++-- level_3/fake/c/main/make/print/warning.c | 122 +-- level_3/fake/c/main/make/print/warning.h | 99 ++- level_3/fake/c/main/print.c | 191 ----- level_3/fake/c/main/print.h | 211 ------ level_3/fake/c/main/print/common.c | 53 ++ level_3/fake/c/main/print/common.h | 130 ++++ level_3/fake/c/main/print/context.c | 145 ++-- level_3/fake/c/main/print/context.h | 130 ++-- level_3/fake/c/main/print/error.c | 589 ++++++++------- level_3/fake/c/main/print/error.h | 72 +- level_3/fake/c/main/print/message.c | 163 ++++ level_3/fake/c/main/print/message.h | 121 +++ level_3/fake/c/main/print/operation.c | 38 +- level_3/fake/c/main/print/operation.h | 24 +- level_3/fake/c/main/print/verbose.c | 168 ++--- level_3/fake/c/main/print/verbose.h | 198 ++--- level_3/fake/c/main/print/warning.c | 20 +- level_3/fake/c/main/print/warning.h | 36 +- level_3/fake/c/main/skeleton.c | 142 ++-- level_3/fake/c/main/skeleton.h | 10 +- level_3/fake/data/build/settings | 12 +- 83 files changed, 4385 insertions(+), 4254 deletions(-) delete mode 100644 level_3/fake/c/main/build/print.c delete mode 100644 level_3/fake/c/main/build/print.h create mode 100644 level_3/fake/c/main/build/print/message.c create mode 100644 level_3/fake/c/main/build/print/message.h delete mode 100644 level_3/fake/c/main/make/print.c create mode 100644 level_3/fake/c/main/make/print/common.c create mode 100644 level_3/fake/c/main/make/print/common.h create mode 100644 level_3/fake/c/main/make/print/message.c rename level_3/fake/c/main/make/{print.h => print/message.h} (57%) delete mode 100644 level_3/fake/c/main/print.c delete mode 100644 level_3/fake/c/main/print.h create mode 100644 level_3/fake/c/main/print/common.c create mode 100644 level_3/fake/c/main/print/common.h create mode 100644 level_3/fake/c/main/print/message.c create mode 100644 level_3/fake/c/main/print/message.h diff --git a/build/stand_alone/fake.settings b/build/stand_alone/fake.settings index ed8e2d1..f2c975a 100644 --- a/build/stand_alone/fake.settings +++ b/build/stand_alone/fake.settings @@ -67,11 +67,11 @@ build_sources_program fll/level_2/fss.c fll/level_2/fss/basic.c fll/level_2/fss/ build_sources_program fll/level_2/print.c build_sources_program fll/level_2/program.c fll/level_2/program/common.c fll/level_2/program/print.c fll/level_2/private-program.c -build_sources_program program/fake/main/build.c program/fake/main/clean.c program/fake/main/common.c program/fake/main/fake.c program/fake/main/make.c program/fake/main/print.c program/fake/main/print/context.c program/fake/main/print/error.c program/fake/main/print/operation.c program/fake/main/print/warning.c program/fake/main/print/verbose.c program/fake/main/skeleton.c -build_sources_program program/fake/main/build/enumeration.c program/fake/main/build/library.c program/fake/main/build/load.c program/fake/main/build/object.c program/fake/main/build/objects.c program/fake/main/build/print.c program/fake/main/build/print/compile.c program/fake/main/build/print/error.c program/fake/main/build/print/verbose.c program/fake/main/build/print/warning.c program/fake/main/build/program.c program/fake/main/build/skeleton.c program/fake/main/build/string.c +build_sources_program program/fake/main/build.c program/fake/main/clean.c program/fake/main/common.c program/fake/main/fake.c program/fake/main/make.c program/fake/main/print/common.c program/fake/main/print/context.c program/fake/main/print/error.c program/fake/main/print/message.c program/fake/main/print/operation.c program/fake/main/print/warning.c program/fake/main/print/verbose.c program/fake/main/skeleton.c +build_sources_program program/fake/main/build/enumeration.c program/fake/main/build/library.c program/fake/main/build/load.c program/fake/main/build/object.c program/fake/main/build/objects.c program/fake/main/build/print/compile.c program/fake/main/build/print/error.c program/fake/main/build/print/message.c program/fake/main/build/print/verbose.c program/fake/main/build/print/warning.c program/fake/main/build/program.c program/fake/main/build/skeleton.c program/fake/main/build/string.c build_sources_program program/fake/main/common/define.c program/fake/main/common/enumeration.c program/fake/main/common/print.c program/fake/main/common/string.c program/fake/main/common/type.c build_sources_program program/fake/main/fake/path_generate.c -build_sources_program program/fake/main/make/load_fakefile.c program/fake/main/make/load_parameters.c program/fake/main/make/operate_block.c program/fake/main/make/operate.c program/fake/main/make/operate_process.c program/fake/main/make/operate_process_type.c program/fake/main/make/operate_validate.c program/fake/main/make/operate_validate_type.c program/fake/main/make/print.c program/fake/main/make/print/error.c program/fake/main/make/print/verbose.c program/fake/main/make/print/warning.c +build_sources_program program/fake/main/make/load_fakefile.c program/fake/main/make/load_parameters.c program/fake/main/make/operate_block.c program/fake/main/make/operate.c program/fake/main/make/operate_process.c program/fake/main/make/operate_process_type.c program/fake/main/make/operate_validate.c program/fake/main/make/operate_validate_type.c program/fake/main/make/print/error.c program/fake/main/make/print/message.c program/fake/main/make/print/verbose.c program/fake/main/make/print/warning.c build_sources_program program/fake/main/main.c diff --git a/level_3/fake/c/main/build.c b/level_3/fake/c/main/build.c index b52857f..41ac76d 100644 --- a/level_3/fake/c/main/build.c +++ b/level_3/fake/c/main/build.c @@ -7,8 +7,8 @@ extern "C" { #ifndef _di_fake_build_arguments_standard_add_ void fake_build_arguments_standard_add(fake_data_t * const data, fake_build_data_t * const data_build, const bool is_shared, const uint8_t type, f_string_dynamics_t *arguments) { - if (!data || !data->program || !data->setting || !data_build || !arguments) return; - if (F_status_is_error(data->setting->state.status)) return; + if (!data || !data->main || !data_build || !arguments) return; + if (F_status_is_error(data->main->setting.state.status)) return; { f_array_length_t build_libraries_length = fake_build_parameter_library_link_path_s.used + data->path_build_libraries_shared.used; @@ -42,12 +42,12 @@ extern "C" { if (!values[i].used) continue; - data->setting->state.status = fll_execute_arguments_add(values[i], arguments); - if (F_status_is_error(data->setting->state.status)) return; + data->main->setting.state.status = fll_execute_arguments_add(values[i], arguments); + if (F_status_is_error(data->main->setting.state.status)) return; } // for } - if (data->setting->work.used) { + if (data->main->setting.work.used) { f_string_static_t buffer = f_string_static_t_initialize; { @@ -60,8 +60,8 @@ extern "C" { memcpy(buffer_string, fake_build_parameter_library_include_s.string, sizeof(f_char_t) * fake_build_parameter_library_include_s.used); memcpy(buffer_string + fake_build_parameter_library_include_s.used, data->path_work_includes.string, sizeof(f_char_t) * data->path_work_includes.used); - data->setting->state.status = fll_execute_arguments_add(buffer, arguments); - if (F_status_is_error(data->setting->state.status)) return; + data->main->setting.state.status = fll_execute_arguments_add(buffer, arguments); + if (F_status_is_error(data->main->setting.state.status)) return; } if (data_build->setting.search_shared && (is_shared || !data_build->setting.search_exclusive)) { @@ -74,8 +74,8 @@ extern "C" { memcpy(buffer_string, fake_build_parameter_library_link_path_s.string, sizeof(f_char_t) * fake_build_parameter_library_link_path_s.used); memcpy(buffer_string + fake_build_parameter_library_link_path_s.used, data->path_work_libraries_shared.string, sizeof(f_char_t) * data->path_work_libraries_shared.used); - data->setting->state.status = fll_execute_arguments_add(buffer, arguments); - if (F_status_is_error(data->setting->state.status)) return; + data->main->setting.state.status = fll_execute_arguments_add(buffer, arguments); + if (F_status_is_error(data->main->setting.state.status)) return; } if (data_build->setting.search_static && (!is_shared || !data_build->setting.search_exclusive)) { @@ -88,8 +88,8 @@ extern "C" { memcpy(buffer_string, fake_build_parameter_library_link_path_s.string, sizeof(f_char_t) * fake_build_parameter_library_link_path_s.used); memcpy(buffer_string + fake_build_parameter_library_link_path_s.used, data->path_work_libraries_static.string, sizeof(f_char_t) * data->path_work_libraries_static.used); - data->setting->state.status = fll_execute_arguments_add(buffer, arguments); - if (F_status_is_error(data->setting->state.status)) return; + data->main->setting.state.status = fll_execute_arguments_add(buffer, arguments); + if (F_status_is_error(data->main->setting.state.status)) return; } } @@ -134,7 +134,7 @@ extern "C" { : (is_shared) ? &data_build->setting.defines_program_shared : &data_build->setting.defines_program_static, - &data->setting->defines, + &data->main->setting.defines, }; f_array_length_t i = 0; @@ -145,28 +145,28 @@ extern "C" { if (!strings[s]->array[i].used) continue; - data->setting->state.status = fll_execute_arguments_add(strings[s]->array[i], arguments); - if (F_status_is_error(data->setting->state.status)) return; + data->main->setting.state.status = fll_execute_arguments_add(strings[s]->array[i], arguments); + if (F_status_is_error(data->main->setting.state.status)) return; } // for } // for } - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } #endif // _di_fake_build_arguments_standard_add_ #ifndef _di_fake_build_copy_ void fake_build_copy(fake_data_t * const data, const f_mode_t mode, const f_string_static_t label, const f_string_static_t source, const f_string_static_t destination, const f_string_statics_t files, const f_string_static_t file_stage, const f_array_length_t perserve_offset) { - if (!data || !data->program || !data->setting) return; - if (data->setting->state.status == F_child) return; - if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return; + if (!data || !data->main) return; + if (data->main->setting.state.status == F_child) return; + if (F_status_is_error(data->main->setting.state.status) || f_file_exists(file_stage, F_true) == F_true) return; - if (!((++data->program->signal_check) % fake_signal_check_d)) { - if (fll_program_standard_signal_received(data->program)) { - fll_program_print_signal_received(data->program->warning, data->program->signal_received); + if (!((++data->main->program.signal_check) % fake_signal_check_d)) { + if (fll_program_standard_signal_received(&data->main->program)) { + fll_program_print_signal_received(data->main->program.warning, data->main->program.signal_received); - data->setting->state.status = F_status_set_error(F_interrupt); + data->main->setting.state.status = F_status_set_error(F_interrupt); return; } @@ -178,14 +178,14 @@ extern "C" { f_string_dynamic_t destination_directory = f_string_dynamic_t_initialize; f_string_static_t buffer = f_string_static_t_initialize; - if (data->program->message.verbosity != f_console_verbosity_quiet_e && data->program->message.verbosity != f_console_verbosity_error_e) { - fll_print_format("%r%[Copying %Q.%]%r", data->program->message.to, f_string_eol_s, data->program->context.set.important, label, data->program->context.set.important, f_string_eol_s); + if (data->main->program.message.verbosity != f_console_verbosity_quiet_e && data->main->program.message.verbosity != f_console_verbosity_error_e) { + fll_print_format("%r%[Copying %Q.%]%r", data->main->program.message.to, f_string_eol_s, data->main->program.context.set.important, label, data->main->program.context.set.important, f_string_eol_s); } - data->setting->state.status = f_string_dynamic_resize(source.used, &path_source); + data->main->setting.state.status = f_string_dynamic_resize(source.used, &path_source); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_resize)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_resize)); f_string_dynamic_resize(0, &path_source); @@ -195,96 +195,96 @@ extern "C" { memcpy(path_source.string, source.string, sizeof(f_char_t) * source.used); f_directory_recurse_t recurse = f_directory_recurse_t_initialize; - recurse.verbose = &fake_print_verbose_copy; + recurse.verbose = &fake_print_verbose_recursive_copy; //recurse.failures = &failures; // @fixme this now needs to be handled by a callback in recurse (recurse.state.handle)., maybe make this a callback on f_directory_recurse_t? recurse.mode = mode; for (f_array_length_t i = 0; i < files.used; ++i) { - if (!((++data->program->signal_check) % fake_signal_check_short_d)) { - if (fll_program_standard_signal_received(data->program)) { - fll_program_print_signal_received(data->program->warning, data->program->signal_received); + if (!((++data->main->program.signal_check) % fake_signal_check_short_d)) { + if (fll_program_standard_signal_received(&data->main->program)) { + fll_program_print_signal_received(data->main->program.warning, data->main->program.signal_received); - data->setting->state.status = F_status_set_error(F_interrupt); + data->main->setting.state.status = F_status_set_error(F_interrupt); break; } - data->program->signal_check = 0; + data->main->program.signal_check = 0; } if (!files.array[i].used) continue; path_source.used = source.used; - data->setting->state.status = f_string_dynamic_append_nulless(files.array[i], &path_source); + data->main->setting.state.status = f_string_dynamic_append_nulless(files.array[i], &path_source); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); break; } - data->setting->state.status = f_directory_is(path_source); + data->main->setting.state.status = f_directory_is(path_source); - if (data->setting->state.status == F_true) { + if (data->main->setting.state.status == F_true) { destination_directory.used = 0; - data->setting->state.status = f_string_dynamic_append_nulless(destination, &destination_directory); + data->main->setting.state.status = f_string_dynamic_append_nulless(destination, &destination_directory); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); break; } - data->setting->state.status = f_file_name_base(path_source, &destination_directory); + data->main->setting.state.status = f_file_name_base(path_source, &destination_directory); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_file_name_base)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_file_name_base)); break; } fl_directory_copy(path_source, destination_directory, &recurse); - if (F_status_is_error(data->setting->state.status)) { - if (data->program->error.verbosity >= f_console_verbosity_verbose_e) { + if (F_status_is_error(data->main->setting.state.status)) { + if (data->main->program.error.verbosity >= f_console_verbosity_verbose_e) { /* // @fixme for (f_array_length_t j = 0; j < failures.used; ++j) { - fake_print_error_build_operation_file(data->setting, data->program->error, macro_fake_f(fl_directory_copy), fake_common_file_directory_copy_s, f_file_operation_to_s, path_source, destination_directory, F_true); + fake_print_error_build_operation_file(&data->main->program.error, macro_fake_f(fl_directory_copy), fake_common_file_directory_copy_s, f_file_operation_to_s, path_source, destination_directory, F_true); } // for */ - if (F_status_set_fine(data->setting->state.status) != F_failure) { - fake_print_error(&data->program->error, macro_fake_f(fl_directory_copy)); + if (F_status_set_fine(data->main->setting.state.status) != F_failure) { + fake_print_error(&data->main->program.error, macro_fake_f(fl_directory_copy)); } } - else if (data->program->error.verbosity > f_console_verbosity_quiet_e) { - fake_print_error_build_operation_file(data->setting, data->program->error, macro_fake_f(fl_directory_copy), fake_common_file_directory_copy_s, f_file_operation_to_s, path_source, destination_directory, F_true); + else if (data->main->program.error.verbosity > f_console_verbosity_quiet_e) { + fake_print_error_build_operation_file(&data->main->program.error, macro_fake_f(fl_directory_copy), fake_common_file_directory_copy_s, f_file_operation_to_s, path_source, destination_directory, F_true); } break; } } - else if (data->setting->state.status == F_false) { + else if (data->main->setting.state.status == F_false) { destination_file.used = 0; destination_directory.used = 0; - data->setting->state.status = f_string_dynamic_append_nulless(destination, &destination_file); + data->main->setting.state.status = f_string_dynamic_append_nulless(destination, &destination_file); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); break; } if (perserve_offset && perserve_offset < path_source.used) { - data->setting->state.status = f_string_dynamic_append_nulless(destination, &destination_directory); + data->main->setting.state.status = f_string_dynamic_append_nulless(destination, &destination_directory); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); break; } @@ -292,57 +292,57 @@ extern "C" { buffer.string = path_source.string + perserve_offset; buffer.used = path_source.used - perserve_offset; - data->setting->state.status = f_file_name_directory(buffer, &destination_directory); + data->main->setting.state.status = f_file_name_directory(buffer, &destination_directory); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_file_name_directory)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_file_name_directory)); break; } - data->setting->state.status = fl_directory_create(destination_directory, F_file_mode_all_rwx_d); + data->main->setting.state.status = fl_directory_create(destination_directory, F_file_mode_all_rwx_d); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(fl_directory_create), destination_directory, f_file_operation_create_s, fll_error_file_type_directory_e); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error_file(&data->main->program.error, macro_fake_f(fl_directory_create), destination_directory, f_file_operation_create_s, fll_error_file_type_directory_e); break; } - data->setting->state.status = f_string_append(path_source.string + perserve_offset, path_source.used - perserve_offset, &destination_file); + data->main->setting.state.status = f_string_append(path_source.string + perserve_offset, path_source.used - perserve_offset, &destination_file); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_append)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_append)); break; } } else { - data->setting->state.status = f_file_name_base(path_source, &destination_file); + data->main->setting.state.status = f_file_name_base(path_source, &destination_file); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_file_name_base)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_file_name_base)); break; } } - data->setting->state.status = f_file_copy(path_source, destination_file, mode, F_file_default_read_size_d, f_file_stat_flag_reference_e); + data->main->setting.state.status = f_file_copy(path_source, destination_file, mode, F_file_default_read_size_d, f_file_stat_flag_reference_e); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error_build_operation_file(data->setting, data->program->error, macro_fake_f(f_file_copy), f_file_operation_copy_s, f_file_operation_to_s, path_source, destination_file, F_true); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error_build_operation_file(&data->main->program.error, macro_fake_f(f_file_copy), f_file_operation_copy_s, f_file_operation_to_s, path_source, destination_file, F_true); break; } - fake_build_print_verbose_copied_file(data->setting, data->program->message, path_source, destination_file); + fake_build_print_verbose_copied_file(&data->main->program.message, path_source, destination_file); } - else if (F_status_is_error(data->setting->state.status)) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_directory_is), path_source, f_file_operation_create_s, fll_error_file_type_file_e); + else if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_directory_is), path_source, f_file_operation_create_s, fll_error_file_type_file_e); break; } - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } // for f_directory_recurse_delete(&recurse); @@ -358,17 +358,17 @@ extern "C" { #ifndef _di_fake_build_execute_process_script_ int fake_build_execute_process_script(fake_data_t * const data, fake_build_data_t * const data_build, const f_string_static_t process_script, const f_string_static_t file_stage) { - if (!data || !data->program || !data->setting || !data_build) return 0; - if (data->setting->state.status == F_child) return data->program->child; - if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; + if (!data || !data->main || !data_build) return 0; + if (data->main->setting.state.status == F_child) return data->main->program.child; + if (F_status_is_error(data->main->setting.state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; if (!process_script.used) return 0; f_string_dynamics_t arguments = f_string_dynamics_t_initialize; - data->setting->state.status = fll_execute_arguments_add(fake_other_operation_build_s, &arguments); + data->main->setting.state.status = fll_execute_arguments_add(fake_other_operation_build_s, &arguments); // Ensure console color mode is passed to the scripts so that they can also react to color mode. - if (F_status_is_error_not(data->setting->state.status) && data->program->context.mode != f_color_mode_none_e) { + if (F_status_is_error_not(data->main->setting.state.status) && data->main->program.context.mode != f_color_mode_none_e) { f_string_static_t argument = f_string_static_t_initialize; argument.used = f_console_symbol_short_inverse_s.used + f_console_standard_short_dark_s.used; @@ -378,21 +378,21 @@ extern "C" { memcpy(argument_string, f_console_symbol_short_inverse_s.string, sizeof(f_char_t) * f_console_symbol_short_inverse_s.used); - if (data->program->context.mode == f_color_mode_dark_e) { + if (data->main->program.context.mode == f_color_mode_dark_e) { memcpy(argument_string + f_console_symbol_short_inverse_s.used, f_console_standard_short_dark_s.string, sizeof(f_char_t) * f_console_standard_short_dark_s.used); } - else if (data->program->context.mode == f_color_mode_light_e) { + else if (data->main->program.context.mode == f_color_mode_light_e) { memcpy(argument_string + f_console_symbol_short_inverse_s.used, f_console_standard_short_light_s.string, sizeof(f_char_t) * f_console_standard_short_light_s.used); } - else if (data->program->context.mode == f_color_mode_not_e) { + else if (data->main->program.context.mode == f_color_mode_not_e) { memcpy(argument_string + f_console_symbol_short_inverse_s.used, f_console_standard_short_no_color_s.string, sizeof(f_char_t) * f_console_standard_short_no_color_s.used); } - data->setting->state.status = fll_execute_arguments_add(argument, &arguments); + data->main->setting.state.status = fll_execute_arguments_add(argument, &arguments); } // Ensure verbosity level is passed to the scripts so that they can also react to requested verbosity. - if (F_status_is_error_not(data->setting->state.status) && data->program->error.verbosity != f_console_verbosity_normal_e) { + if (F_status_is_error_not(data->main->setting.state.status) && data->main->program.error.verbosity != f_console_verbosity_normal_e) { f_string_static_t argument = f_string_static_t_initialize; argument.used = f_console_symbol_short_inverse_s.used + f_console_standard_short_quiet_s.used; @@ -402,24 +402,24 @@ extern "C" { memcpy(argument_string, f_console_symbol_short_inverse_s.string, sizeof(f_char_t) * f_console_symbol_short_inverse_s.used); - if (data->program->context.mode == f_console_verbosity_quiet_e) { + if (data->main->program.context.mode == f_console_verbosity_quiet_e) { memcpy(argument_string + f_console_symbol_short_inverse_s.used, f_console_standard_short_quiet_s.string, sizeof(f_char_t) * f_console_standard_short_quiet_s.used); } - else if (data->program->context.mode == f_console_verbosity_error_e) { + else if (data->main->program.context.mode == f_console_verbosity_error_e) { memcpy(argument_string + f_console_symbol_short_inverse_s.used, f_console_standard_short_error_s.string, sizeof(f_char_t) * f_console_standard_short_error_s.used); } - else if (data->program->context.mode == f_console_verbosity_verbose_e) { + else if (data->main->program.context.mode == f_console_verbosity_verbose_e) { memcpy(argument_string + f_console_symbol_short_inverse_s.used, f_console_standard_short_verbose_s.string, sizeof(f_char_t) * f_console_standard_short_verbose_s.used); } - else if (data->program->context.mode == f_console_verbosity_debug_e) { + else if (data->main->program.context.mode == f_console_verbosity_debug_e) { memcpy(argument_string + f_console_symbol_short_inverse_s.used, f_console_standard_short_debug_s.string, sizeof(f_char_t) * f_console_standard_short_debug_s.used); } - data->setting->state.status = fll_execute_arguments_add(argument, &arguments); + data->main->setting.state.status = fll_execute_arguments_add(argument, &arguments); } - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fll_execute_arguments_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fll_execute_arguments_add)); f_string_dynamics_resize(0, &arguments); @@ -429,15 +429,15 @@ extern "C" { { f_string_dynamic_t defines = f_string_dynamic_t_initialize; - if (data->setting->defines.used) { - for (f_array_length_t i = 0; i < data->setting->defines.used; ++i) { + if (data->main->setting.defines.used) { + for (f_array_length_t i = 0; i < data->main->setting.defines.used; ++i) { - data->setting->state.status = f_string_dynamic_mash(f_string_space_s, data->setting->defines.array[i], &defines); - if (F_status_is_error(data->setting->state.status)) break; + data->main->setting.state.status = f_string_dynamic_mash(f_string_space_s, data->main->setting.defines.array[i], &defines); + if (F_status_is_error(data->main->setting.state.status)) break; } // for - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_mash)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_mash)); f_string_dynamic_resize(0, &defines); f_string_dynamics_resize(0, &arguments); @@ -471,23 +471,23 @@ extern "C" { }; const f_string_static_t values[] = { - data->setting->build, - data->setting->data, + data->main->setting.build, + data->main->setting.data, defines, - data->setting->documents, - data->setting->licenses, - data->setting->process, - data->setting->settings, + data->main->setting.documents, + data->main->setting.licenses, + data->main->setting.process, + data->main->setting.settings, data_build->setting.path_sources, - data->setting->work, + data->main->setting.work, }; - data->setting->state.status = fll_execute_arguments_add_parameter_set(prefixs, names, values, 9, &arguments); + data->main->setting.state.status = fll_execute_arguments_add_parameter_set(prefixs, names, values, 9, &arguments); f_string_dynamic_resize(0, &defines); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fll_execute_arguments_add_parameter_set)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fll_execute_arguments_add_parameter_set)); f_string_dynamics_resize(0, &arguments); @@ -498,15 +498,15 @@ extern "C" { f_string_dynamic_t path = f_string_dynamic_t_initialize; if (process_script.string[0] != f_path_separator_s.string[0]) { - data->setting->state.status = f_string_dynamic_append_nulless(data->path_data_build, &path); + data->main->setting.state.status = f_string_dynamic_append_nulless(data->path_data_build, &path); } - if (F_status_is_error_not(data->setting->state.status)) { - data->setting->state.status = f_string_dynamic_append_nulless(process_script, &path); + if (F_status_is_error_not(data->main->setting.state.status)) { + data->main->setting.state.status = f_string_dynamic_append_nulless(process_script, &path); } - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); f_string_dynamic_resize(0, &path); f_string_dynamics_resize(0, &arguments); @@ -523,22 +523,22 @@ extern "C" { fl_execute_parameter_t parameter = macro_fl_execute_parameter_t_initialize(FL_execute_parameter_option_path_d, 0, &data_build->environment, &signals, 0); - data->setting->state.status = fll_execute_program(path, arguments, ¶meter, 0, (void *) &return_code); + data->main->setting.state.status = fll_execute_program(path, arguments, ¶meter, 0, (void *) &return_code); f_string_dynamics_resize(0, &arguments); - if (!((++data->program->signal_check) % fake_signal_check_d) && fll_program_standard_signal_received(data->program)) { - fll_program_print_signal_received(data->program->warning, data->program->signal_received); + if (!((++data->main->program.signal_check) % fake_signal_check_d) && fll_program_standard_signal_received(&data->main->program)) { + fll_program_print_signal_received(data->main->program.warning, data->main->program.signal_received); - data->setting->state.status = F_status_set_error(F_interrupt); + data->main->setting.state.status = F_status_set_error(F_interrupt); } - else if (data->setting->state.status != F_child) { - if (F_status_is_error(data->setting->state.status)) { - if (F_status_set_fine(data->setting->state.status) == F_failure) { - fake_print_error_failure_script(data->setting, data->program->error, path); + else if (data->main->setting.state.status != F_child) { + if (F_status_is_error(data->main->setting.state.status)) { + if (F_status_set_fine(data->main->setting.state.status) == F_failure) { + fake_print_error_failure_script(&data->main->program.error, path); } else { - fake_print_error(&data->program->error, macro_fake_f(fll_execute_program)); + fake_print_error(&data->main->program.error, macro_fake_f(fll_execute_program)); } } else { @@ -555,17 +555,17 @@ extern "C" { #ifndef _di_fake_build_get_file_name_without_extension_ void fake_build_get_file_name_without_extension(fake_data_t * const data, const f_string_static_t path, f_string_dynamic_t *name) { - if (!data || !data->program || !data->setting) return; + if (!data || !data->main) return; name->used = 0; - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; if (!path.used) return; - data->setting->state.status = f_file_name_base(path, name); + data->main->setting.state.status = f_file_name_base(path, name); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_file_name_base)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_file_name_base)); return; } @@ -579,14 +579,14 @@ extern "C" { } } // for - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } #endif // _di_fake_build_get_file_name_without_extension_ #ifndef _di_fake_build_objects_add_ void fake_build_objects_add(fake_data_t * const data, fake_build_data_t * const data_build, const f_string_static_t *path, const f_string_statics_t *generic, const f_string_statics_t *specific, f_string_dynamics_t *arguments) { - if (!data || !data->program || !data->setting || !data_build || !path || !generic || !specific || !arguments) return; + if (!data || !data->main || !data_build || !path || !generic || !specific || !arguments) return; f_array_length_t i = 0; f_array_length_t j = 0; @@ -613,43 +613,43 @@ extern "C" { memcpy(source_string, path->string, sizeof(f_char_t) * path->used); memcpy(source_string + path->used, sources[i]->array[j].string, sizeof(f_char_t) * sources[i]->array[j].used); - data->setting->state.status = fll_execute_arguments_add(source, arguments); - if (F_status_is_error(data->setting->state.status)) return; + data->main->setting.state.status = fll_execute_arguments_add(source, arguments); + if (F_status_is_error(data->main->setting.state.status)) return; } // for } // for - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } #endif // _di_fake_build_objects_add_ #ifndef _di_fake_build_operate_ void fake_build_operate(fake_data_t * const data, const f_string_statics_t * const build_arguments, const bool process_pipe) { - if (!data || !data->program || !data->setting) return; + if (!data || !data->main) return; - if (!((++data->program->signal_check) % fake_signal_check_d)) { - if (fll_program_standard_signal_received(data->program)) { - fll_program_print_signal_received(data->program->warning, data->program->signal_received); + if (!((++data->main->program.signal_check) % fake_signal_check_d)) { + if (fll_program_standard_signal_received(&data->main->program)) { + fll_program_print_signal_received(data->main->program.warning, data->main->program.signal_received); - data->setting->state.status = F_status_set_error(F_interrupt); + data->main->setting.state.status = F_status_set_error(F_interrupt); return; } } - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; f_mode_t mode = f_mode_t_initialize; fake_build_data_t data_build = fake_build_data_t_initialize; fake_build_stage_t stage = fake_build_stage_t_initialize; - macro_f_mode_t_set_default_umask(mode, data->program->umask); + macro_f_mode_t_set_default_umask(mode, data->main->program.umask); fake_build_load_setting(data, build_arguments, process_pipe, &data_build.setting); - if (F_status_is_fine(data->setting->state.status)) { - fake_print_building(data->setting, data->program->message, build_arguments, &data_build.setting); + if (F_status_is_fine(data->main->setting.state.status)) { + fake_print_message_building(&data->main->program.message, build_arguments, &data_build.setting); } fake_build_load_stage(data, build_arguments && build_arguments->array[0].used ? build_arguments->array[0] : f_string_empty_s, &stage); @@ -658,7 +658,7 @@ extern "C" { fake_build_skeleton(data, &data_build, mode.directory, stage.file_skeleton); - data->program->child = fake_build_execute_process_script(data, &data_build, data_build.setting.process_pre, stage.file_process_pre); + data->main->program.child = fake_build_execute_process_script(data, &data_build, data_build.setting.process_pre, stage.file_process_pre); fake_build_copy(data, mode, fake_build_documentation_files_s, data->path_data_documentation, data->path_build_documentation, data_build.setting.build_sources_documentation, stage.file_sources_documentation, 0); @@ -725,21 +725,21 @@ extern "C" { } if (data_build.setting.build_shared) { - data->program->child = fake_build_object_shared(data, &data_build, mode, stage.file_object_shared); + data->main->program.child = fake_build_object_shared(data, &data_build, mode, stage.file_object_shared); - data->program->child = fake_build_library_shared(data, &data_build, mode, stage.file_library_shared); + data->main->program.child = fake_build_library_shared(data, &data_build, mode, stage.file_library_shared); - data->program->child = fake_build_program_shared(data, &data_build, mode, stage.file_program_shared); + data->main->program.child = fake_build_program_shared(data, &data_build, mode, stage.file_program_shared); } if (data_build.setting.build_static) { - data->program->child = fake_build_object_static(data, &data_build, mode, stage.file_object_static); + data->main->program.child = fake_build_object_static(data, &data_build, mode, stage.file_object_static); - data->program->child = fake_build_objects_static(data, &data_build, mode, stage.file_objects_static); + data->main->program.child = fake_build_objects_static(data, &data_build, mode, stage.file_objects_static); - data->program->child = fake_build_library_static(data, &data_build, mode, stage.file_library_static); + data->main->program.child = fake_build_library_static(data, &data_build, mode, stage.file_library_static); - data->program->child = fake_build_program_static(data, &data_build, mode, stage.file_program_static); + data->main->program.child = fake_build_program_static(data, &data_build, mode, stage.file_program_static); } if (data_build.setting.build_script) { @@ -770,7 +770,7 @@ extern "C" { #ifndef _di_fake_build_path_source_length_ void fake_build_path_source_length(fake_data_t * const data, fake_build_data_t * const data_build, f_string_static_t * const setting_path_source, f_string_static_t * const source) { - if (!data || !data->program || !data->setting || !data_build || !setting_path_source || !source) return; + if (!data || !data->main || !data_build || !setting_path_source || !source) return; source->used = 0; @@ -797,7 +797,7 @@ extern "C" { #ifndef _di_fake_build_path_source_string_ void fake_build_path_source_string(fake_data_t * const data, fake_build_data_t * const data_build, f_string_static_t * const setting_path_source, f_string_static_t * const source) { - if (!data || !data->program || !data->setting || !data_build || !setting_path_source || !source) return; + if (!data || !data->main || !data_build || !setting_path_source || !source) return; source->used = 0; @@ -829,7 +829,7 @@ extern "C" { #ifndef _di_fake_build_sources_add_ void fake_build_sources_add(fake_data_t * const data, fake_build_data_t * const data_build, const f_string_statics_t *generic, const f_string_statics_t *specific, f_string_dynamics_t *arguments) { - if (!data || !data->program || !data->setting || !data_build || !generic || !specific || !arguments) return; + if (!data || !data->main || !data_build || !generic || !specific || !arguments) return; f_array_length_t i = 0; f_array_length_t j = 0; @@ -858,22 +858,22 @@ extern "C" { source.used += sources[i]->array[j].used; source.string[source.used] = 0; - data->setting->state.status = fll_execute_arguments_add(source, arguments); - if (F_status_is_error(data->setting->state.status)) return; + data->main->setting.state.status = fll_execute_arguments_add(source, arguments); + if (F_status_is_error(data->main->setting.state.status)) return; } // for } // for - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } #endif // _di_fake_build_sources_add_ #ifndef _di_fake_build_sources_object_add_ void fake_build_sources_object_add(fake_data_t * const data, fake_build_data_t * const data_build, const f_string_static_t *generic, const f_string_static_t *specific, f_string_dynamics_t *arguments) { - if (!data || !data->program || !data->setting || !data_build || !generic || !specific || !arguments) return; + if (!data || !data->main || !data_build || !generic || !specific || !arguments) return; if (!generic->used && !specific->used) { - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; return; } @@ -905,24 +905,24 @@ extern "C" { source_string[source.used] = 0; - data->setting->state.status = fll_execute_arguments_add(source, arguments); - if (F_status_is_error(data->setting->state.status)) return; + data->main->setting.state.status = fll_execute_arguments_add(source, arguments); + if (F_status_is_error(data->main->setting.state.status)) return; - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } #endif // _di_fake_build_sources_object_add_ #ifndef _di_fake_build_touch_ void fake_build_touch(fake_data_t * const data, const f_string_dynamic_t file) { - if (!data || !data->program || !data->setting) return; - if (F_status_is_error(data->setting->state.status)) return; + if (!data || !data->main) return; + if (F_status_is_error(data->main->setting.state.status)) return; - if (!((++data->program->signal_check) % fake_signal_check_d)) { - if (fll_program_standard_signal_received(data->program)) { - fll_program_print_signal_received(data->program->warning, data->program->signal_received); + if (!((++data->main->program.signal_check) % fake_signal_check_d)) { + if (fll_program_standard_signal_received(&data->main->program)) { + fll_program_print_signal_received(data->main->program.warning, data->main->program.signal_received); - data->setting->state.status = F_status_set_error(F_interrupt); + data->main->setting.state.status = F_status_set_error(F_interrupt); return; } @@ -930,15 +930,15 @@ extern "C" { f_mode_t mode = f_mode_t_initialize; - macro_f_mode_t_set_default_umask(mode, data->program->umask); + macro_f_mode_t_set_default_umask(mode, data->main->program.umask); - data->setting->state.status = f_file_touch(file, mode.regular, F_false); + data->main->setting.state.status = f_file_touch(file, mode.regular, F_false); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_touch), file, f_file_operation_touch_s, fll_error_file_type_file_e); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_touch), file, f_file_operation_touch_s, fll_error_file_type_file_e); } else { - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } } #endif // _di_fake_build_touch_ diff --git a/level_3/fake/c/main/build.h b/level_3/fake/c/main/build.h index 54b5f1e..a0e4625 100644 --- a/level_3/fake/c/main/build.h +++ b/level_3/fake/c/main/build.h @@ -22,7 +22,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: fll_execute_arguments_add() @@ -48,7 +48,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * F_interrupt (with error bit) on interrupt signal received. @@ -105,7 +105,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: f_string_dynamic_append_nulless() @@ -145,7 +145,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: f_file_name_base() @@ -166,7 +166,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: fll_execute_arguments_add() @@ -193,7 +193,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * F_interrupt (with error bit) on interrupt signal received. @@ -260,7 +260,7 @@ extern "C" { * @param data * The program data. * - * This does not alter data.setting.state.status. + * This does not alter data.main->setting.state.status. * @param data_build * The build data. * @param setting_path_source @@ -281,7 +281,7 @@ extern "C" { * @param data * The program data. * - * This does not alter data.setting.state.status. + * This does not alter data.main->setting.state.status. * @param data_build * The build data. * @param setting_path_source @@ -302,7 +302,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: fll_execute_arguments_add() @@ -327,7 +327,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: fll_execute_arguments_add() @@ -352,7 +352,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * F_interrupt (with error bit) on interrupt signal received. diff --git a/level_3/fake/c/main/build/library.c b/level_3/fake/c/main/build/library.c index d938a39..23210f7 100644 --- a/level_3/fake/c/main/build/library.c +++ b/level_3/fake/c/main/build/library.c @@ -7,9 +7,9 @@ extern "C" { #ifndef _di_fake_build_library_script_ int fake_build_library_script(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) { - if (!data || !data->program || !data->setting) return 0; - if (data->setting->state.status == F_child) return data->program->child; - if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; + if (!data || !data->main) return 0; + if (data->main->setting.state.status == F_child) return data->main->program.child; + if (F_status_is_error(data->main->setting.state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; fake_build_touch(data, file_stage); @@ -20,19 +20,19 @@ extern "C" { #ifndef _di_fake_build_library_shared_ int fake_build_library_shared(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) { - if (!data || !data->program || !data->setting || !data_build) return 0; - if (data->setting->state.status == F_child) return data->program->child; - if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; + if (!data || !data->main || !data_build) return 0; + if (data->main->setting.state.status == F_child) return data->main->program.child; + if (F_status_is_error(data->main->setting.state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; if (!data_build->setting.build_sources_library.used && !data_build->setting.build_sources_library_shared.used) return 0; - fake_build_print_compile_library_shared(data->setting, data->program->message); + fake_build_print_compile_library_shared(&data->main->program.message); f_string_dynamics_t arguments = f_string_dynamics_t_initialize; fake_build_objects_add(data, data_build, &data->path_build_objects_shared, &data_build->setting.build_objects_library, &data_build->setting.build_objects_library_shared, &arguments); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_build_objects_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_build_objects_add)); f_string_dynamics_resize(0, &arguments); @@ -41,8 +41,8 @@ extern "C" { fake_build_sources_add(data, data_build, &data_build->setting.build_sources_library, &data_build->setting.build_sources_library_shared, &arguments); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_build_sources_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_build_sources_add)); f_string_dynamics_resize(0, &arguments); @@ -290,14 +290,14 @@ extern "C" { if (!values[i].used) continue; - data->setting->state.status = fll_execute_arguments_add(values[i], &arguments); - if (F_status_is_error(data->setting->state.status)) break; + data->main->setting.state.status = fll_execute_arguments_add(values[i], &arguments); + if (F_status_is_error(data->main->setting.state.status)) break; } // for fake_build_arguments_standard_add(data, data_build, F_true, fake_build_type_library_e, &arguments); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fll_execute_arguments_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fll_execute_arguments_add)); f_string_dynamics_resize(0, &arguments); @@ -310,8 +310,8 @@ extern "C" { f_string_dynamics_resize(0, &arguments); - if (F_status_is_error(data->setting->state.status)) return 0; - if (data->setting->state.status == F_child) return result; + if (F_status_is_error(data->main->setting.state.status)) return 0; + if (data->main->setting.state.status == F_child) return result; } if (parameter_file_name_major.used) { @@ -325,19 +325,19 @@ extern "C" { memcpy(parameter_file_path_string, data->path_build_libraries_shared.string, sizeof(f_char_t) * data->path_build_libraries_shared.used); memcpy(parameter_file_path_string + data->path_build_libraries_shared.used, parameter_file_name.string, sizeof(f_char_t) * parameter_file_name.used); - data->setting->state.status = f_file_link(parameter_file_name_major, parameter_file_path); + data->main->setting.state.status = f_file_link(parameter_file_name_major, parameter_file_path); - if (F_status_is_error_not(data->setting->state.status)) { - fake_build_print_linked_file(data->setting, data->program->message, parameter_file_path, parameter_file_name_major); + if (F_status_is_error_not(data->main->setting.state.status)) { + fake_build_print_verbose_linked_file(&data->main->program.message, parameter_file_path, parameter_file_name_major); } else { - if (F_status_set_fine(data->setting->state.status) == F_file_found) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_link), parameter_file_path, f_file_operation_link_s, fll_error_file_type_file_e); + if (F_status_set_fine(data->main->setting.state.status) == F_file_found) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_link), parameter_file_path, f_file_operation_link_s, fll_error_file_type_file_e); return 0; } - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_link), parameter_file_name_major, f_file_operation_link_s, fll_error_file_type_file_e); + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_link), parameter_file_name_major, f_file_operation_link_s, fll_error_file_type_file_e); return 0; } @@ -356,13 +356,13 @@ extern "C" { memcpy(parameter_file_path_string, data->path_build_libraries_shared.string, sizeof(f_char_t) * data->path_build_libraries_shared.used); memcpy(parameter_file_path_string + data->path_build_libraries_shared.used, parameter_file_name_major.string, sizeof(f_char_t) * parameter_file_name_major.used); - data->setting->state.status = f_file_link(parameter_file_name_minor, parameter_file_path); + data->main->setting.state.status = f_file_link(parameter_file_name_minor, parameter_file_path); - if (F_status_is_error_not(data->setting->state.status)) { - fake_build_print_linked_file(data->setting, data->program->message, parameter_file_path, parameter_file_name_minor); + if (F_status_is_error_not(data->main->setting.state.status)) { + fake_build_print_verbose_linked_file(&data->main->program.message, parameter_file_path, parameter_file_name_minor); } else { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_link), F_status_set_fine(data->setting->state.status) == F_file_found ? parameter_file_path : parameter_file_name_minor, f_file_operation_link_s, fll_error_file_type_file_e); + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_link), F_status_set_fine(data->main->setting.state.status) == F_file_found ? parameter_file_path : parameter_file_name_minor, f_file_operation_link_s, fll_error_file_type_file_e); return 0; } @@ -379,19 +379,19 @@ extern "C" { memcpy(parameter_file_path_string, data->path_build_libraries_shared.string, sizeof(f_char_t) * data->path_build_libraries_shared.used); memcpy(parameter_file_path_string + data->path_build_libraries_shared.used, parameter_file_name_minor.string, sizeof(f_char_t) * parameter_file_name_minor.used); - data->setting->state.status = f_file_link(parameter_file_name_micro, parameter_file_path); + data->main->setting.state.status = f_file_link(parameter_file_name_micro, parameter_file_path); - if (F_status_is_error_not(data->setting->state.status)) { - fake_build_print_linked_file(data->setting, data->program->message, parameter_file_path, parameter_file_name_micro); + if (F_status_is_error_not(data->main->setting.state.status)) { + fake_build_print_verbose_linked_file(&data->main->program.message, parameter_file_path, parameter_file_name_micro); } else { - if (F_status_set_fine(data->setting->state.status) == F_file_found) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_link), parameter_file_path, f_file_operation_link_s, fll_error_file_type_file_e); + if (F_status_set_fine(data->main->setting.state.status) == F_file_found) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_link), parameter_file_path, f_file_operation_link_s, fll_error_file_type_file_e); return 0; } - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_link), parameter_file_name_micro, f_file_operation_link_s, fll_error_file_type_file_e); + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_link), parameter_file_name_micro, f_file_operation_link_s, fll_error_file_type_file_e); return 0; } @@ -407,19 +407,19 @@ extern "C" { memcpy(parameter_file_path_string, data->path_build_libraries_shared.string, sizeof(f_char_t) * data->path_build_libraries_shared.used); memcpy(parameter_file_path_string + data->path_build_libraries_shared.used, parameter_file_name_micro.string, sizeof(f_char_t) * parameter_file_name_micro.used); - data->setting->state.status = f_file_link(parameter_file_name_nano, parameter_file_path); + data->main->setting.state.status = f_file_link(parameter_file_name_nano, parameter_file_path); - if (F_status_is_error_not(data->setting->state.status)) { - fake_build_print_linked_file(data->setting, data->program->message, parameter_file_path, parameter_file_name_nano); + if (F_status_is_error_not(data->main->setting.state.status)) { + fake_build_print_verbose_linked_file(&data->main->program.message, parameter_file_path, parameter_file_name_nano); } else { - if (F_status_set_fine(data->setting->state.status) == F_file_found) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_link), parameter_file_path, f_file_operation_link_s, fll_error_file_type_file_e); + if (F_status_set_fine(data->main->setting.state.status) == F_file_found) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_link), parameter_file_path, f_file_operation_link_s, fll_error_file_type_file_e); return 0; } - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_link), parameter_file_name_nano, f_file_operation_link_s, fll_error_file_type_file_e); + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_link), parameter_file_name_nano, f_file_operation_link_s, fll_error_file_type_file_e); return 0; } @@ -436,12 +436,12 @@ extern "C" { #ifndef _di_fake_build_library_static_ int fake_build_library_static(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) { - if (!data || !data->program || !data->setting || !data_build) return 0; - if (data->setting->state.status == F_child) return data->program->child; - if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; + if (!data || !data->main || !data_build) return 0; + if (data->main->setting.state.status == F_child) return data->main->program.child; + if (F_status_is_error(data->main->setting.state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; if (!data_build->setting.build_sources_library.used && !data_build->setting.build_sources_library_static.used) return 0; - fake_build_print_compile_library_static(data->setting, data->program->message); + fake_build_print_compile_library_static(&data->main->program.message); f_string_dynamic_t file_name = f_string_dynamic_t_initialize; f_string_dynamic_t source_path = f_string_dynamic_t_initialize; @@ -453,11 +453,11 @@ extern "C" { if (!data_build->setting.build_indexer_arguments.array[i].used) continue; - data->setting->state.status = fll_execute_arguments_add(data_build->setting.build_indexer_arguments.array[i], &arguments); - if (F_status_is_error(data->setting->state.status)) break; + data->main->setting.state.status = fll_execute_arguments_add(data_build->setting.build_indexer_arguments.array[i], &arguments); + if (F_status_is_error(data->main->setting.state.status)) break; } // for - if (F_status_is_error_not(data->setting->state.status)) { + if (F_status_is_error_not(data->main->setting.state.status)) { f_string_static_t destination = f_string_static_t_initialize; destination.used = data->path_build_libraries_static.used + fake_build_parameter_library_name_prefix_s.used; destination.used += data_build->setting.build_name.used + fake_build_parameter_library_name_suffix_static_s.used; @@ -479,10 +479,10 @@ extern "C" { memcpy(destination_string + destination.used, fake_build_parameter_library_name_suffix_static_s.string, sizeof(f_char_t) * fake_build_parameter_library_name_suffix_static_s.used); destination.used += fake_build_parameter_library_name_suffix_static_s.used; - data->setting->state.status = fll_execute_arguments_add(destination, &arguments); + data->main->setting.state.status = fll_execute_arguments_add(destination, &arguments); } - if (F_status_is_error_not(data->setting->state.status)) { + if (F_status_is_error_not(data->main->setting.state.status)) { f_string_static_t source = f_string_static_t_initialize; f_array_length_t j = 0; @@ -499,33 +499,33 @@ extern "C" { fake_build_get_file_name_without_extension(data, sources[i]->array[j], &file_name); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_build_get_file_name_without_extension)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_build_get_file_name_without_extension)); break; } - data->setting->state.status = f_file_name_directory(sources[i]->array[j], &source_path); + data->main->setting.state.status = f_file_name_directory(sources[i]->array[j], &source_path); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_file_name_directory)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_file_name_directory)); break; } if (source_path.used) { - data->setting->state.status = f_string_dynamic_prepend(data->path_build_objects, &source_path); + data->main->setting.state.status = f_string_dynamic_prepend(data->path_build_objects, &source_path); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_prepend)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_prepend)); break; } - data->setting->state.status = f_string_dynamic_append_assure(f_path_separator_s, &source_path); + data->main->setting.state.status = f_string_dynamic_append_assure(f_path_separator_s, &source_path); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_append_assure)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_append_assure)); break; } @@ -551,10 +551,10 @@ extern "C" { memcpy(source_string + data->path_build_objects.used + file_name.used, fake_build_parameter_object_name_suffix_s.string, sizeof(f_char_t) * fake_build_parameter_object_name_suffix_s.used); } - data->setting->state.status = fll_execute_arguments_add(source, &arguments); + data->main->setting.state.status = fll_execute_arguments_add(source, &arguments); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fll_execute_arguments_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fll_execute_arguments_add)); break; } @@ -562,9 +562,9 @@ extern "C" { } // for } - int result = data->program->child; + int result = data->main->program.child; - if (F_status_is_error_not(data->setting->state.status)) { + if (F_status_is_error_not(data->main->setting.state.status)) { result = fake_execute(data, data_build->environment, data_build->setting.build_indexer, arguments); } @@ -572,7 +572,7 @@ extern "C" { f_string_dynamic_resize(0, &source_path); f_string_dynamics_resize(0, &arguments); - if (F_status_is_error_not(data->setting->state.status) && data->setting->state.status != F_child) { + if (F_status_is_error_not(data->main->setting.state.status) && data->main->setting.state.status != F_child) { fake_build_touch(data, file_stage); } diff --git a/level_3/fake/c/main/build/library.h b/level_3/fake/c/main/build/library.h index b8e01d6..564f658 100644 --- a/level_3/fake/c/main/build/library.h +++ b/level_3/fake/c/main/build/library.h @@ -27,7 +27,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: f_file_link() @@ -70,7 +70,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: f_file_link() @@ -109,7 +109,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: f_file_name_directory() diff --git a/level_3/fake/c/main/build/load.c b/level_3/fake/c/main/build/load.c index ec55401..809c218 100644 --- a/level_3/fake/c/main/build/load.c +++ b/level_3/fake/c/main/build/load.c @@ -7,8 +7,8 @@ extern "C" { #ifndef _di_fake_build_load_environment_ void fake_build_load_environment(fake_data_t * const data, fake_build_data_t * const data_build, f_string_maps_t * const environment) { - if (!data || !data->program || !data->setting || !data_build || !environment) return; - if (F_status_is_error(data->setting->state.status)) return; + if (!data || !data->main || !data_build || !environment) return; + if (F_status_is_error(data->main->setting.state.status)) return; // Reset the environment. for (f_array_length_t i = 0; i < environment->used; ++i) { @@ -28,10 +28,10 @@ extern "C" { for (uint8_t i = 0; i < 2; ++i) { - data->setting->state.status = fl_environment_load_name(variables[i], environment); + data->main->setting.state.status = fl_environment_load_name(variables[i], environment); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fl_environment_load_name)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fl_environment_load_name)); return; } @@ -40,31 +40,21 @@ extern "C" { if (environment->used + data_build->setting.environment.used > environment->size) { if (environment->used + data_build->setting.environment.used > f_environment_max_length_d) { - if (data->program->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->program->error.to); + fake_build_print_error_setting_value_too_long(&data->main->program.error, fake_build_setting_name_environment_s, data->file_data_build_settings); - fl_print_format("%r%[%QThe values for the setting '%]", data->program->error.to, f_string_eol_s, data->program->error.context, data->program->error.prefix, data->program->error.context); - fl_print_format("%[%r%]", data->program->error.to, data->program->error.notable, fake_build_setting_name_environment_s, data->program->error.notable); - fl_print_format("%[' of setting file '%]", data->program->error.to, data->program->error.context, data->program->error.context); - fl_print_format("%[%r%]", data->program->error.to, data->program->error.notable, fake_build_setting_name_environment_s, data->program->error.notable); - fl_print_format("%[' is too large.%]%r", data->program->error.to, data->program->error.context, data->program->error.context, f_string_eol_s); - - f_file_stream_unlock(data->program->error.to); - } - - data->setting->state.status = F_status_set_error(F_array_too_large); + data->main->setting.state.status = F_status_set_error(F_array_too_large); return; } } - data->setting->state.status = fl_environment_load_names(data_build->setting.environment, environment); + data->main->setting.state.status = fl_environment_load_names(data_build->setting.environment, environment); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fl_environment_load_names)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fl_environment_load_names)); } else { - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } } #endif // _di_fake_build_load_environment_ @@ -72,14 +62,14 @@ extern "C" { #ifndef _di_fake_build_load_setting_ void fake_build_load_setting(fake_data_t * const data, const f_string_statics_t * const build_arguments, const bool process_pipe, fake_build_setting_t * const setting) { - if (!data || !data->program || !data->setting || !setting) return; - if (F_status_is_error(data->setting->state.status)) return; + if (!data || !data->main || !setting) return; + if (F_status_is_error(data->main->setting.state.status)) return; - if (!((++data->program->signal_check) % fake_signal_check_d)) { - if (fll_program_standard_signal_received(data->program)) { - fll_program_print_signal_received(data->program->warning, data->program->signal_received); + if (!((++data->main->program.signal_check) % fake_signal_check_d)) { + if (fll_program_standard_signal_received(&data->main->program)) { + fll_program_print_signal_received(data->main->program.warning, data->main->program.signal_received); - data->setting->state.status = F_status_set_error(F_interrupt); + data->main->setting.state.status = F_status_set_error(F_interrupt); return; } @@ -102,7 +92,7 @@ extern "C" { if (build_arguments && build_arguments->used) { path_file.used = data->path_data_build.used + build_arguments->array[0].used; } - else if (!process_pipe || (data->setting->flag & fake_main_flag_operation_e)) { + else if (!process_pipe || (data->main->setting.flag & fake_main_flag_operation_e)) { path_file.used = data->file_data_build_settings.used; } else { @@ -117,7 +107,7 @@ extern "C" { memcpy(path_file_string, data->path_data_build.string, sizeof(f_char_t) * data->path_data_build.used); memcpy(path_file_string + data->path_data_build.used, build_arguments->array[0].string, sizeof(f_char_t) * build_arguments->array[0].used); } - else if (!process_pipe || (data->setting->flag & fake_main_flag_operation_e)) { + else if (!process_pipe || (data->main->setting.flag & fake_main_flag_operation_e)) { memcpy(path_file_string, data->file_data_build_settings.string, sizeof(f_char_t) * data->file_data_build_settings.used); } else { @@ -132,37 +122,37 @@ extern "C" { if (process_pipe) { fake_pipe_buffer(data, &buffer); - if (F_status_is_error(data->setting->state.status)) { + if (F_status_is_error(data->main->setting.state.status)) { buffer.used = 0; } else { - data->setting->state.status = f_string_dynamic_append_assure(f_string_eol_s, &buffer); + data->main->setting.state.status = f_string_dynamic_append_assure(f_string_eol_s, &buffer); } } - if (F_status_is_error_not(data->setting->state.status)) { - if (build_arguments && build_arguments->used || !process_pipe || (data->setting->flag & fake_main_flag_operation_e)) { + if (F_status_is_error_not(data->main->setting.state.status)) { + if (build_arguments && build_arguments->used || !process_pipe || (data->main->setting.flag & fake_main_flag_operation_e)) { fake_file_buffer(data, path_file, process_pipe ? F_false : F_true, &buffer); } } - if (F_status_is_error_not(data->setting->state.status)) { + if (F_status_is_error_not(data->main->setting.state.status)) { f_string_range_t range = macro_f_string_range_t_initialize2(buffer.used); f_fss_delimits_t delimits = f_fss_delimits_t_initialize; - // @todo make sure data->setting->state.custom = (void *) data->program; - //f_state_t state = macro_f_state_t_initialize_1(fake_allocation_large_d, fake_allocation_small_d, F_none, 0, 0, &fll_program_standard_signal_handle, 0, (void *) data->program, 0); + // @todo make sure data->main->setting.state.custom = (void *) data->main->program; + //f_state_t state = macro_f_state_t_initialize_1(fake_allocation_large_d, fake_allocation_small_d, F_none, 0, 0, &fll_program_standard_signal_handle, 0, (void *) data->main->program, 0); - fll_fss_extended_read(buffer, &range, &objects, &contents, 0, 0, &delimits, 0, &data->setting->state); + fll_fss_extended_read(buffer, &range, &objects, &contents, 0, 0, &delimits, 0, &data->main->setting.state); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error_fss(data->setting, data->program->error, macro_fake_f(fll_fss_extended_read), data->file_data_build_settings, range, F_true); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error_fss(&data->main->program.error, macro_fake_f(fll_fss_extended_read), data->file_data_build_settings, range, F_true); } else { - f_fss_apply_delimit(delimits, &buffer, &data->setting->state); + f_fss_apply_delimit(delimits, &buffer, &data->main->setting.state); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_fss_apply_delimit)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_fss_apply_delimit)); } else { fake_build_load_setting_process(data, F_true, path_file, modes_custom.used ? &modes_custom : 0, buffer, objects, contents, setting); @@ -179,7 +169,7 @@ extern "C" { } // Error when required settings are not specified. - if (F_status_is_error_not(data->setting->state.status)) { + if (F_status_is_error_not(data->main->setting.state.status)) { bool failed = F_false; f_string_static_t * const settings[] = { @@ -193,19 +183,19 @@ extern "C" { for (uint8_t i = 0; i < 1; ++i) { if (!settings[i]->used) { - fake_build_print_error_missing_required_setting(data->setting, data->program->warning, names[i], path_file); + fake_build_print_error_missing_required_setting(&data->main->program.warning, names[i], path_file); failed = F_true; } } // for if (failed) { - data->setting->state.status = F_status_set_error(F_failure); + data->main->setting.state.status = F_status_set_error(F_failure); return; } - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } fake_build_load_setting_override(data, setting); @@ -215,14 +205,14 @@ extern "C" { #ifndef _di_fake_build_load_setting_process_ void fake_build_load_setting_process(fake_data_t * const data, const bool checks, const f_string_static_t path_file, const f_string_statics_t * const modes_custom, const f_string_static_t buffer, const f_fss_objects_t objects, const f_fss_contents_t contents, fake_build_setting_t * const setting) { - if (!data || !data->program || !data->setting || !setting) return; - if (F_status_is_error(data->setting->state.status) && buffer.used) return; + if (!data || !data->main || !setting) return; + if (F_status_is_error(data->main->setting.state.status) && buffer.used) return; - if (!((++data->program->signal_check) % fake_signal_check_d)) { - if (fll_program_standard_signal_received(data->program)) { - fll_program_print_signal_received(data->program->warning, data->program->signal_received); + if (!((++data->main->program.signal_check) % fake_signal_check_d)) { + if (fll_program_standard_signal_received(&data->main->program)) { + fll_program_print_signal_received(data->main->program.warning, data->main->program.signal_received); - data->setting->state.status = F_status_set_error(F_interrupt); + data->main->setting.state.status = F_status_set_error(F_interrupt); return; } @@ -549,16 +539,16 @@ extern "C" { f_string_t function = macro_fake_f(fll_fss_snatch_apart); - data->setting->state.status = fll_fss_snatch_apart(buffer, objects, contents, settings_name, fake_build_setting_total_d, settings_value, settings_matches, 0); + data->main->setting.state.status = fll_fss_snatch_apart(buffer, objects, contents, settings_name, fake_build_setting_total_d, settings_value, settings_matches, 0); - if (data->setting->state.status == F_none) { + if (data->main->setting.state.status == F_none) { const int total_build_libraries = setting->build_libraries.used; // Custom modes are always used if provided, otherwise if any mode is specified, the entire defaults is replaced. const f_string_statics_t * const modes = modes_custom && modes_custom->used ? modes_custom - : data->setting->modes.used - ? &data->setting->modes + : data->main->setting.modes.used + ? &data->main->setting.modes : &setting->modes_default; f_string_dynamic_t settings_mode_names[fake_build_setting_total_d]; @@ -585,10 +575,10 @@ extern "C" { } // for if (found == F_false) { - fake_build_print_error_mode_invalid(data->setting, data->program->warning, modes->array[i], path_file); + fake_build_print_error_mode_invalid(&data->main->program.warning, modes->array[i], path_file); error_printed = F_true; - data->setting->state.status = F_status_set_error(F_parameter); + data->main->setting.state.status = F_status_set_error(F_parameter); break; } @@ -597,40 +587,40 @@ extern "C" { settings_mode_names[j].used = 0; - data->setting->state.status = f_string_dynamic_increase_by(settings_value[j]->used + f_string_ascii_minus_s.used + modes->array[i].used, &settings_mode_names[j]); + data->main->setting.state.status = f_string_dynamic_increase_by(settings_value[j]->used + f_string_ascii_minus_s.used + modes->array[i].used, &settings_mode_names[j]); - if (F_status_is_error(data->setting->state.status)) { + if (F_status_is_error(data->main->setting.state.status)) { function = macro_fake_f(f_string_dynamic_increase_by); break; } - data->setting->state.status = f_string_dynamic_append_nulless(settings_name[j], &settings_mode_names[j]); + data->main->setting.state.status = f_string_dynamic_append_nulless(settings_name[j], &settings_mode_names[j]); - if (F_status_is_error_not(data->setting->state.status)) { - data->setting->state.status = f_string_dynamic_append_nulless(f_string_ascii_minus_s, &settings_mode_names[j]); + if (F_status_is_error_not(data->main->setting.state.status)) { + data->main->setting.state.status = f_string_dynamic_append_nulless(f_string_ascii_minus_s, &settings_mode_names[j]); } - if (F_status_is_error_not(data->setting->state.status)) { - data->setting->state.status = f_string_dynamic_append_nulless(modes->array[i], &settings_mode_names[j]); + if (F_status_is_error_not(data->main->setting.state.status)) { + data->main->setting.state.status = f_string_dynamic_append_nulless(modes->array[i], &settings_mode_names[j]); } - if (F_status_is_error(data->setting->state.status)) { + if (F_status_is_error(data->main->setting.state.status)) { function = macro_fake_f(f_string_dynamic_append); break; } } // for - if (data->setting->state.status == F_none) { - data->setting->state.status = fll_fss_snatch_apart(buffer, objects, contents, settings_mode_names, fake_build_setting_total_d, settings_value, 0, 0); + if (data->main->setting.state.status == F_none) { + data->main->setting.state.status = fll_fss_snatch_apart(buffer, objects, contents, settings_mode_names, fake_build_setting_total_d, settings_value, 0, 0); - if (F_status_is_error(data->setting->state.status)) { + if (F_status_is_error(data->main->setting.state.status)) { function = macro_fake_f(fll_fss_snatch_apart); } } - if (F_status_is_error(data->setting->state.status)) break; + if (F_status_is_error(data->main->setting.state.status)) break; } // for for (j = 0; j < fake_build_setting_total_d; ++j) { @@ -667,12 +657,12 @@ extern "C" { } } - if (F_status_is_error(data->setting->state.status)) { - if (data->setting->state.status == F_status_set_error(F_string_too_large)) { - fake_build_print_error_setting_too_long(data->setting, data->program->warning, path_file); + if (F_status_is_error(data->main->setting.state.status)) { + if (data->main->setting.state.status == F_status_set_error(F_string_too_large)) { + fake_build_print_error_setting_too_long(&data->main->program.warning, path_file); } else if (!error_printed) { - fake_print_error(&data->program->error, function); + fake_print_error(&data->main->program.error, function); } } else { @@ -904,7 +894,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 - data->setting->sources, // path_sources + data->main->setting.sources, // path_sources f_string_empty_s, // path_sources_object f_string_empty_s, // preserve_path_headers f_string_empty_s, // process_post @@ -1109,10 +1099,10 @@ extern "C" { if (!settings_single_matches[i] && settings_single_destination[i]) { settings_single_destination[i]->used = 0; - data->setting->state.status = f_string_dynamic_append(settings_single_string_default[i], settings_single_destination[i]); + data->main->setting.state.status = f_string_dynamic_append(settings_single_string_default[i], settings_single_destination[i]); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_append)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_append)); break; } @@ -1130,7 +1120,7 @@ extern "C" { else { *settings_single_bool[i] = F_true; - fake_build_print_warning_setting_boolean_may_only_be(data->setting, data->program->warning, settings_single_name[i], path_file, settings_single_version_default_name[i]); + fake_build_print_warning_setting_boolean_may_only_be(&data->main->program.warning, settings_single_name[i], path_file, settings_single_version_default_name[i]); } } else if (settings_single_type[i] == 4) { @@ -1146,7 +1136,7 @@ extern "C" { else { *settings_single_language[i] = fake_build_language_c_e; - fake_build_print_warning_setting_language_may_only_be(data->setting, data->program->warning, settings_single_name[i], path_file, fake_build_language_c_s); + fake_build_print_warning_setting_language_may_only_be(&data->main->program.warning, settings_single_name[i], path_file, fake_build_language_c_s); } } else if (settings_single_type[i] == 5) { @@ -1165,7 +1155,7 @@ extern "C" { else { *settings_single_version[i] = settings_single_version_default[i]; - fake_build_print_warning_setting_version_may_only_be(data->setting, data->program->warning, settings_single_name[i], path_file, settings_single_version_default_name[i]); + fake_build_print_warning_setting_version_may_only_be(&data->main->program.warning, settings_single_name[i], path_file, settings_single_version_default_name[i]); } } else if (settings_single_destination[i]) { @@ -1174,27 +1164,27 @@ extern "C" { settings_single_destination[i]->used = 0; if (settings_single_type[i] == 2) { - data->setting->state.status = f_path_directory_cleanup(settings_single_source[i]->array[settings_single_source[i]->used - 1], settings_single_destination[i]); + data->main->setting.state.status = f_path_directory_cleanup(settings_single_source[i]->array[settings_single_source[i]->used - 1], settings_single_destination[i]); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_path_directory_cleanup)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_path_directory_cleanup)); break; } } else { - data->setting->state.status = f_string_dynamic_increase_by(settings_single_source[i]->array[settings_single_source[i]->used - 1].used + 1, settings_single_destination[i]); + data->main->setting.state.status = f_string_dynamic_increase_by(settings_single_source[i]->array[settings_single_source[i]->used - 1].used + 1, settings_single_destination[i]); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_increase_by)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_increase_by)); break; } - data->setting->state.status = f_string_dynamic_append_nulless(settings_single_source[i]->array[settings_single_source[i]->used - 1], settings_single_destination[i]); + data->main->setting.state.status = f_string_dynamic_append_nulless(settings_single_source[i]->array[settings_single_source[i]->used - 1], settings_single_destination[i]); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); break; } @@ -1202,17 +1192,17 @@ extern "C" { } } // for - if (F_status_is_error_not(data->setting->state.status)) { + if (F_status_is_error_not(data->main->setting.state.status)) { if (checks && !setting->version_file) { setting->version_file = fake_build_version_micro_e; - fake_build_print_warning_setting_required_default_to(data->setting, data->program->warning, fake_build_setting_name_version_file_s, path_file, fake_build_version_micro_s); + fake_build_print_warning_setting_required_default_to(&data->main->program.warning, fake_build_setting_name_version_file_s, path_file, fake_build_version_micro_s); } if (checks && !setting->version_target) { setting->version_target = fake_build_version_major_e; - fake_build_print_warning_setting_required_default_to(data->setting, data->program->warning, fake_build_setting_name_version_target_s, path_file, fake_build_version_major_s); + fake_build_print_warning_setting_required_default_to(&data->main->program.warning, fake_build_setting_name_version_target_s, path_file, fake_build_version_major_s); } } } @@ -1263,22 +1253,22 @@ extern "C" { #ifndef _di_fake_build_load_setting_override_ void fake_build_load_setting_override(fake_data_t * const data, fake_build_setting_t * const setting) { - if (!data || !data->program || !data->setting || !setting) return; - if (F_status_is_error(data->setting->state.status)) return; + if (!data || !data->main || !setting) return; + if (F_status_is_error(data->main->setting.state.status)) return; - if (data->program->parameters.array[fake_parameter_sources_e].result & f_console_result_value_e && setting->path_sources.used) { - data->setting->state.status = f_string_dynamic_append_assure(f_path_separator_s, &setting->path_sources); + if (data->main->program.parameters.array[fake_parameter_sources_e].result & f_console_result_value_e && setting->path_sources.used) { + data->main->setting.state.status = f_string_dynamic_append_assure(f_path_separator_s, &setting->path_sources); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_append_assure)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_append_assure)); return; } } - if (data->program->parameters.array[fake_parameter_shared_disable_e].result & f_console_result_found_e) { - if (data->program->parameters.array[fake_parameter_shared_enable_e].result & f_console_result_found_e) { - if (data->program->parameters.array[fake_parameter_shared_enable_e].location > data->program->parameters.array[fake_parameter_shared_disable_e].location) { + if (data->main->program.parameters.array[fake_parameter_shared_disable_e].result & f_console_result_found_e) { + if (data->main->program.parameters.array[fake_parameter_shared_enable_e].result & f_console_result_found_e) { + if (data->main->program.parameters.array[fake_parameter_shared_enable_e].location > data->main->program.parameters.array[fake_parameter_shared_disable_e].location) { setting->build_shared = F_true; setting->search_shared = F_true; } @@ -1287,21 +1277,21 @@ extern "C" { setting->search_shared = F_false; } - fake_build_print_warning_parameters_contradict(data->setting, data->program->warning, f_console_symbol_long_normal_s, fake_long_shared_disabled_s, f_console_symbol_long_normal_s, fake_long_shared_enabled_s, f_console_symbol_long_normal_s, setting->build_shared ? fake_long_shared_enabled_s : fake_long_shared_disabled_s); + fake_build_print_warning_parameters_contradict(&data->main->program.warning, f_console_symbol_long_normal_s, fake_long_shared_disabled_s, f_console_symbol_long_normal_s, fake_long_shared_enabled_s, f_console_symbol_long_normal_s, setting->build_shared ? fake_long_shared_enabled_s : fake_long_shared_disabled_s); } else { setting->build_shared = F_false; setting->search_shared = F_false; } } - else if (data->program->parameters.array[fake_parameter_shared_enable_e].result & f_console_result_found_e) { + else if (data->main->program.parameters.array[fake_parameter_shared_enable_e].result & f_console_result_found_e) { setting->build_shared = F_true; setting->search_shared = F_true; } - if (data->program->parameters.array[fake_parameter_static_disable_e].result & f_console_result_found_e) { - if (data->program->parameters.array[fake_parameter_static_enable_e].result & f_console_result_found_e) { - if (data->program->parameters.array[fake_parameter_static_enable_e].location > data->program->parameters.array[fake_parameter_static_disable_e].location) { + if (data->main->program.parameters.array[fake_parameter_static_disable_e].result & f_console_result_found_e) { + if (data->main->program.parameters.array[fake_parameter_static_enable_e].result & f_console_result_found_e) { + if (data->main->program.parameters.array[fake_parameter_static_enable_e].location > data->main->program.parameters.array[fake_parameter_static_disable_e].location) { setting->build_static = F_true; setting->search_static = F_true; } @@ -1310,23 +1300,23 @@ extern "C" { setting->search_static = F_false; } - fake_build_print_warning_parameters_contradict(data->setting, data->program->warning, f_console_symbol_long_normal_s, fake_long_static_disabled_s, f_console_symbol_long_normal_s, fake_long_static_enabled_s, f_console_symbol_long_normal_s, setting->build_static ? fake_long_static_enabled_s : fake_long_static_disabled_s); + fake_build_print_warning_parameters_contradict(&data->main->program.warning, f_console_symbol_long_normal_s, fake_long_static_disabled_s, f_console_symbol_long_normal_s, fake_long_static_enabled_s, f_console_symbol_long_normal_s, setting->build_static ? fake_long_static_enabled_s : fake_long_static_disabled_s); } else { setting->build_static = F_false; setting->search_static = F_false; } } - else if (data->program->parameters.array[fake_parameter_static_enable_e].result & f_console_result_found_e) { + else if (data->main->program.parameters.array[fake_parameter_static_enable_e].result & f_console_result_found_e) { setting->build_static = F_true; setting->search_static = F_true; } if (setting->build_language == fake_build_language_c_e || setting->build_language == fake_build_language_cpp_e) { if (setting->build_shared == F_false && setting->build_static == F_false) { - fake_build_print_warning_setting_both_cannot_when_language(data->setting, data->program->warning, fake_build_setting_name_build_shared_s, fake_build_setting_name_build_static_s, setting->build_language == fake_build_language_c_e ? fake_build_language_c_s : fake_build_language_cpp_s); + fake_build_print_warning_setting_both_cannot_when_language(&data->main->program.warning, fake_build_setting_name_build_shared_s, fake_build_setting_name_build_static_s, setting->build_language == fake_build_language_c_e ? fake_build_language_c_s : fake_build_language_cpp_s); - data->setting->state.status = F_status_set_error(F_failure); + data->main->setting.state.status = F_status_set_error(F_failure); } } } @@ -1335,14 +1325,14 @@ extern "C" { #ifndef _di_fake_build_load_stage_ void fake_build_load_stage(fake_data_t * const data, const f_string_static_t settings_file, fake_build_stage_t * const stage) { - if (!data || !data->program || !data->setting || !stage) return; - if (F_status_is_error(data->setting->state.status)) return; + if (!data || !data->main || !stage) return; + if (F_status_is_error(data->main->setting.state.status)) return; - if (!((++data->program->signal_check) % fake_signal_check_d)) { - if (fll_program_standard_signal_received(data->program)) { - fll_program_print_signal_received(data->program->warning, data->program->signal_received); + if (!((++data->main->program.signal_check) % fake_signal_check_d)) { + if (fll_program_standard_signal_received(&data->main->program)) { + fll_program_print_signal_received(data->main->program.warning, data->main->program.signal_received); - data->setting->state.status = F_status_set_error(F_interrupt); + data->main->setting.state.status = F_status_set_error(F_interrupt); return; } @@ -1388,53 +1378,53 @@ extern "C" { &stage->file_sources_settings, }; - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; f_string_dynamic_t settings_file_base = f_string_dynamic_t_initialize; if (settings_file.used) { - data->setting->state.status = f_file_name_base(settings_file, &settings_file_base); + data->main->setting.state.status = f_file_name_base(settings_file, &settings_file_base); } else { - data->setting->state.status = f_file_name_base(data->file_data_build_settings, &settings_file_base); + data->main->setting.state.status = f_file_name_base(data->file_data_build_settings, &settings_file_base); } - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_file_name_base)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_file_name_base)); return; } for (uint8_t i = 0; i < fake_build_stage_total_d; ++i) { - data->setting->state.status = f_string_dynamic_append_nulless(data->path_build_stage, values[i]); + data->main->setting.state.status = f_string_dynamic_append_nulless(data->path_build_stage, values[i]); - if (F_status_is_error_not(data->setting->state.status) && data->setting->process.used) { - data->setting->state.status = f_string_dynamic_append_nulless(data->setting->process, values[i]); + if (F_status_is_error_not(data->main->setting.state.status) && data->main->setting.process.used) { + data->main->setting.state.status = f_string_dynamic_append_nulless(data->main->setting.process, values[i]); } - if (F_status_is_error_not(data->setting->state.status)) { - data->setting->state.status = f_string_dynamic_append_nulless(fake_build_stage_separate_s, values[i]); + if (F_status_is_error_not(data->main->setting.state.status)) { + data->main->setting.state.status = f_string_dynamic_append_nulless(fake_build_stage_separate_s, values[i]); } - if (F_status_is_error_not(data->setting->state.status)) { - data->setting->state.status = f_string_dynamic_append_nulless(names[i], values[i]); + if (F_status_is_error_not(data->main->setting.state.status)) { + data->main->setting.state.status = f_string_dynamic_append_nulless(names[i], values[i]); } - if (F_status_is_error_not(data->setting->state.status)) { - data->setting->state.status = f_string_dynamic_append_nulless(fake_build_stage_separate_s, values[i]); + if (F_status_is_error_not(data->main->setting.state.status)) { + data->main->setting.state.status = f_string_dynamic_append_nulless(fake_build_stage_separate_s, values[i]); } - if (F_status_is_error_not(data->setting->state.status)) { - data->setting->state.status = f_string_dynamic_append_nulless(settings_file_base, values[i]); + if (F_status_is_error_not(data->main->setting.state.status)) { + data->main->setting.state.status = f_string_dynamic_append_nulless(settings_file_base, values[i]); } - if (F_status_is_error_not(data->setting->state.status)) { - data->setting->state.status = f_string_dynamic_append_nulless(fake_build_stage_built_s, values[i]); + if (F_status_is_error_not(data->main->setting.state.status)) { + data->main->setting.state.status = f_string_dynamic_append_nulless(fake_build_stage_built_s, values[i]); } - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); break; } diff --git a/level_3/fake/c/main/build/load.h b/level_3/fake/c/main/build/load.h index d08bf1a..a8a6488 100644 --- a/level_3/fake/c/main/build/load.h +++ b/level_3/fake/c/main/build/load.h @@ -22,7 +22,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * F_array_too_large (with error bit) if the environment variable values are too large. @@ -47,7 +47,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * F_interrupt (with error bit) on interrupt signal received. @@ -97,7 +97,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on error. @@ -119,7 +119,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * F_interrupt (with error bit) on interrupt signal received. @@ -165,7 +165,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * F_interrupt (with error bit) on interrupt signal received. diff --git a/level_3/fake/c/main/build/object.c b/level_3/fake/c/main/build/object.c index 80293fd..fa03310 100644 --- a/level_3/fake/c/main/build/object.c +++ b/level_3/fake/c/main/build/object.c @@ -7,9 +7,9 @@ extern "C" { #ifndef _di_fake_build_object_script_ int fake_build_object_script(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) { - if (!data || !data->program || !data->setting || !data_build) return 0; - if (data->setting->state.status == F_child) return data->program->child; - if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; + if (!data || !data->main || !data_build) return 0; + if (data->main->setting.state.status == F_child) return data->main->program.child; + if (F_status_is_error(data->main->setting.state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; fake_build_touch(data, file_stage); @@ -20,19 +20,19 @@ extern "C" { #ifndef _di_fake_build_object_shared_ int fake_build_object_shared(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) { - if (!data || !data->program || !data->setting || !data_build) return 0; - if (data->setting->state.status == F_child) return data->program->child; - if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; + if (!data || !data->main || !data_build) return 0; + if (data->main->setting.state.status == F_child) return data->main->program.child; + if (F_status_is_error(data->main->setting.state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; if (!data_build->setting.build_sources_object.used && !data_build->setting.build_sources_object_shared.used) return 0; - fake_build_print_compile_object_shared(data->setting, data->program->message); + fake_build_print_compile_object_shared(&data->main->program.message); f_string_dynamics_t arguments = f_string_dynamics_t_initialize; fake_build_sources_object_add(data, data_build, &data_build->setting.build_sources_object, &data_build->setting.build_sources_object_shared, &arguments); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_build_sources_object_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_build_sources_object_add)); f_string_dynamics_resize(0, &arguments); @@ -61,15 +61,15 @@ extern "C" { if (!values[i].used) continue; - data->setting->state.status = fll_execute_arguments_add(values[i], &arguments); - if (F_status_is_error(data->setting->state.status)) break; + data->main->setting.state.status = fll_execute_arguments_add(values[i], &arguments); + if (F_status_is_error(data->main->setting.state.status)) break; } // for } fake_build_arguments_standard_add(data, data_build, F_true, fake_build_type_object_e, &arguments); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_build_arguments_standard_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_build_arguments_standard_add)); macro_f_string_dynamics_t_delete_simple(arguments); @@ -80,7 +80,7 @@ extern "C" { macro_f_string_dynamics_t_delete_simple(arguments); - if (F_status_is_error_not(data->setting->state.status) && data->setting->state.status != F_child) { + if (F_status_is_error_not(data->main->setting.state.status) && data->main->setting.state.status != F_child) { fake_build_touch(data, file_stage); } @@ -91,19 +91,19 @@ extern "C" { #ifndef _di_fake_build_object_static_ int fake_build_object_static(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) { - if (!data || !data->program || !data->setting || !data_build) return 0; - if (data->setting->state.status == F_child) return data->program->child; - if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; + if (!data || !data->main || !data_build) return 0; + if (data->main->setting.state.status == F_child) return data->main->program.child; + if (F_status_is_error(data->main->setting.state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; if (!data_build->setting.build_sources_object.used && !data_build->setting.build_sources_object_static.used) return 0; - fake_build_print_compile_object_static(data->setting, data->program->message); + fake_build_print_compile_object_static(&data->main->program.message); f_string_dynamics_t arguments = f_string_dynamics_t_initialize; fake_build_sources_object_add(data, data_build, &data_build->setting.build_sources_object, &data_build->setting.build_sources_object_static, &arguments); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_build_sources_object_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_build_sources_object_add)); f_string_dynamics_resize(0, &arguments); @@ -132,15 +132,15 @@ extern "C" { if (!values[i].used) continue; - data->setting->state.status = fll_execute_arguments_add(values[i], &arguments); - if (F_status_is_error(data->setting->state.status)) break; + data->main->setting.state.status = fll_execute_arguments_add(values[i], &arguments); + if (F_status_is_error(data->main->setting.state.status)) break; } // for } fake_build_arguments_standard_add(data, data_build, F_false, fake_build_type_object_e, &arguments); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_build_arguments_standard_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_build_arguments_standard_add)); macro_f_string_dynamics_t_delete_simple(arguments); @@ -151,7 +151,7 @@ extern "C" { macro_f_string_dynamics_t_delete_simple(arguments); - if (F_status_is_error_not(data->setting->state.status) && data->setting->state.status != F_child) { + if (F_status_is_error_not(data->main->setting.state.status) && data->main->setting.state.status != F_child) { fake_build_touch(data, file_stage); } diff --git a/level_3/fake/c/main/build/object.h b/level_3/fake/c/main/build/object.h index f292f14..bef1f58 100644 --- a/level_3/fake/c/main/build/object.h +++ b/level_3/fake/c/main/build/object.h @@ -27,7 +27,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: fake_build_touch(). @@ -57,7 +57,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: fll_execute_arguments_add(). @@ -93,7 +93,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: fll_execute_arguments_add(). diff --git a/level_3/fake/c/main/build/objects.c b/level_3/fake/c/main/build/objects.c index c748fb0..d10f2c6 100644 --- a/level_3/fake/c/main/build/objects.c +++ b/level_3/fake/c/main/build/objects.c @@ -7,19 +7,19 @@ extern "C" { #ifndef _di_fake_build_objects_static_ int fake_build_objects_static(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) { - if (!data || !data->program || !data->setting) return 0; - if (data->setting->state.status == F_child) return data->program->child; - if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; + if (!data || !data->main) return 0; + if (data->main->setting.state.status == F_child) return data->main->program.child; + if (F_status_is_error(data->main->setting.state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; if (!data_build->setting.build_sources_library.used) return 0; - fake_build_print_compile_object_static_library(data->setting, data->program->message); + fake_build_print_compile_object_static_library(&data->main->program.message); f_string_dynamics_t arguments = f_string_dynamics_t_initialize; fake_build_objects_add(data, data_build, &data->path_build_objects_static, &data_build->setting.build_objects_library, &data_build->setting.build_objects_library_static, &arguments); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_build_objects_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_build_objects_add)); f_string_dynamics_resize(0, &arguments); @@ -31,7 +31,7 @@ extern "C" { f_string_static_t destination = f_string_static_t_initialize; f_string_static_t source = f_string_static_t_initialize; - int result = data->program->child; + int result = data->main->program.child; const f_string_dynamics_t *sources[2] = { &data_build->setting.build_sources_library, @@ -63,66 +63,66 @@ extern "C" { fake_build_get_file_name_without_extension(data, sources[i]->array[j], &file_name); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_build_get_file_name_without_extension)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_build_get_file_name_without_extension)); break; } - data->setting->state.status = f_file_name_directory(sources[i]->array[j], &destination_path); + data->main->setting.state.status = f_file_name_directory(sources[i]->array[j], &destination_path); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_file_name_directory)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_file_name_directory)); break; } if (destination_path.used) { - data->setting->state.status = f_string_dynamic_prepend(data->path_build_objects, &destination_path); + data->main->setting.state.status = f_string_dynamic_prepend(data->path_build_objects, &destination_path); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_prepend)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_prepend)); break; } - data->setting->state.status = f_string_dynamic_append_assure(f_path_separator_s, &destination_path); + data->main->setting.state.status = f_string_dynamic_append_assure(f_path_separator_s, &destination_path); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_append_assure)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_append_assure)); break; } - data->setting->state.status = f_directory_exists(destination_path); + data->main->setting.state.status = f_directory_exists(destination_path); - if (data->setting->state.status == F_false) { - fake_build_print_error_exist_not_directory(data->setting, data->program->message, destination_path); + if (data->main->setting.state.status == F_false) { + fake_build_print_error_exist_not_directory(&data->main->program.message, destination_path); - data->setting->state.status = F_status_set_error(F_failure); + data->main->setting.state.status = F_status_set_error(F_failure); break; } - if (data->setting->state.status == F_file_found_not) { - data->setting->state.status = f_directory_create(destination_path, mode.directory); + if (data->main->setting.state.status == F_file_found_not) { + data->main->setting.state.status = f_directory_create(destination_path, mode.directory); - if (F_status_is_error(data->setting->state.status)) { - if (F_status_set_fine(data->setting->state.status) == F_file_found_not) { - fake_build_print_error_cannot_create_due_to_parent(data->setting, data->program->message, destination_path); + if (F_status_is_error(data->main->setting.state.status)) { + if (F_status_set_fine(data->main->setting.state.status) == F_file_found_not) { + fake_build_print_error_cannot_create_due_to_parent(&data->main->program.message, destination_path); } else { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_directory_create), destination_path, f_file_operation_create_s, fll_error_file_type_directory_e); + fake_print_error_file(&data->main->program.error, macro_fake_f(f_directory_create), destination_path, f_file_operation_create_s, fll_error_file_type_directory_e); } break; } - fake_build_print_verbose_create_directory(data->setting, data->program->message, destination_path); + fake_build_print_verbose_create_directory(&data->main->program.message, destination_path); } - if (F_status_is_error(data->setting->state.status)) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_directory_exists), destination_path, f_file_operation_create_s, fll_error_file_type_directory_e); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_directory_exists), destination_path, f_file_operation_create_s, fll_error_file_type_directory_e); break; } @@ -160,14 +160,14 @@ extern "C" { if (!values[k].used) continue; - data->setting->state.status = fll_execute_arguments_add(values[k], &arguments); - if (F_status_is_error(data->setting->state.status)) break; + data->main->setting.state.status = fll_execute_arguments_add(values[k], &arguments); + if (F_status_is_error(data->main->setting.state.status)) break; } // for fake_build_arguments_standard_add(data, data_build, F_false, fake_build_type_library_e, &arguments); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fll_execute_arguments_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fll_execute_arguments_add)); break; } @@ -176,17 +176,17 @@ extern "C" { macro_f_string_dynamics_t_delete_simple(arguments); - if (F_status_is_error(data->setting->state.status) || data->setting->state.status == F_child) break; + if (F_status_is_error(data->main->setting.state.status) || data->main->setting.state.status == F_child) break; } // for - if (F_status_is_error(data->setting->state.status) || data->setting->state.status == F_child) break; + if (F_status_is_error(data->main->setting.state.status) || data->main->setting.state.status == F_child) break; } // for f_string_dynamic_resize(0, &file_name); f_string_dynamic_resize(0, &destination_path); f_string_dynamics_resize(0, &arguments); - if (F_status_is_error_not(data->setting->state.status) && data->setting->state.status != F_child) { + if (F_status_is_error_not(data->main->setting.state.status) && data->main->setting.state.status != F_child) { fake_build_touch(data, file_stage); } diff --git a/level_3/fake/c/main/build/objects.h b/level_3/fake/c/main/build/objects.h index ad93f3b..de06563 100644 --- a/level_3/fake/c/main/build/objects.h +++ b/level_3/fake/c/main/build/objects.h @@ -25,7 +25,7 @@ extern "C" { * @param data * The program data. * - * This alters data.settings.state.status: + * This alters data.main->settings.state.status: * F_none on success. * * Errors (with error bit) from: f_directory_create(). diff --git a/level_3/fake/c/main/build/print.c b/level_3/fake/c/main/build/print.c deleted file mode 100644 index 75d3c93..0000000 --- a/level_3/fake/c/main/build/print.c +++ /dev/null @@ -1,34 +0,0 @@ -#include "../fake.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _di_fake_build_print_linked_file_ - f_status_t fake_build_print_linked_file(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t from, const f_string_static_t to) { - - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; // @fixme this function needs to be a "verbose" function rather than a "normal" print function. - - fake_print_wrapped_variables(setting, print, "Linked file ", from, " to ", to, 0); - - return F_none; - } -#endif // _di_fake_build_print_linked_file_ - -#ifndef _di_fake_build_print_skeleton_build_base_ - f_status_t fake_build_print_skeleton_build_base(fake_setting_t * const setting, const fl_print_t print) { - - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_normal_e) return F_output_not; - - fll_print_dynamic_raw(f_string_eol_s, print.to); - fake_print_context_important_simple(setting, print, "Creating base build directories"); - - return F_none; - } -#endif // _di_fake_build_print_skeleton_build_base_ - -#ifdef __cplusplus -} // extern "C" -#endif diff --git a/level_3/fake/c/main/build/print.h b/level_3/fake/c/main/build/print.h deleted file mode 100644 index fc79de6..0000000 --- a/level_3/fake/c/main/build/print.h +++ /dev/null @@ -1,71 +0,0 @@ -/** - * FLL - Level 3 - * - * Project: Featureless Make - * API Version: 0.7 - * Licenses: lgpl-2.1-or-later - * - * Provides build print functionality. - * - * This is auto-included and should not need to be explicitly included. - */ -#ifndef _fake_build_print_h -#define _fake_build_print_h - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Print message when compiling a shared library. - * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. - * @param print - * Designates the how and where to print. - * @param from - * The link source. - * @param to - * The link destination. - * - * @return - * F_none on success. - * F_output_not on success, but no printing is performed. - * - * F_output_not (with error bit) if setting is NULL. - * - * @see fake_print_wrapped_variables() - */ -#ifndef _di_fake_build_print_linked_file_ - extern f_status_t fake_build_print_linked_file(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t from, const f_string_static_t to); -#endif // _di_fake_build_print_linked_file_ - -/** - * Print message when building base skeleton directories. - * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. - * @param print - * Designates the how and where to print. - * - * @return - * F_none on success. - * F_output_not on success, but no printing is performed. - * - * F_output_not (with error bit) if setting is NULL. - * - * @see fake_print_context_important_simple() - */ -#ifndef _di_fake_build_print_skeleton_build_base_ - extern f_status_t fake_build_print_skeleton_build_base(fake_setting_t * const setting, const fl_print_t print); -#endif // _di_fake_build_print_skeleton_build_base_ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // _fake_build_print_h diff --git a/level_3/fake/c/main/build/print/compile.c b/level_3/fake/c/main/build/print/compile.c index 6bc9cdf..3004a31 100644 --- a/level_3/fake/c/main/build/print/compile.c +++ b/level_3/fake/c/main/build/print/compile.c @@ -5,91 +5,91 @@ extern "C" { #endif #ifndef _di_fake_build_print_compile_library_shared_ - f_status_t fake_build_print_compile_library_shared(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_build_print_compile_library_shared(fl_print_t * const print) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_normal_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_normal_e) return F_output_not; - fll_print_dynamic_raw(f_string_eol_s, print.to); - fake_print_context_important_simple(setting, print, "Compiling shared library"); + fll_print_dynamic_raw(f_string_eol_s, print->to); + fake_print_context_important_simple(print, "Compiling shared library"); return F_none; } #endif // _di_fake_build_print_compile_library_shared_ #ifndef _di_fake_build_print_compile_library_static_ - f_status_t fake_build_print_compile_library_static(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_build_print_compile_library_static(fl_print_t * const print) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_normal_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_normal_e) return F_output_not; - fll_print_dynamic_raw(f_string_eol_s, print.to); - fake_print_context_important_simple(setting, print, "Compiling static library"); + fll_print_dynamic_raw(f_string_eol_s, print->to); + fake_print_context_important_simple(print, "Compiling static library"); return F_none; } #endif // _di_fake_build_print_compile_library_static_ #ifndef _di_fake_build_print_compile_object_shared_ - f_status_t fake_build_print_compile_object_shared(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_build_print_compile_object_shared(fl_print_t * const print) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_normal_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_normal_e) return F_output_not; - fll_print_dynamic_raw(f_string_eol_s, print.to); - fake_print_context_important_simple(setting, print, "Compiling shared object"); + fll_print_dynamic_raw(f_string_eol_s, print->to); + fake_print_context_important_simple(print, "Compiling shared object"); return F_none; } #endif // _di_fake_build_print_compile_object_shared_ #ifndef _di_fake_build_print_compile_object_static_ - f_status_t fake_build_print_compile_object_static(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_build_print_compile_object_static(fl_print_t * const print) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_normal_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_normal_e) return F_output_not; - fll_print_dynamic_raw(f_string_eol_s, print.to); - fake_print_context_important_simple(setting, print, "Compiling static object"); + fll_print_dynamic_raw(f_string_eol_s, print->to); + fake_print_context_important_simple(print, "Compiling static object"); return F_none; } #endif // _di_fake_build_print_compile_object_static_ #ifndef _di_fake_build_print_compile_object_static_library_ - f_status_t fake_build_print_compile_object_static_library(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_build_print_compile_object_static_library(fl_print_t * const print) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_normal_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_normal_e) return F_output_not; - fll_print_dynamic_raw(f_string_eol_s, print.to); - fake_print_context_important_simple(setting, print, "Compiling objects for static library"); + fll_print_dynamic_raw(f_string_eol_s, print->to); + fake_print_context_important_simple(print, "Compiling objects for static library"); return F_none; } #endif // _di_fake_build_print_compile_object_static_library_ #ifndef _di_fake_build_print_compile_program_shared_ - f_status_t fake_build_print_compile_program_shared(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_build_print_compile_program_shared(fl_print_t * const print) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_normal_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_normal_e) return F_output_not; - fll_print_dynamic_raw(f_string_eol_s, print.to); - fake_print_context_important_simple(setting, print, "Compiling shared program"); + fll_print_dynamic_raw(f_string_eol_s, print->to); + fake_print_context_important_simple(print, "Compiling shared program"); return F_none; } #endif // _di_fake_build_print_compile_program_shared_ #ifndef _di_fake_build_print_compile_program_static_ - f_status_t fake_build_print_compile_program_static(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_build_print_compile_program_static(fl_print_t * const print) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_normal_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_normal_e) return F_output_not; - fll_print_dynamic_raw(f_string_eol_s, print.to); - fake_print_context_important_simple(setting, print, "Compiling static program"); + fll_print_dynamic_raw(f_string_eol_s, print->to); + fake_print_context_important_simple(print, "Compiling static program"); return F_none; } diff --git a/level_3/fake/c/main/build/print/compile.h b/level_3/fake/c/main/build/print/compile.h index af4663d..49266a7 100644 --- a/level_3/fake/c/main/build/print/compile.h +++ b/level_3/fake/c/main/build/print/compile.h @@ -19,12 +19,12 @@ extern "C" { /** * Print message when compiling a shared library. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * * @return * F_none on success. @@ -35,18 +35,18 @@ extern "C" { * @see fake_print_context_important_simple() */ #ifndef _di_fake_build_print_compile_library_shared_ - extern f_status_t fake_build_print_compile_library_shared(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_build_print_compile_library_shared(fl_print_t * const print); #endif // _di_fake_build_print_compile_library_shared_ /** * Print message when compiling a static library. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * * @return * F_none on success. @@ -57,18 +57,18 @@ extern "C" { * @see fake_print_context_important_simple() */ #ifndef _di_fake_build_print_compile_library_static_ - extern f_status_t fake_build_print_compile_library_static(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_build_print_compile_library_static(fl_print_t * const print); #endif // _di_fake_build_print_compile_library_static_ /** * Print message when compiling a shared object. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * * @return * F_none on success. @@ -79,18 +79,18 @@ extern "C" { * @see fake_print_context_important_simple() */ #ifndef _di_fake_build_print_compile_object_shared_ - extern f_status_t fake_build_print_compile_object_shared(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_build_print_compile_object_shared(fl_print_t * const print); #endif // _di_fake_build_print_compile_object_shared_ /** * Print message when compiling a static object. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * * @return * F_none on success. @@ -101,18 +101,18 @@ extern "C" { * @see fake_print_context_important_simple() */ #ifndef _di_fake_build_print_compile_object_static_ - extern f_status_t fake_build_print_compile_object_static(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_build_print_compile_object_static(fl_print_t * const print); #endif // _di_fake_build_print_compile_object_static_ /** * Print message when compiling a static object for a library. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * * @return * F_none on success. @@ -123,18 +123,18 @@ extern "C" { * @see fake_print_context_important_simple() */ #ifndef _di_fake_build_print_compile_object_static_library_ - extern f_status_t fake_build_print_compile_object_static_library(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_build_print_compile_object_static_library(fl_print_t * const print); #endif // _di_fake_build_print_compile_object_static_library_ /** * Print message when compiling a shared program. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * * @return * F_none on success. @@ -145,18 +145,18 @@ extern "C" { * @see fake_print_context_important_simple() */ #ifndef _di_fake_build_print_compile_program_shared_ - extern f_status_t fake_build_print_compile_program_shared(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_build_print_compile_program_shared(fl_print_t * const print); #endif // _di_fake_build_print_compile_program_shared_ /** * Print message when compiling a static program. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * * @return * F_none on success. @@ -167,7 +167,7 @@ extern "C" { * @see fake_print_context_important_simple() */ #ifndef _di_fake_build_print_compile_program_static_ - extern f_status_t fake_build_print_compile_program_static(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_build_print_compile_program_static(fl_print_t * const print); #endif // _di_fake_build_print_compile_program_static_ #ifdef __cplusplus diff --git a/level_3/fake/c/main/build/print/error.c b/level_3/fake/c/main/build/print/error.c index 05c35a0..03dc97b 100644 --- a/level_3/fake/c/main/build/print/error.c +++ b/level_3/fake/c/main/build/print/error.c @@ -5,65 +5,77 @@ extern "C" { #endif #ifndef _di_fake_build_print_error_cannot_create_due_to_parent_ - f_status_t fake_build_print_error_cannot_create_due_to_parent(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + f_status_t fake_build_print_error_cannot_create_due_to_parent(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "The path ", path, " could not be created, a parent directory is invalid or does not exist"); + fake_print_context_wrapped_variable(print, "The path ", path, " could not be created, a parent directory is invalid or does not exist"); return F_none; } #endif // _di_fake_build_print_error_cannot_create_due_to_parent_ #ifndef _di_fake_build_print_error_exist_not_directory_ - f_status_t fake_build_print_error_exist_not_directory(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + f_status_t fake_build_print_error_exist_not_directory(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "The path ", path, " exists but is not a directory"); + fake_print_context_wrapped_variable(print, "The path ", path, " exists but is not a directory"); return F_none; } #endif // _di_fake_build_print_error_exist_not_directory_ #ifndef _di_fake_build_print_error_missing_required_setting_ - f_status_t fake_build_print_error_missing_required_setting(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path) { + f_status_t fake_build_print_error_missing_required_setting(fl_print_t * const print, const f_string_static_t name, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variables(setting, print, "The setting ", name, " is required but is not specified in the settings file ", path, 0); + fake_print_context_wrapped_variables(print, "The setting ", name, " is required but is not specified in the settings file ", path, 0); return F_none; } #endif // _di_fake_build_print_error_missing_required_setting_ #ifndef _di_fake_build_print_error_mode_invalid_ - f_status_t fake_build_print_error_mode_invalid(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t mode, const f_string_static_t path) { + f_status_t fake_build_print_error_mode_invalid(fl_print_t * const print, const f_string_static_t mode, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variables(setting, print, "The specified mode ", mode, " in the settings file ", path, " is not a valid mode"); + fake_print_context_wrapped_variables(print, "The specified mode ", mode, " in the settings file ", path, " is not a valid mode"); return F_none; } #endif // _di_fake_build_print_error_mode_invalid_ #ifndef _di_fake_build_print_error_setting_too_long_ - f_status_t fake_build_print_error_setting_too_long(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + f_status_t fake_build_print_error_setting_too_long(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "A setting in the settings file ", path, " is too long"); + fake_print_context_wrapped_variable(print, "A setting in the settings file ", path, " is too long"); return F_none; } #endif // _di_fake_build_print_error_setting_too_long_ +#ifndef _di_fake_build_print_error_setting_value_too_long_ + f_status_t fake_build_print_error_setting_value_too_long(fl_print_t * const print, const f_string_static_t name, const f_string_static_t path) { + + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; + + fake_print_context_wrapped_variables(print, "The values for the setting ", name, " of the setting file ", path, " is too long"); + + return F_none; + } +#endif // _di_fake_build_print_error_setting_value_too_long_ + #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fake/c/main/build/print/error.h b/level_3/fake/c/main/build/print/error.h index 12344b0..1734522 100644 --- a/level_3/fake/c/main/build/print/error.h +++ b/level_3/fake/c/main/build/print/error.h @@ -19,12 +19,12 @@ extern "C" { /** * Print error message about not creating path due to a parent directory not existing or is otherwise invalid. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param path * The path that cannot be created. * @@ -37,18 +37,18 @@ extern "C" { * @see fake_print_context_wrapped_variable() */ #ifndef _di_fake_build_print_error_cannot_create_due_to_parent_ - extern f_status_t fake_build_print_error_cannot_create_due_to_parent(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern f_status_t fake_build_print_error_cannot_create_due_to_parent(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_build_print_error_cannot_create_due_to_parent_ /** * Print error message about not creating path due to a parent directory not existing or is otherwise invalid. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param path * The path that cannot be created. * @@ -61,18 +61,18 @@ extern "C" { * @see fake_print_context_wrapped_variable() */ #ifndef _di_fake_build_print_error_exist_not_directory_ - extern f_status_t fake_build_print_error_exist_not_directory(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern f_status_t fake_build_print_error_exist_not_directory(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_build_print_error_exist_not_directory_ /** * Print error message about a required setting missing. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param name * The name of the missing setting. * @param path @@ -87,19 +87,19 @@ extern "C" { * @see fake_print_context_wrapped_variables() */ #ifndef _di_fake_build_print_error_missing_required_setting_ - extern f_status_t fake_build_print_error_missing_required_setting(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path); + extern f_status_t fake_build_print_error_missing_required_setting(fl_print_t * const print, const f_string_static_t name, const f_string_static_t path); #endif // _di_fake_build_print_error_missing_required_setting_ /** * Print error message about a mode being invalid. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param mode * The invalid mode. * @param path @@ -114,18 +114,18 @@ extern "C" { * @see fake_print_context_wrapped_variables() */ #ifndef _di_fake_build_print_error_mode_invalid_ - extern f_status_t fake_build_print_error_mode_invalid(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t mode, const f_string_static_t path); + extern f_status_t fake_build_print_error_mode_invalid(fl_print_t * const print, const f_string_static_t mode, const f_string_static_t path); #endif // _di_fake_build_print_error_mode_invalid_ /** - * Print error message about not creating path due to a parent directory not existing or is otherwise invalid. + * Print error message about an unnamed setting being too long. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param path * The path that cannot be created. * @@ -138,9 +138,35 @@ extern "C" { * @see fake_print_context_wrapped_variables() */ #ifndef _di_fake_build_print_error_setting_too_long_ - extern f_status_t fake_build_print_error_setting_too_long(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern f_status_t fake_build_print_error_setting_too_long(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_build_print_error_setting_too_long_ +/** + * Print error message about the given setting for the given file being too long. + * + * @param print + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * @param name + * The name of the setting. + * @param path + * The path that cannot be created. + * + * @return + * F_none on success. + * F_output_not on success, but no printing is performed. + * + * F_output_not (with error bit) if setting is NULL. + * + * @see fake_print_context_wrapped_variables() + */ +#ifndef _di_fake_build_print_error_setting_value_too_long_ + extern f_status_t fake_build_print_error_setting_value_too_long(fl_print_t * const print, const f_string_static_t name, const f_string_static_t path); +#endif // _di_fake_build_print_error_setting_value_too_long_ + #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fake/c/main/build/print/message.c b/level_3/fake/c/main/build/print/message.c new file mode 100644 index 0000000..b18885f --- /dev/null +++ b/level_3/fake/c/main/build/print/message.c @@ -0,0 +1,22 @@ +#include "../../fake.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _di_fake_build_print_message_skeleton_build_base_ + f_status_t fake_build_print_message_skeleton_build_base(fl_print_t * const print) { + + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_normal_e) return F_output_not; + + fll_print_dynamic_raw(f_string_eol_s, print->to); + fake_print_context_important_simple(print, "Creating base build directories"); + + return F_none; + } +#endif // _di_fake_build_print_message_skeleton_build_base_ + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_3/fake/c/main/build/print/message.h b/level_3/fake/c/main/build/print/message.h new file mode 100644 index 0000000..63f0ffd --- /dev/null +++ b/level_3/fake/c/main/build/print/message.h @@ -0,0 +1,45 @@ +/** + * FLL - Level 3 + * + * Project: Featureless Make + * API Version: 0.7 + * Licenses: lgpl-2.1-or-later + * + * Provides build print message functionality. + * + * This is auto-included and should not need to be explicitly included. + */ +#ifndef _fake_build_print_message_h +#define _fake_build_print_message_h + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Print message when building base skeleton directories. + * + * @param print + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * + * @return + * F_none on success. + * F_output_not on success, but no printing is performed. + * + * F_output_not (with error bit) if setting is NULL. + * + * @see fake_print_context_important_simple() + */ +#ifndef _di_fake_build_print_message_skeleton_build_base_ + extern f_status_t fake_build_print_message_skeleton_build_base(fl_print_t * const print); +#endif // _di_fake_build_print_message_skeleton_build_base_ + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _fake_build_print_message_h diff --git a/level_3/fake/c/main/build/print/verbose.c b/level_3/fake/c/main/build/print/verbose.c index 8fa480b..9a84613 100644 --- a/level_3/fake/c/main/build/print/verbose.c +++ b/level_3/fake/c/main/build/print/verbose.c @@ -5,29 +5,41 @@ extern "C" { #endif #ifndef _di_fake_build_print_verbose_copied_file_ - f_status_t fake_build_print_verbose_copied_file(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t source, const f_string_static_t destination) { + f_status_t fake_build_print_verbose_copied_file(fl_print_t * const print, const f_string_static_t source, const f_string_static_t destination) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_wrapped_variables(setting, print, "Copied file ", source, " to ", destination, f_string_empty_s.string); + fake_print_common_wrapped_variables(print, "Copied file ", source, " to ", destination, f_string_empty_s.string); return F_none; } #endif // _di_fake_build_print_verbose_copied_file_ #ifndef _di_fake_build_print_verbose_create_directory_ - f_status_t fake_build_print_verbose_create_directory(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t directory) { + f_status_t fake_build_print_verbose_create_directory(fl_print_t * const print, const f_string_static_t directory) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_simple_variable(setting, print, "Created directory ", directory); + fake_print_common_simple_variable(print, "Created directory ", directory); return F_none; } #endif // _di_fake_build_print_verbose_create_directory_ +#ifndef _di_fake_build_print_verbose_linked_file_ + f_status_t fake_build_print_verbose_linked_file(fl_print_t * const print, const f_string_static_t from, const f_string_static_t to) { + + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; + + fake_print_common_wrapped_variables(print, "Linked file ", from, " to ", to, 0); + + return F_none; + } +#endif // _di_fake_build_print_verbose_linked_file_ + #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fake/c/main/build/print/verbose.h b/level_3/fake/c/main/build/print/verbose.h index 4b1480a..87cf9e2 100644 --- a/level_3/fake/c/main/build/print/verbose.h +++ b/level_3/fake/c/main/build/print/verbose.h @@ -19,12 +19,12 @@ extern "C" { /** * Print verbose message about copying a file. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param source * The source file path. * @param destination @@ -36,21 +36,21 @@ extern "C" { * * F_output_not (with error bit) if setting is NULL. * - * @see fake_print_wrapped_variables() + * @see fake_print_common_wrapped_variables() */ #ifndef _di_fake_build_print_verbose_copied_file_ - extern f_status_t fake_build_print_verbose_copied_file(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t source, const f_string_static_t destination); + extern f_status_t fake_build_print_verbose_copied_file(fl_print_t * const print, const f_string_static_t source, const f_string_static_t destination); #endif // _di_fake_build_print_verbose_create_directory_ /** * Print verbose message about _di_fake_build_print_verbose_copied_file_ a directory. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param directory * The directory created. * @@ -60,12 +60,38 @@ extern "C" { * * F_output_not (with error bit) if setting is NULL. * - * @see fake_print_simple_variable() + * @see fake_print_common_simple_variable() */ #ifndef _di_fake_build_print_verbose_create_directory_ - extern f_status_t fake_build_print_verbose_create_directory(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t directory); + extern f_status_t fake_build_print_verbose_create_directory(fl_print_t * const print, const f_string_static_t directory); #endif // _di_fake_build_print_verbose_create_directory_ +/** + * Print message about linking a file. + * + * @param print + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * @param from + * The link source. + * @param to + * The link destination. + * + * @return + * F_none on success. + * F_output_not on success, but no printing is performed. + * + * F_output_not (with error bit) if setting is NULL. + * + * @see fake_print_common_wrapped_variables() + */ +#ifndef _di_fake_build_print_verbose_linked_file_ + extern f_status_t fake_build_print_verbose_linked_file(fl_print_t * const print, const f_string_static_t from, const f_string_static_t to); +#endif // _di_fake_build_print_verbose_linked_file_ + #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fake/c/main/build/print/warning.c b/level_3/fake/c/main/build/print/warning.c index d3d089d..23e4160 100644 --- a/level_3/fake/c/main/build/print/warning.c +++ b/level_3/fake/c/main/build/print/warning.c @@ -5,125 +5,125 @@ extern "C" { #endif #ifndef _di_fake_build_print_warning_parameters_contradict_ - f_status_t fake_build_print_warning_parameters_contradict(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t symbol_1, const f_string_static_t name_1, const f_string_static_t symbol_2, const f_string_static_t name_2, const f_string_static_t symbol_3, const f_string_static_t name_3) { + f_status_t fake_build_print_warning_parameters_contradict(fl_print_t * const print, const f_string_static_t symbol_1, const f_string_static_t name_1, const f_string_static_t symbol_2, const f_string_static_t name_2, const f_string_static_t symbol_3, const f_string_static_t name_3) { - if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_context_wrapped_parameters(setting, print, "The parameters ", symbol_1, name_1, " and ", symbol_2, name_2, " contradict, defaulting to ", symbol_3, name_3, 0); + fake_print_context_wrapped_parameters(print, "The parameters ", symbol_1, name_1, " and ", symbol_2, name_2, " contradict, defaulting to ", symbol_3, name_3, 0); return F_none; } #endif // _di_fake_build_print_warning_parameters_contradict_ #ifndef _di_fake_build_print_warning_setting_boolean_may_only_be_ - f_status_t fake_build_print_warning_setting_boolean_may_only_be(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to) { + f_status_t fake_build_print_warning_setting_boolean_may_only_be(fl_print_t * const print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to) { - if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%r%[%QThe setting '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context); - fl_print_format("%[%r%]", print.to, print.notable, name, print.notable); - fl_print_format("%[' in the file '%]", print.to, print.context, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable); - fl_print_format("%[' may be either '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, fake_common_setting_bool_yes_s, print.notable); - fl_print_format("%[' or '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, fake_common_setting_bool_no_s, print.notable); - fl_print_format("%[', defaulting to '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, default_to, print.notable); - fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%r%[%QThe setting '%]", print->to, f_string_eol_s, print->context, print->prefix, print->context); + fl_print_format("%[%r%]", print->to, print->notable, name, print->notable); + fl_print_format("%[' in the file '%]", print->to, print->context, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, path, print->notable); + fl_print_format("%[' may be either '%]", print->to, print->context, print->context); + fl_print_format("%[%r%]", print->to, print->notable, fake_common_setting_bool_yes_s, print->notable); + fl_print_format("%[' or '%]", print->to, print->context, print->context); + fl_print_format("%[%r%]", print->to, print->notable, fake_common_setting_bool_no_s, print->notable); + fl_print_format("%[', defaulting to '%]", print->to, print->context, print->context); + fl_print_format("%[%r%]", print->to, print->notable, default_to, print->notable); + fl_print_format("%['.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_build_print_warning_setting_boolean_may_only_be_ #ifndef _di_fake_build_print_warning_setting_both_cannot_using_language_ - f_status_t fake_build_print_warning_setting_both_cannot_when_language(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name_1, const f_string_static_t name_2, const f_string_static_t language) { + f_status_t fake_build_print_warning_setting_both_cannot_when_language(fl_print_t * const print, const f_string_static_t name_1, const f_string_static_t name_2, const f_string_static_t language) { - if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_context_wrapped_parameters(setting, print, "The build settings ", f_string_empty_s, name_1, " and ", f_string_empty_s, name_2, " cannot both be false when using the language ", f_string_empty_s, language, 0); + fake_print_context_wrapped_parameters(print, "The build settings ", f_string_empty_s, name_1, " and ", f_string_empty_s, name_2, " cannot both be false when using the language ", f_string_empty_s, language, 0); return F_none; } #endif // _di_fake_build_print_warning_setting_both_cannot_using_language_ #ifndef _di_fake_build_print_warning_setting_language_may_only_be_ - f_status_t fake_build_print_warning_setting_language_may_only_be(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to) { + f_status_t fake_build_print_warning_setting_language_may_only_be(fl_print_t * const print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to) { - if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QThe setting '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, name, print.notable); - fl_print_format("%[' in the file '%]", print.to, print.context, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable); - fl_print_format("%[' may only be one of '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, fake_build_language_bash_s, print.notable); - fl_print_format("%[', '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, fake_build_language_c_s, print.notable); - fl_print_format("%[', or '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, fake_build_language_cpp_s, print.notable); - fl_print_format("%[', defaulting to '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, default_to, print.notable); - fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[%QThe setting '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, name, print->notable); + fl_print_format("%[' in the file '%]", print->to, print->context, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, path, print->notable); + fl_print_format("%[' may only be one of '%]", print->to, print->context, print->context); + fl_print_format("%[%r%]", print->to, print->notable, fake_build_language_bash_s, print->notable); + fl_print_format("%[', '%]", print->to, print->context, print->context); + fl_print_format("%[%r%]", print->to, print->notable, fake_build_language_c_s, print->notable); + fl_print_format("%[', or '%]", print->to, print->context, print->context); + fl_print_format("%[%r%]", print->to, print->notable, fake_build_language_cpp_s, print->notable); + fl_print_format("%[', defaulting to '%]", print->to, print->context, print->context); + fl_print_format("%[%r%]", print->to, print->notable, default_to, print->notable); + fl_print_format("%['.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_build_print_warning_setting_language_may_only_be_ #ifndef _di_fake_build_print_warning_setting_required_default_to_ - f_status_t fake_build_print_warning_setting_required_default_to(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to) { + f_status_t fake_build_print_warning_setting_required_default_to(fl_print_t * const print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to) { - if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QThe setting '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, name, print.notable); - fl_print_format("%[' in the file '%]", print.to, print.context, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable); - fl_print_format("%[' is required, defaulting to '%]", print.to, print.context, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, default_to, print.notable); - fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[%QThe setting '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, name, print->notable); + fl_print_format("%[' in the file '%]", print->to, print->context, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, path, print->notable); + fl_print_format("%[' is required, defaulting to '%]", print->to, print->context, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, default_to, print->notable); + fl_print_format("%['.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_build_print_warning_setting_required_default_to_ #ifndef _di_fake_build_print_warning_setting_version_may_only_be_ - f_status_t fake_build_print_warning_setting_version_may_only_be(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to) { - - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; - - f_file_stream_lock(print.to); - - fl_print_format("%[%QThe setting '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context); - fl_print_format("%[%r%]", print.to, print.notable, name, print.notable); - fl_print_format("%[' in the file '%]", print.to, print.context, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable); - fl_print_format("%[' may only be one of '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, fake_build_version_major_s, print.notable); - fl_print_format("%[', '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, fake_build_version_minor_s, print.notable); - fl_print_format("%[', '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, fake_build_version_micro_s, print.notable); - fl_print_format("%[', or '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, fake_build_version_nano_s, print.notable); - fl_print_format("%[', defaulting to '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, default_to, print.notable); - fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s); - - f_file_stream_unlock(print.to); + f_status_t fake_build_print_warning_setting_version_may_only_be(fl_print_t * const print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to) { + + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; + + f_file_stream_lock(print->to); + + fl_print_format("%[%QThe setting '%]", print->to, f_string_eol_s, print->context, print->prefix, print->context); + fl_print_format("%[%r%]", print->to, print->notable, name, print->notable); + fl_print_format("%[' in the file '%]", print->to, print->context, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, path, print->notable); + fl_print_format("%[' may only be one of '%]", print->to, print->context, print->context); + fl_print_format("%[%r%]", print->to, print->notable, fake_build_version_major_s, print->notable); + fl_print_format("%[', '%]", print->to, print->context, print->context); + fl_print_format("%[%r%]", print->to, print->notable, fake_build_version_minor_s, print->notable); + fl_print_format("%[', '%]", print->to, print->context, print->context); + fl_print_format("%[%r%]", print->to, print->notable, fake_build_version_micro_s, print->notable); + fl_print_format("%[', or '%]", print->to, print->context, print->context); + fl_print_format("%[%r%]", print->to, print->notable, fake_build_version_nano_s, print->notable); + fl_print_format("%[', defaulting to '%]", print->to, print->context, print->context); + fl_print_format("%[%r%]", print->to, print->notable, default_to, print->notable); + fl_print_format("%['.%]%r", print->to, print->context, print->context, f_string_eol_s); + + f_file_stream_unlock(print->to); return F_none; } diff --git a/level_3/fake/c/main/build/print/warning.h b/level_3/fake/c/main/build/print/warning.h index 97e0203..c386e7f 100644 --- a/level_3/fake/c/main/build/print/warning.h +++ b/level_3/fake/c/main/build/print/warning.h @@ -19,12 +19,12 @@ extern "C" { /** * Print error message regarding two parameters contradicting and designating a default fallback parameter. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param symbol_1 * The symbol for the first parameter. * @param name_1 @@ -47,18 +47,18 @@ extern "C" { * @see fake_print_context_wrapped_parameters() */ #ifndef _di_fake_build_print_warning_parameters_contradict_ - extern f_status_t fake_build_print_warning_parameters_contradict(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t symbol_1, const f_string_static_t name_1, const f_string_static_t symbol_2, const f_string_static_t name_2, const f_string_static_t symbol_3, const f_string_static_t name_3); + extern f_status_t fake_build_print_warning_parameters_contradict(fl_print_t * const print, const f_string_static_t symbol_1, const f_string_static_t name_1, const f_string_static_t symbol_2, const f_string_static_t name_2, const f_string_static_t symbol_3, const f_string_static_t name_3); #endif // _di_fake_build_print_warning_parameters_contradict_ /** * Print warning message that the setting may only be from a specific set of allowed boolean values. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param name * The name for the setting. * @param path @@ -77,18 +77,18 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_build_print_warning_setting_boolean_may_only_be_ - extern f_status_t fake_build_print_warning_setting_boolean_may_only_be(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to); + extern f_status_t fake_build_print_warning_setting_boolean_may_only_be(fl_print_t * const print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to); #endif // _di_fake_build_print_warning_setting_boolean_may_only_be_ /** * Print warning message regarding two parameters being both false when using a given language. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param name_1 * The name for the first setting. * @param name_2 @@ -105,18 +105,18 @@ extern "C" { * @see fake_print_context_wrapped_parameters() */ #ifndef _di_fake_build_print_error_settings_both_cannot_using_language_ - extern f_status_t fake_build_print_warning_setting_both_cannot_when_language(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name_1, const f_string_static_t name_2, const f_string_static_t name_3); + extern f_status_t fake_build_print_warning_setting_both_cannot_when_language(fl_print_t * const print, const f_string_static_t name_1, const f_string_static_t name_2, const f_string_static_t name_3); #endif // _di_fake_build_print_error_settings_both_cannot_using_language_ /** * Print warning message that the setting may only be from a specific set of allowed language values. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param name * The name for the setting. * @param path @@ -133,18 +133,18 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_build_print_warning_setting_language_may_only_be_ - extern f_status_t fake_build_print_warning_setting_language_may_only_be(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to); + extern f_status_t fake_build_print_warning_setting_language_may_only_be(fl_print_t * const print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to); #endif // _di_fake_build_print_warning_setting_language_may_only_be_ /** * Print warning message regarding two parameters being both false when using a given language. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param name_1 * The name for the first setting. * @param name_2 @@ -159,18 +159,18 @@ extern "C" { * @see fake_print_context_wrapped_parameters() */ #ifndef _di_fake_build_print_warning_setting_required_default_to_ - f_status_t fake_build_print_warning_setting_required_default_to(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to); + f_status_t fake_build_print_warning_setting_required_default_to(fl_print_t * const print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to); #endif // _di_fake_build_print_warning_setting_required_default_to_ /** * Print warning message that the setting may only be from a specific set of allowed version values. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param name * The name for the setting. * @param path @@ -187,7 +187,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_build_print_warning_setting_version_may_only_be_ - extern f_status_t fake_build_print_warning_setting_version_may_only_be(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to); + extern f_status_t fake_build_print_warning_setting_version_may_only_be(fl_print_t * const print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to); #endif // _di_fake_build_print_warning_setting_version_may_only_be_ #ifdef __cplusplus diff --git a/level_3/fake/c/main/build/program.c b/level_3/fake/c/main/build/program.c index f96782a..a28c618 100644 --- a/level_3/fake/c/main/build/program.c +++ b/level_3/fake/c/main/build/program.c @@ -7,9 +7,9 @@ extern "C" { #ifndef _di_fake_build_program_script_ int fake_build_program_script(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) { - if (!data || !data->program || !data->setting || !data_build) return 0; - if (data->setting->state.status == F_child) return data->program->child; - if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; + if (!data || !data->main || !data_build) return 0; + if (data->main->setting.state.status == F_child) return data->main->program.child; + if (F_status_is_error(data->main->setting.state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; fake_build_touch(data, file_stage); @@ -20,19 +20,19 @@ extern "C" { #ifndef _di_fake_build_program_shared_ int fake_build_program_shared(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) { - if (!data || !data->program || !data->setting || !data_build) return 0; - if (data->setting->state.status == F_child) return data->program->child; - if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; + if (!data || !data->main || !data_build) return 0; + if (data->main->setting.state.status == F_child) return data->main->program.child; + if (F_status_is_error(data->main->setting.state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; if (!data_build->setting.build_sources_program.used && !data_build->setting.build_sources_program_shared.used) return 0; - fake_build_print_compile_program_shared(data->setting, data->program->message); + fake_build_print_compile_program_shared(&data->main->program.message); f_string_dynamics_t arguments = f_string_dynamics_t_initialize; fake_build_objects_add(data, data_build, &data->path_build_objects_shared, &data_build->setting.build_objects_program, &data_build->setting.build_objects_program_shared, &arguments); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_build_objects_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_build_objects_add)); f_string_dynamics_resize(0, &arguments); @@ -41,15 +41,15 @@ extern "C" { fake_build_sources_add(data, data_build, &data_build->setting.build_sources_program, &data_build->setting.build_sources_program_shared, &arguments); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_build_sources_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_build_sources_add)); f_string_dynamics_resize(0, &arguments); return 0; } - if (F_status_is_error_not(data->setting->state.status)) { + if (F_status_is_error_not(data->main->setting.state.status)) { f_string_static_t parameter_file_name_path = f_string_static_t_initialize; parameter_file_name_path.used = data->path_build_programs_shared.used + data_build->setting.build_name.used; @@ -69,13 +69,13 @@ extern "C" { if (!values[i].used) continue; - data->setting->state.status = fll_execute_arguments_add(values[i], &arguments); - if (F_status_is_error(data->setting->state.status)) break; + data->main->setting.state.status = fll_execute_arguments_add(values[i], &arguments); + if (F_status_is_error(data->main->setting.state.status)) break; } // for } // If project-specific library sources exist, then the -lbuild_name needs to be added to the arguments. - if (F_status_is_error_not(data->setting->state.status) && data_build->setting.build_sources_library.used) { + if (F_status_is_error_not(data->main->setting.state.status) && data_build->setting.build_sources_library.used) { f_string_static_t link_project_library = f_string_static_t_initialize; link_project_library.used = fake_build_parameter_library_link_file_s.used + data_build->setting.build_name.used; @@ -86,13 +86,13 @@ extern "C" { memcpy(link_project_library_string, fake_build_parameter_library_link_file_s.string, sizeof(f_char_t) * fake_build_parameter_library_link_file_s.used); memcpy(link_project_library_string + fake_build_parameter_library_link_file_s.used, data_build->setting.build_name.string, sizeof(f_char_t) * data_build->setting.build_name.used); - data->setting->state.status = fll_execute_arguments_add(link_project_library, &arguments); + data->main->setting.state.status = fll_execute_arguments_add(link_project_library, &arguments); } fake_build_arguments_standard_add(data, data_build, F_true, fake_build_type_program_e, &arguments); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fll_execute_arguments_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fll_execute_arguments_add)); macro_f_string_dynamics_t_delete_simple(arguments); @@ -103,7 +103,7 @@ extern "C" { macro_f_string_dynamics_t_delete_simple(arguments); - if (F_status_is_error_not(data->setting->state.status) && data->setting->state.status != F_child) { + if (F_status_is_error_not(data->main->setting.state.status) && data->main->setting.state.status != F_child) { fake_build_touch(data, file_stage); } @@ -114,19 +114,19 @@ extern "C" { #ifndef _di_fake_build_program_static_ int fake_build_program_static(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) { - if (!data || !data->program || !data->setting || !data_build) return 0; - if (data->setting->state.status == F_child) return data->program->child; - if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; + if (!data || !data->main || !data_build) return 0; + if (data->main->setting.state.status == F_child) return data->main->program.child; + if (F_status_is_error(data->main->setting.state.status) || f_file_exists(file_stage, F_true) == F_true) return 0; if (!data_build->setting.build_sources_program.used && !data_build->setting.build_sources_program_static.used) return 0; - fake_build_print_compile_program_static(data->setting, data->program->message); + fake_build_print_compile_program_static(&data->main->program.message); f_string_dynamics_t arguments = f_string_dynamics_t_initialize; fake_build_objects_add(data, data_build, &data->path_build_objects_static, &data_build->setting.build_objects_program, &data_build->setting.build_objects_program_static, &arguments); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_build_objects_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_build_objects_add)); f_string_dynamics_resize(0, &arguments); @@ -135,15 +135,15 @@ extern "C" { fake_build_sources_add(data, data_build, &data_build->setting.build_sources_program, &data_build->setting.build_sources_program_static, &arguments); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_build_sources_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_build_sources_add)); f_string_dynamics_resize(0, &arguments); return 0; } - if (F_status_is_error_not(data->setting->state.status)) { + if (F_status_is_error_not(data->main->setting.state.status)) { f_string_static_t source_library = f_string_static_t_initialize; source_library.used = data->path_build_libraries_static.used + fake_build_parameter_library_name_prefix_s.used + data_build->setting.build_name.used + fake_build_parameter_library_name_suffix_static_s.used; @@ -188,15 +188,15 @@ extern "C" { if (!values[i].used) continue; - data->setting->state.status = fll_execute_arguments_add(values[i], &arguments); - if (F_status_is_error(data->setting->state.status)) break; + data->main->setting.state.status = fll_execute_arguments_add(values[i], &arguments); + if (F_status_is_error(data->main->setting.state.status)) break; } // for } fake_build_arguments_standard_add(data, data_build, F_false, fake_build_type_program_e, &arguments); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fll_execute_arguments_add)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fll_execute_arguments_add)); macro_f_string_dynamics_t_delete_simple(arguments); @@ -207,7 +207,7 @@ extern "C" { macro_f_string_dynamics_t_delete_simple(arguments); - if (F_status_is_error_not(data->setting->state.status) && data->setting->state.status != F_child) { + if (F_status_is_error_not(data->main->setting.state.status) && data->main->setting.state.status != F_child) { fake_build_touch(data, file_stage); } diff --git a/level_3/fake/c/main/build/program.h b/level_3/fake/c/main/build/program.h index d36ad0b..0fa8fa2 100644 --- a/level_3/fake/c/main/build/program.h +++ b/level_3/fake/c/main/build/program.h @@ -28,7 +28,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: fake_build_touch(). @@ -55,7 +55,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: fll_execute_arguments_add(). @@ -92,7 +92,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: fll_execute_arguments_add(). diff --git a/level_3/fake/c/main/build/skeleton.c b/level_3/fake/c/main/build/skeleton.c index fbf8a65..2cf47c5 100644 --- a/level_3/fake/c/main/build/skeleton.c +++ b/level_3/fake/c/main/build/skeleton.c @@ -7,8 +7,8 @@ extern "C" { #ifndef _di_fake_build_skeleton_ void fake_build_skeleton(fake_data_t * const data, fake_build_data_t * const data_build, const mode_t mode, const f_string_static_t file_stage) { - if (!data || !data->program || !data->setting || !data_build) return; - if (F_status_is_error(data->setting->state.status) || data->setting->state.status == F_child) return; + if (!data || !data->main || !data_build) return; + if (F_status_is_error(data->main->setting.state.status) || data->main->setting.state.status == F_child) return; if (f_file_exists(file_stage, F_true) == F_true) return; f_string_static_t path_headers = f_string_static_t_initialize; @@ -49,7 +49,7 @@ extern "C" { path_headers, }; - fake_build_print_skeleton_build_base(data->setting, data->program->message); + fake_build_print_message_skeleton_build_base(&data->main->program.message); bool created = F_false; f_array_length_t j = 0; @@ -64,11 +64,11 @@ extern "C" { if (f_path_separator_s.used && directorys[i].string[j] != f_path_separator_s.string[0]) continue; - if (!((++data->program->signal_check) % fake_signal_check_d)) { - if (fll_program_standard_signal_received(data->program)) { - fll_program_print_signal_received(data->program->warning, data->program->signal_received); + if (!((++data->main->program.signal_check) % fake_signal_check_d)) { + if (fll_program_standard_signal_received(&data->main->program)) { + fll_program_print_signal_received(data->main->program.warning, data->main->program.signal_received); - data->setting->state.status = F_status_set_error(F_interrupt); + data->main->setting.state.status = F_status_set_error(F_interrupt); return; } @@ -76,58 +76,58 @@ extern "C" { directorys[i].string[j] = 0; // @fixme this is an error because static strings might be in use. - data->setting->state.status = f_directory_exists(directorys[i]); + data->main->setting.state.status = f_directory_exists(directorys[i]); - if (F_status_is_error(data->setting->state.status) || data->setting->state.status == F_false) { + if (F_status_is_error(data->main->setting.state.status) || data->main->setting.state.status == F_false) { directorys[i].string[j] = f_path_separator_s.string[0]; break; } - if (data->setting->state.status == F_file_found_not) { - data->setting->state.status = f_directory_create(directorys[i], mode); + if (data->main->setting.state.status == F_file_found_not) { + data->main->setting.state.status = f_directory_create(directorys[i], mode); created = F_true; } directorys[i].string[j] = f_path_separator_s.string[0]; - if (F_status_is_error(data->setting->state.status)) break; + if (F_status_is_error(data->main->setting.state.status)) break; } // for - if (F_status_is_fine(data->setting->state.status) && directorys[i].used && f_path_separator_s.used && directorys[i].string[directorys[i].used - 1] != f_path_separator_s.string[0]) { - data->setting->state.status = f_directory_exists(directorys[i]); + if (F_status_is_fine(data->main->setting.state.status) && directorys[i].used && f_path_separator_s.used && directorys[i].string[directorys[i].used - 1] != f_path_separator_s.string[0]) { + data->main->setting.state.status = f_directory_exists(directorys[i]); - if (F_status_is_error_not(data->setting->state.status)) { - if (data->setting->state.status == F_false) { - data->setting->state.status = f_directory_create(directorys[i], mode); + if (F_status_is_error_not(data->main->setting.state.status)) { + if (data->main->setting.state.status == F_false) { + data->main->setting.state.status = f_directory_create(directorys[i], mode); created = F_true; } } } - if (F_status_is_error(data->setting->state.status)) { - if (F_status_set_fine(data->setting->state.status) == F_file_found) { - data->setting->state.status = F_none; + if (F_status_is_error(data->main->setting.state.status)) { + if (F_status_set_fine(data->main->setting.state.status) == F_file_found) { + data->main->setting.state.status = F_none; continue; } - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_directory_create), directorys[i], f_file_operation_create_s, fll_error_file_type_directory_e); + fake_print_error_file(&data->main->program.error, macro_fake_f(f_directory_create), directorys[i], f_file_operation_create_s, fll_error_file_type_directory_e); return; } if (created) { - fake_build_print_verbose_create_directory(data->setting, data->program->message, directorys[i]); + fake_build_print_verbose_create_directory(&data->main->program.message, directorys[i]); } } // for fake_build_touch(data, file_stage); - if (F_status_is_error_not(data->setting->state.status)) { - data->setting->state.status = F_none; + if (F_status_is_error_not(data->main->setting.state.status)) { + data->main->setting.state.status = F_none; } } #endif // _di_fake_build_skeleton_ diff --git a/level_3/fake/c/main/build/skeleton.h b/level_3/fake/c/main/build/skeleton.h index 8816ce1..8cf47b1 100644 --- a/level_3/fake/c/main/build/skeleton.h +++ b/level_3/fake/c/main/build/skeleton.h @@ -22,7 +22,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * F_interrupt (with error bit) on interrupt signal received. diff --git a/level_3/fake/c/main/clean.c b/level_3/fake/c/main/clean.c index 22c66f5..815b97c 100644 --- a/level_3/fake/c/main/clean.c +++ b/level_3/fake/c/main/clean.c @@ -7,40 +7,30 @@ extern "C" { #ifndef _di_fake_clean_operate_ void fake_clean_operate(fake_data_t * const data) { - if (!data || !data->program || !data->setting) return; + if (!data || !data->main) return; - if (data->program->message.verbosity != f_console_verbosity_quiet_e && data->program->message.verbosity != f_console_verbosity_error_e) { - f_file_stream_lock(data->program->message.to); + fake_print_message_delete_all_files(&data->main->program.message); - fl_print_format("%[Deleting all files within build directory '%]", data->program->message.to, data->program->context.set.important, data->program->context.set.important); - fl_print_format("%[%Q%]", data->program->message.to, data->program->context.set.notable, data->setting->build, data->program->context.set.notable); - fl_print_format("%['.%]%r", data->program->message.to, data->program->context.set.important, data->program->context.set.important, f_string_eol_s); + data->main->setting.state.status = F_none; - f_file_stream_unlock(data->program->message.to); - } - - data->setting->state.status = F_none; - - if (data->program->error.verbosity >= f_console_verbosity_verbose_e) { - data->setting->state.status = f_directory_remove_custom(data->setting->build, F_directory_max_descriptors_d, F_true, fake_clean_remove_recursively_verbosely); + if (data->main->program.error.verbosity >= f_console_verbosity_verbose_e) { + data->main->setting.state.status = f_directory_remove_custom(data->main->setting.build, F_directory_max_descriptors_d, F_true, fake_clean_remove_recursively_verbosely); } else { - data->setting->state.status = f_directory_remove(data->setting->build, F_directory_max_descriptors_d, F_true); + data->main->setting.state.status = f_directory_remove(data->main->setting.build, F_directory_max_descriptors_d, F_true); } - if (F_status_set_fine(data->setting->state.status) == F_file_found_not || F_status_set_fine(data->setting->state.status) == F_directory) { - if (data->program->error.verbosity >= f_console_verbosity_verbose_e) { - fll_print_format("The build directory '%[%Q%]' does not exist.%r", data->program->warning.to, data->program->context.set.notable, data->setting->build, data->program->context.set.notable, f_string_eol_s); - } + if (F_status_set_fine(data->main->setting.state.status) == F_file_found_not || F_status_set_fine(data->main->setting.state.status) == F_directory) { + fake_print_warning_build_directory_not_directory(&data->main->program.warning, data->main->setting.build); - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } - if (F_status_is_error(data->setting->state.status)) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_directory_remove), data->setting->build, f_file_operation_delete_s, fll_error_file_type_directory_e); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_directory_remove), data->main->setting.build, f_file_operation_delete_s, fll_error_file_type_directory_e); } else { - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } } #endif // _di_fake_clean_operate_ diff --git a/level_3/fake/c/main/clean.h b/level_3/fake/c/main/clean.h index 29fbb77..ee3a16e 100644 --- a/level_3/fake/c/main/clean.h +++ b/level_3/fake/c/main/clean.h @@ -22,7 +22,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * F_interrupt (with error bit) on interrupt signal received. diff --git a/level_3/fake/c/main/common.c b/level_3/fake/c/main/common.c index 1893598..a2bdff1 100644 --- a/level_3/fake/c/main/common.c +++ b/level_3/fake/c/main/common.c @@ -16,8 +16,7 @@ extern "C" { { const uint16_t step_original = main->setting.state.step_small; fake_data_t data = fake_data_t_initialize; - data.program = &main->program; - data.setting = &main->setting; + data.main = main; main->setting.state.step_small = 4; @@ -265,7 +264,7 @@ extern "C" { fll_print_dynamic_raw(f_string_eol_s, main->program.message.to); } - if (fake_print_error_fallback(&main->setting, main->program.error, macro_fake_f(f_utf_is_word_dash_plus)) == F_false) { + if (fake_print_error_fallback(&main->program.error, macro_fake_f(f_utf_is_word_dash_plus)) == F_false) { fll_program_print_error_parameter_process(main->program.error, f_console_symbol_long_normal_s, names[i]); } @@ -279,7 +278,7 @@ extern "C" { fll_print_dynamic_raw(f_string_eol_s, main->program.message.to); } - fake_print_error_parameter_not_word(&main->setting, main->program.error, f_console_symbol_long_normal_s, names[i], main->program.parameters.arguments.array[index]); + fake_print_error_parameter_not_word(&main->program.error, f_console_symbol_long_normal_s, names[i], main->program.parameters.arguments.array[index]); return; } @@ -295,7 +294,7 @@ extern "C" { } if (main->program.error.verbosity > f_console_verbosity_quiet_e) { - if (fake_print_error_fallback(&main->setting, main->program.error, macro_fake_f(f_path_directory_cleanup)) == F_false) { + if (fake_print_error_fallback(&main->program.error, macro_fake_f(f_path_directory_cleanup)) == F_false) { fll_program_print_error_parameter_process(main->program.error, f_console_symbol_long_normal_s, names[i]); } } @@ -332,7 +331,7 @@ extern "C" { fll_print_dynamic_raw(f_string_eol_s, main->program.message.to); } - fake_print_error_parameter_not_empty(&main->setting, main->program.error, f_console_symbol_long_normal_s, names[i], main->program.parameters.arguments.array[index]); + fake_print_error_parameter_not_empty(&main->program.error, f_console_symbol_long_normal_s, names[i], main->program.parameters.arguments.array[index]); return; } @@ -407,7 +406,7 @@ extern "C" { } if (main->program.error.verbosity > f_console_verbosity_quiet_e) { - if (fake_print_error_fallback(&main->setting, main->program.error, macro_fake_f(fll_program_parameter_additional_rip)) == F_false) { + if (fake_print_error_fallback(&main->program.error, macro_fake_f(fll_program_parameter_additional_rip)) == F_false) { fll_program_print_error_parameter_process(main->program.error, f_console_symbol_long_normal_s, names[i]); } } @@ -428,7 +427,7 @@ extern "C" { } // @todo fix this to print an error about the actual invalid character so that it can be investigated. - if (fake_print_error_fallback(&main->setting, main->program.error, macro_fake_f(f_utf_is_word_dash_plus)) == F_false) { + if (fake_print_error_fallback(&main->program.error, macro_fake_f(f_utf_is_word_dash_plus)) == F_false) { fll_program_print_error_parameter_process(main->program.error, f_console_symbol_long_normal_s, names[i]); } @@ -442,7 +441,7 @@ extern "C" { fll_print_dynamic_raw(f_string_eol_s, main->program.message.to); } - fake_print_error_parameter_not_word(&main->setting, main->program.error, f_console_symbol_long_normal_s, names[i], main->program.parameters.arguments.array[i]); + fake_print_error_parameter_not_word(&main->program.error, f_console_symbol_long_normal_s, names[i], main->program.parameters.arguments.array[i]); return; } @@ -491,38 +490,38 @@ extern "C" { f_console_parameters_t * const parameters = (f_console_parameters_t * const) void_parameters; fake_data_t * const data = (fake_data_t * const) void_data; - if (!data->setting) return; + if (!data->main) return; - parameter_state->state->status = f_uint8s_increase(parameter_state->state->step_small, &data->setting->operations); + parameter_state->state->status = f_uint8s_increase(parameter_state->state->step_small, &data->main->setting.operations); if (F_status_is_error(parameter_state->state->status)) { - fake_print_error(&data->program->error, macro_fake_f(f_uint8s_increase)); + fake_print_error(&data->main->program.error, macro_fake_f(f_uint8s_increase)); return; } switch (parameter_state->at) { case fake_parameter_operation_build_e: - data->setting->operations.array[data->setting->operations.used++] = fake_operation_build_e; - data->setting->flag |= fake_main_flag_operation_build_e; + data->main->setting.operations.array[data->main->setting.operations.used++] = fake_operation_build_e; + data->main->setting.flag |= fake_main_flag_operation_build_e; break; case fake_parameter_operation_clean_e: - data->setting->operations.array[data->setting->operations.used++] = fake_operation_clean_e; - data->setting->flag |= fake_main_flag_operation_clean_e; + data->main->setting.operations.array[data->main->setting.operations.used++] = fake_operation_clean_e; + data->main->setting.flag |= fake_main_flag_operation_clean_e; break; case fake_parameter_operation_make_e: - data->setting->operations.array[data->setting->operations.used++] = fake_operation_make_e; - data->setting->flag |= fake_main_flag_operation_make_e; + data->main->setting.operations.array[data->main->setting.operations.used++] = fake_operation_make_e; + data->main->setting.flag |= fake_main_flag_operation_make_e; break; case fake_parameter_operation_skeleton_e: - data->setting->operations.array[data->setting->operations.used++] = fake_operation_skeleton_e; - data->setting->flag |= fake_main_flag_operation_skeleton_e; + data->main->setting.operations.array[data->main->setting.operations.used++] = fake_operation_skeleton_e; + data->main->setting.flag |= fake_main_flag_operation_skeleton_e; break; diff --git a/level_3/fake/c/main/common/type.h b/level_3/fake/c/main/common/type.h index 91027a7..b2a503e 100644 --- a/level_3/fake/c/main/common/type.h +++ b/level_3/fake/c/main/common/type.h @@ -140,9 +140,6 @@ extern "C" { * * operation: A code representing the currrent operation. * - * program: The main program data. - * setting: The settings data. - * * path_build: The build path. * path_build_documentation: The build documentation path. * path_build_documents: The build documents path. @@ -188,14 +185,13 @@ extern "C" { * file_data_build_settings: The settings build file data. * * file_documents_readme: The documents readme file data. + * + * main: The main program and settings data. */ #ifndef _di_fake_data_t_ typedef struct { uint8_t operation; - fll_program_data_t *program; - fake_setting_t *setting; - f_string_dynamic_t path_build; f_string_dynamic_t path_build_documentation; f_string_dynamic_t path_build_documents; @@ -241,13 +237,13 @@ extern "C" { f_string_dynamic_t file_data_build_settings; f_string_dynamic_t file_documents_readme; + + fake_main_t *main; } fake_data_t; #define fake_data_t_initialize \ { \ 0, \ - 0, \ - 0, \ f_string_dynamic_t_initialize, \ f_string_dynamic_t_initialize, \ f_string_dynamic_t_initialize, \ @@ -287,6 +283,7 @@ extern "C" { f_string_dynamic_t_initialize, \ f_string_dynamic_t_initialize, \ f_string_dynamic_t_initialize, \ + 0, \ } #endif // _di_fake_main_t_ @@ -723,7 +720,6 @@ extern "C" { * parameter_option: A set of parameters available for IKI option substitution. * parameter_value: A set of parameters available for IKI value substitution. * path: The path to the Fakefile. - * error: The error output print structure. * fakefile: The loaded Fakefile. * buffer: A buffer used during processing. * cache_1: An additional buffer for caching purposes. @@ -732,9 +728,8 @@ extern "C" { * cache_arguments: A cache for expanded arguments. * cache_iki: A cache for IKI data. * id_main: Index of the "main" Section. - * main: The main program data. + * main: The program and settings data. * data: The Fake make program data. - * setting: The settings data. */ #ifndef _di_fake_make_data_t_ typedef struct { @@ -761,9 +756,8 @@ extern "C" { f_array_length_t id_main; - fll_program_data_t *program; + fake_main_t *main; fake_data_t *data; - fake_setting_t *setting; } fake_make_data_t; #define fake_make_data_t_initialize { \ @@ -785,7 +779,6 @@ extern "C" { 0, \ 0, \ 0, \ - 0, \ } #endif // _di_fake_make_data_t_ @@ -831,7 +824,7 @@ extern "C" { * @param data * The program data. * - * This does not alter data.settings.state.status. + * This does not alter data.main.settings.state.status. */ #ifndef _di_fake_data_delete_ extern void fake_data_delete(fake_data_t * const data); @@ -843,7 +836,7 @@ extern "C" { * @param data_make * The make data. * - * This does not alter data_make.setting.state.status. + * This does not alter data_make.main.setting.state.status. */ #ifndef _di_fake_make_data_delete_ extern void fake_make_data_delete(fake_make_data_t * const data_make); @@ -855,7 +848,7 @@ extern "C" { * @param setting_make * The make setting data. * - * This does not alter data_make.setting.state.status. + * This does not alter data_make.main.setting.state.status. */ #ifndef _di_fake_make_setting_delete_ extern void fake_make_setting_delete(fake_make_setting_t * const setting_make); diff --git a/level_3/fake/c/main/fake.c b/level_3/fake/c/main/fake.c index 0716d4c..c0503d3 100644 --- a/level_3/fake/c/main/fake.c +++ b/level_3/fake/c/main/fake.c @@ -24,7 +24,7 @@ extern "C" { main->setting.state.status = F_none; if (main->setting.flag & fake_main_flag_help_e) { - fake_print_help(&main->setting, main->program.message); + fake_print_message_help(&main->program.message); if ((main->setting.flag & fake_main_flag_print_last_e) && main->program.message.verbosity > f_console_verbosity_error_e) { fll_print_dynamic_raw(f_string_eol_s, main->program.message.to); @@ -56,7 +56,7 @@ extern "C" { if ((main->setting.flag & fake_main_flag_operation_build_e) && (main->setting.flag & fake_main_flag_operation_make_e)) { main->setting.state.status = F_status_set_error(F_parameter); - fake_print_error_parameter_operation_not_with(&main->setting, main->program.error, fake_other_operation_build_s, fake_other_operation_make_s); + fake_print_error_parameter_operation_not_with(&main->program.error, fake_other_operation_build_s, fake_other_operation_make_s); if ((main->setting.flag & fake_main_flag_print_last_e) && main->program.message.verbosity > f_console_verbosity_error_e) { fll_print_dynamic_raw(f_string_eol_s, main->program.message.to); @@ -66,8 +66,7 @@ extern "C" { } fake_data_t data = fake_data_t_initialize; - data.program = &main->program; - data.setting = &main->setting; + data.main = main; fake_path_generate(&data); @@ -131,8 +130,7 @@ extern "C" { if (F_status_is_error(main->setting.state.status)) { fake_print_error_file( - &main->setting, - main->program.error, + &main->program.error, macro_fake_f(f_file_is), (main->setting.operations.array[i] == fake_operation_build_e) ? data.file_data_build_settings @@ -239,17 +237,17 @@ extern "C" { if (F_status_is_error(main->setting.state.status)) { if (F_status_set_fine(main->setting.state.status) == F_interrupt) { - fake_print_operation_cancelled(&main->setting, main->program.message, data.operation); + fake_print_operation_cancelled(&main->program.message, data.operation); } else { - fake_print_error_failure_operation(&main->setting, main->program.error, data.operation); + fake_print_error_failure_operation(&main->program.error, data.operation); } } else if (main->setting.state.status != F_child) { if (F_status_is_error_not(main->setting.state.status)) { main->setting.state.status = F_none; - fake_print_operation_all_complete(&main->setting, main->program.message); + fake_print_operation_all_complete(&main->program.message); } } @@ -264,25 +262,25 @@ extern "C" { #ifndef _di_fake_execute_ int fake_execute(fake_data_t * const data, const f_string_maps_t environment, const f_string_static_t program, const f_string_statics_t arguments) { - if (!data || !data->program || !data->setting) return 1; - if (F_status_is_error(data->setting->state.status)) return 1; + if (!data || !data->main) return 1; + if (F_status_is_error(data->main->setting.state.status)) return 1; - if (data->program->error.verbosity >= f_console_verbosity_verbose_e) { - f_file_stream_lock(data->program->message.to); + if (data->main->program.error.verbosity >= f_console_verbosity_verbose_e) { + f_file_stream_lock(data->main->program.message.to); - f_print_dynamic(program, data->program->message.to); + f_print_dynamic(program, data->main->program.message.to); for (f_array_length_t i = 0; i < arguments.used; ++i) { if (!arguments.array[i].used) continue; - fl_print_format(" %Q", data->program->message.to, arguments.array[i]); + fl_print_format(" %Q", data->main->program.message.to, arguments.array[i]); } // for - f_print_dynamic_raw(f_string_eol_s, data->program->message.to); + f_print_dynamic_raw(f_string_eol_s, data->main->program.message.to); - f_file_stream_flush(data->program->message.to); - f_file_stream_unlock(data->program->message.to); + f_file_stream_flush(data->main->program.message.to); + f_file_stream_unlock(data->main->program.message.to); } int return_code = 0; @@ -296,35 +294,35 @@ extern "C" { fl_execute_parameter_t parameter = macro_fl_execute_parameter_t_initialize(0, 0, &environment, &signals, 0); - data->setting->state.status = fll_execute_program(program, arguments, ¶meter, 0, (void *) &return_code); + data->main->setting.state.status = fll_execute_program(program, arguments, ¶meter, 0, (void *) &return_code); - if (!((++data->program->signal_check) % fake_signal_check_d)) { - if (fll_program_standard_signal_received(data->program)) { - fll_program_print_signal_received(data->program->warning, data->program->signal_received); + if (!((++data->main->program.signal_check) % fake_signal_check_d)) { + if (fll_program_standard_signal_received(&data->main->program)) { + fll_program_print_signal_received(data->main->program.warning, data->main->program.signal_received); - data->setting->state.status = F_status_set_error(F_interrupt); + data->main->setting.state.status = F_status_set_error(F_interrupt); return 0; } } - if (data->setting->state.status == F_child) return return_code; + if (data->main->setting.state.status == F_child) return return_code; } else { - data->setting->state.status = F_status_set_error(F_file_found_not); + data->main->setting.state.status = F_status_set_error(F_file_found_not); } if (return_code != 0) { - data->setting->state.status = F_status_set_error(F_failure); + data->main->setting.state.status = F_status_set_error(F_failure); } - else if (F_status_is_error(data->setting->state.status)) { + else if (F_status_is_error(data->main->setting.state.status)) { return_code = 1; - if (F_status_set_fine(data->setting->state.status) == F_file_found_not) { - fake_print_error_execute_program_not_found(data->setting, data->program->error, program); + if (F_status_set_fine(data->main->setting.state.status) == F_file_found_not) { + fake_print_error_execute_program_not_found(&data->main->program.error, program); } else { - fake_print_error(&data->program->error, macro_fake_f(fll_execute_program)); + fake_print_error(&data->main->program.error, macro_fake_f(fll_execute_program)); } } @@ -335,32 +333,32 @@ extern "C" { #ifndef _di_fake_file_buffer_ void fake_file_buffer(fake_data_t * const data, const f_string_static_t path_file, const bool required, f_string_dynamic_t * const buffer) { - if (!((++data->program->signal_check) % fake_signal_check_d)) { - if (fll_program_standard_signal_received(data->program)) { - fll_program_print_signal_received(data->program->warning, data->program->signal_received); + if (!((++data->main->program.signal_check) % fake_signal_check_d)) { + if (fll_program_standard_signal_received(&data->main->program)) { + fll_program_print_signal_received(data->main->program.warning, data->main->program.signal_received); - data->setting->state.status = F_status_set_error(F_interrupt); + data->main->setting.state.status = F_status_set_error(F_interrupt); return; } } - data->setting->state.status = f_file_exists(path_file, F_true); + data->main->setting.state.status = f_file_exists(path_file, F_true); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_exists), path_file, f_file_operation_find_s, fll_error_file_type_file_e); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_exists), path_file, f_file_operation_find_s, fll_error_file_type_file_e); return; } - if (data->setting->state.status == F_true) { + if (data->main->setting.state.status == F_true) { { off_t size_file = 0; - data->setting->state.status = f_file_size(path_file, F_true, &size_file); + data->main->setting.state.status = f_file_size(path_file, F_true, &size_file); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_size), path_file, f_file_operation_read_s, fll_error_file_type_file_e); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_size), path_file, f_file_operation_read_s, fll_error_file_type_file_e); return; } @@ -369,46 +367,46 @@ extern "C" { size_file = fake_max_initial_buffer_d; } - data->setting->state.status = f_string_dynamic_increase_by(size_file, buffer); + data->main->setting.state.status = f_string_dynamic_increase_by(size_file, buffer); - if (F_status_is_error(data->setting->state.status)) { + if (F_status_is_error(data->main->setting.state.status)) { const f_string_static_t message = macro_f_string_static_t_initialize("allocate buffer size for", 0, 24); - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_string_dynamic_increase_by), path_file, message, fll_error_file_type_file_e); + fake_print_error_file(&data->main->program.error, macro_fake_f(f_string_dynamic_increase_by), path_file, message, fll_error_file_type_file_e); return; } - data->setting->state.status = F_true; + data->main->setting.state.status = F_true; } f_file_t file = f_file_t_initialize; - data->setting->state.status = f_file_stream_open(path_file, f_string_empty_s, &file); + data->main->setting.state.status = f_file_stream_open(path_file, f_string_empty_s, &file); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_stream_open), path_file, f_file_operation_open_s, fll_error_file_type_file_e); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_stream_open), path_file, f_file_operation_open_s, fll_error_file_type_file_e); return; } - data->setting->state.status = f_file_stream_read(file, buffer); + data->main->setting.state.status = f_file_stream_read(file, buffer); f_file_stream_flush(file); f_file_stream_close(&file); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_read), path_file, f_file_operation_read_s, fll_error_file_type_file_e); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_read), path_file, f_file_operation_read_s, fll_error_file_type_file_e); } else { - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } } else { if (required) { - data->setting->state.status = F_status_set_error(F_file_found_not); + data->main->setting.state.status = F_status_set_error(F_file_found_not); - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_exists), path_file, f_file_operation_find_s, fll_error_file_type_file_e); + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_exists), path_file, f_file_operation_find_s, fll_error_file_type_file_e); } } } @@ -417,7 +415,7 @@ extern "C" { #ifndef _di_fake_pipe_buffer_ void fake_pipe_buffer(fake_data_t * const data, f_string_dynamic_t * const buffer) { - if (!data || !data->program || !data->setting || !buffer) return; + if (!data || !data->main || !buffer) return; f_file_t file = f_file_t_initialize; @@ -425,11 +423,11 @@ extern "C" { file.stream = F_type_input_d; file.size_read = fake_allocation_pipe_d; - data->setting->state.status = f_string_dynamic_increase_by(fake_max_initial_buffer_d, buffer); + data->main->setting.state.status = f_string_dynamic_increase_by(fake_max_initial_buffer_d, buffer); - if (F_status_is_error(data->setting->state.status)) { + if (F_status_is_error(data->main->setting.state.status)) { const f_string_static_t message = macro_f_string_static_t_initialize("allocate buffer size for", 0, 24); - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_string_dynamic_increase_by), f_string_ascii_minus_s, message, fll_error_file_type_file_e); + fake_print_error_file(&data->main->program.error, macro_fake_f(f_string_dynamic_increase_by), f_string_ascii_minus_s, message, fll_error_file_type_file_e); return; } @@ -438,25 +436,25 @@ extern "C" { clearerr(F_type_input_d); do { - if (!((++data->program->signal_check) % fake_signal_check_d)) { - if (fll_program_standard_signal_received(data->program)) { - fll_program_print_signal_received(data->program->warning, data->program->signal_received); + if (!((++data->main->program.signal_check) % fake_signal_check_d)) { + if (fll_program_standard_signal_received(&data->main->program)) { + fll_program_print_signal_received(data->main->program.warning, data->main->program.signal_received); - data->setting->state.status = F_status_set_error(F_interrupt); + data->main->setting.state.status = F_status_set_error(F_interrupt); return; } } - data->setting->state.status = f_file_stream_read_block(file, buffer); + data->main->setting.state.status = f_file_stream_read_block(file, buffer); - } while (F_status_is_fine(data->setting->state.status) && data->setting->state.status != F_interrupt && data->setting->state.status != F_none_eof); + } while (F_status_is_fine(data->main->setting.state.status) && data->main->setting.state.status != F_interrupt && data->main->setting.state.status != F_none_eof); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_stream_read_block), f_string_ascii_minus_s, f_file_operation_read_s, fll_error_file_type_file_e); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_stream_read_block), f_string_ascii_minus_s, f_file_operation_read_s, fll_error_file_type_file_e); } else { - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } } #endif // _di_fake_pipe_buffer_ @@ -464,13 +462,13 @@ extern "C" { #ifndef _di_fake_validate_parameter_paths_ void fake_validate_parameter_paths(fake_data_t * const data) { - if (!data || !data->program || !data->setting) return; + if (!data || !data->main) return; - if (!((++data->program->signal_check) % fake_signal_check_d)) { - if (fll_program_standard_signal_received(data->program)) { - fll_program_print_signal_received(data->program->warning, data->program->signal_received); + if (!((++data->main->program.signal_check) % fake_signal_check_d)) { + if (fll_program_standard_signal_received(&data->main->program)) { + fll_program_print_signal_received(data->main->program.warning, data->main->program.signal_received); - data->setting->state.status = F_status_set_error(F_interrupt); + data->main->setting.state.status = F_status_set_error(F_interrupt); return; } @@ -486,17 +484,17 @@ extern "C" { }; const f_string_dynamic_t values[] = { - data->setting->build, - data->setting->data, - data->setting->documents, - data->setting->licenses, - data->setting->sources, - data->setting->work, + data->main->setting.build, + data->main->setting.data, + data->main->setting.documents, + data->main->setting.licenses, + data->main->setting.sources, + data->main->setting.work, }; uint8_t requireds[] = { F_false, // fake_long_build_s - (data->program->pipe & fll_program_data_pipe_input_e) ? F_false : F_true, // fake_long_data_s + (data->main->program.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 @@ -505,12 +503,12 @@ extern "C" { struct stat directory_stat; - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; // Check only expected operations (fake_operation_clean_e and fake_operation_skeleton_e should not call this function). if (data->operation == fake_operation_make_e) { - if (data->program->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 (data->main->program.parameters.array[fake_parameter_fakefile_e].result == f_console_result_none_e) { + if (data->main->setting.build.used && f_file_exists(data->main->setting.build, F_false) != F_true) { if (f_file_exists(fake_default_fakefile_s, F_false) == F_true) { requireds[1] = F_false; // fake_long_data_s } @@ -520,7 +518,7 @@ extern "C" { // If a custom --data or a custom --fakefile parameter is passed and uses an absolute or relative to current path, then do not check. if (data->operation == fake_operation_make_e || data->operation == fake_operation_build_e) { - f_console_parameter_t * const parameter = &data->program->parameters.array[ + f_console_parameter_t * const parameter = &data->main->program.parameters.array[ data->operation == fake_operation_make_e ? fake_parameter_fakefile_e : fake_parameter_settings_e @@ -529,13 +527,13 @@ extern "C" { if (parameter->result & f_console_result_value_e) { const f_array_length_t index = parameter->values.array[parameter->values.used - 1]; - if (f_path_is_absolute(data->program->parameters.arguments.array[index]) == F_true || f_path_is_relative_current(data->program->parameters.arguments.array[index]) == F_true) { + if (f_path_is_absolute(data->main->program.parameters.arguments.array[index]) == F_true || f_path_is_relative_current(data->main->program.parameters.arguments.array[index]) == F_true) { requireds[1] = F_none; // fake_long_data_s } else { - data->setting->state.status = f_file_exists(data->program->parameters.arguments.array[index], F_true); + data->main->setting.state.status = f_file_exists(data->main->program.parameters.arguments.array[index], F_true); - if (F_status_is_error_not(data->setting->state.status) && data->setting->state.status == F_true) { + if (F_status_is_error_not(data->main->setting.state.status) && data->main->setting.state.status == F_true) { requireds[1] = F_none; // fake_long_data_s } } @@ -547,30 +545,30 @@ extern "C" { if (requireds[i] != F_none && values[i].used) { memset(&directory_stat, 0, sizeof(struct stat)); - data->setting->state.status = f_file_stat(values[i], F_true, &directory_stat); + data->main->setting.state.status = f_file_stat(values[i], F_true, &directory_stat); - if (data->setting->state.status == F_status_set_error(F_file_found_not)) { - data->setting->state.status = F_status_set_error(F_directory_found_not); + if (data->main->setting.state.status == F_status_set_error(F_file_found_not)) { + data->main->setting.state.status = F_status_set_error(F_directory_found_not); } - if (F_status_is_error(data->setting->state.status)) { - if (F_status_set_fine(data->setting->state.status) != F_directory_found_not || requireds[i]) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_stat), values[i], f_file_operation_access_s, fll_error_file_type_directory_e); + if (F_status_is_error(data->main->setting.state.status)) { + if (F_status_set_fine(data->main->setting.state.status) != F_directory_found_not || requireds[i]) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_stat), values[i], f_file_operation_access_s, fll_error_file_type_directory_e); return; } } } else if (requireds[i] == F_true) { - fake_print_error_parameter_directory_not_found_path(data->setting, data->program->error, f_console_symbol_long_normal_s, names[i], values[i]); + fake_print_error_parameter_directory_not_found_path(&data->main->program.error, f_console_symbol_long_normal_s, names[i], values[i]); - data->setting->state.status = F_status_set_error(F_directory_found_not); + data->main->setting.state.status = F_status_set_error(F_directory_found_not); return; } } // for - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } #endif // _di_fake_validate_parameter_paths_ diff --git a/level_3/fake/c/main/fake.h b/level_3/fake/c/main/fake.h index b30e2f7..a157756 100644 --- a/level_3/fake/c/main/fake.h +++ b/level_3/fake/c/main/fake.h @@ -110,9 +110,9 @@ #include #include #include -#include #include #include +#include #include #include #include @@ -129,13 +129,14 @@ #include #include #include -#include #include +#include #include #include -#include +#include #include #include +#include #include #include #include @@ -219,7 +220,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * F_false on file not found and file is not required. * @@ -256,7 +257,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * F_interrupt (with error bit) on interrupt signal received. @@ -282,7 +283,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * F_interrupt (with error bit) on interrupt signal received. diff --git a/level_3/fake/c/main/fake/path_generate.c b/level_3/fake/c/main/fake/path_generate.c index 4bf51da..a378752 100644 --- a/level_3/fake/c/main/fake/path_generate.c +++ b/level_3/fake/c/main/fake/path_generate.c @@ -7,17 +7,17 @@ extern "C" { #ifndef _di_fake_path_generate_ void fake_path_generate(fake_data_t * const data) { - if (!data || !data->program || !data->setting) return; + if (!data || !data->main) return; - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; uint8_t i = 0; { uint8_t j = 0; const f_string_dynamic_t sources[] = { - data->setting->build, - data->setting->data, + data->main->setting.build, + data->main->setting.data, }; const uint8_t parameters_size[] = { @@ -57,8 +57,8 @@ extern "C" { fake_path_generate_string_dynamic(data, sources[i], values[i], parameters_size[i]); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_path_generate_string_dynamic)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_path_generate_string_dynamic)); return; } @@ -100,10 +100,10 @@ extern "C" { for (i = 0; i < 13; ++i) { - data->setting->state.status = f_string_dynamic_append_nulless(sources[i], values[i]); + data->main->setting.state.status = f_string_dynamic_append_nulless(sources[i], values[i]); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); return; } @@ -170,8 +170,8 @@ extern "C" { fake_path_generate_string_dynamic(data, sources[i], values[i], parameters_size[i]); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_path_generate_string_dynamic)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_path_generate_string_dynamic)); return; } @@ -179,11 +179,11 @@ extern "C" { } // When custom fakefile or settings are used and they are paths to a file, remove the default path. - if (f_path_is(data->setting->fakefile) == F_true || f_file_exists(data->setting->fakefile, F_true) == F_true) { + if (f_path_is(data->main->setting.fakefile) == F_true || f_file_exists(data->main->setting.fakefile, F_true) == F_true) { data->file_data_build_fakefile.used = 0; } - if (f_path_is(data->setting->settings) == F_true || f_file_exists(data->setting->settings, F_true) == F_true) { + if (f_path_is(data->main->setting.settings) == F_true || f_file_exists(data->main->setting.settings, F_true) == F_true) { data->file_data_build_settings.used = 0; } @@ -202,8 +202,8 @@ extern "C" { fake_file_dependencies_s, fake_file_process_post_s, fake_file_process_pre_s, - data->setting->fakefile, - data->setting->settings, + data->main->setting.fakefile, + data->main->setting.settings, fake_file_readme_s, }; @@ -228,17 +228,17 @@ extern "C" { for (i = 0; i < 16; ++i) { - data->setting->state.status = f_string_dynamic_append_nulless(sources[i], values[i]); + data->main->setting.state.status = f_string_dynamic_append_nulless(sources[i], values[i]); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); return; } } // for } - if (data->setting->work.used) { + if (data->main->setting.work.used) { { f_string_dynamic_t * const values[] = { &data->path_work_includes, @@ -250,10 +250,10 @@ extern "C" { values[i]->used = 0; - data->setting->state.status = f_string_dynamic_append_nulless(data->setting->work, values[i]); + data->main->setting.state.status = f_string_dynamic_append_nulless(data->main->setting.work, values[i]); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); return; } @@ -275,10 +275,10 @@ extern "C" { for (i = 0; i < 3; ++i) { - data->setting->state.status = f_string_dynamic_append_nulless(sources[i], values[i]); + data->main->setting.state.status = f_string_dynamic_append_nulless(sources[i], values[i]); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); return; } @@ -317,8 +317,8 @@ extern "C" { fake_path_generate_string_dynamic(data, sources[i], values[i], parameters_size[i]); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_path_generate_string_dynamic)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_path_generate_string_dynamic)); return; } @@ -346,10 +346,10 @@ extern "C" { for (i = 0; i < 6; ++i) { - data->setting->state.status = f_string_dynamic_append_nulless(sources[i], values[i]); + data->main->setting.state.status = f_string_dynamic_append_nulless(sources[i], values[i]); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); return; } @@ -357,21 +357,21 @@ extern "C" { } } - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } #endif // _di_fake_path_generate_ #ifndef _di_fake_path_generate_string_dynamic_ void fake_path_generate_string_dynamic(fake_data_t * const data, const f_string_dynamic_t source, f_string_dynamic_t *destination[], const uint8_t length) { - if (!data || !data->program || !data->setting || !destination) return; + if (!data || !data->main || !destination) return; - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; for (uint8_t i = 0; i < length; ++i) { - data->setting->state.status = f_string_dynamic_append_nulless(source, destination[i]); - if (F_status_is_error(data->setting->state.status)) break; + data->main->setting.state.status = f_string_dynamic_append_nulless(source, destination[i]); + if (F_status_is_error(data->main->setting.state.status)) break; } // for } #endif // _di_fake_path_generate_string_dynamic_ diff --git a/level_3/fake/c/main/fake/path_generate.h b/level_3/fake/c/main/fake/path_generate.h index cbba01e..cda38ac 100644 --- a/level_3/fake/c/main/fake/path_generate.h +++ b/level_3/fake/c/main/fake/path_generate.h @@ -22,7 +22,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: f_string_dynamic_append_nulless(). @@ -44,7 +44,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: f_string_dynamic_append_nulless(). diff --git a/level_3/fake/c/main/make.c b/level_3/fake/c/main/make.c index a9d9801..b1a916b 100644 --- a/level_3/fake/c/main/make.c +++ b/level_3/fake/c/main/make.c @@ -7,15 +7,15 @@ extern "C" { #ifndef _di_fake_make_assure_inside_project_ void fake_make_assure_inside_project(fake_make_data_t * const data_make, const f_string_static_t path) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; data_make->cache_path.used = 0; - data_make->setting->state.status = fl_path_canonical(path, &data_make->cache_path); - if (F_status_is_error(data_make->setting->state.status)) return; + data_make->main->setting.state.status = fl_path_canonical(path, &data_make->cache_path); + if (F_status_is_error(data_make->main->setting.state.status)) return; if (data_make->cache_path.used < data_make->path.stack.array[0].used) { - data_make->setting->state.status = F_status_set_error(F_false); + data_make->main->setting.state.status = F_status_set_error(F_false); return; } @@ -23,79 +23,79 @@ extern "C" { const f_string_range_t range = macro_f_string_range_t_initialize2(data_make->path.stack.array[0].used); if (range.start <= range.stop) { - data_make->setting->state.status = fl_string_dynamic_partial_compare(data_make->path.stack.array[0], data_make->cache_path, range, range); - if (F_status_is_error(data_make->setting->state.status)) return; + data_make->main->setting.state.status = fl_string_dynamic_partial_compare(data_make->path.stack.array[0], data_make->cache_path, range, range); + if (F_status_is_error(data_make->main->setting.state.status)) return; - if (data_make->setting->state.status) { + if (data_make->main->setting.state.status) { if (data_make->cache_path.used == data_make->path.stack.array[0].used || data_make->cache_path.string[data_make->path.stack.array[0].used] == f_path_separator_s.string[0]) { - data_make->setting->state.status = F_true; + data_make->main->setting.state.status = F_true; return; } } } - data_make->setting->state.status = F_status_set_error(F_false); + data_make->main->setting.state.status = F_status_set_error(F_false); } #endif // _di_fake_make_assure_inside_project_ #ifndef _di_fake_make_get_id_ f_number_unsigned_t fake_make_get_id(fake_make_data_t * const data_make, const bool is_owner, const f_string_static_t buffer) { - if (!data_make || !data_make->program || !data_make->setting) return 0; + if (!data_make || !data_make->main) return 0; if (!buffer.used) { - fake_print_error(&data_make->program->error, macro_fake_f(fake_make_get_id)); + fake_print_error(&data_make->main->program.error, macro_fake_f(fake_make_get_id)); - data_make->setting->state.status = F_status_set_error(F_parameter); + data_make->main->setting.state.status = F_status_set_error(F_parameter); return 0; } f_number_unsigned_t number = 0; - data_make->setting->state.status = fl_conversion_dynamic_to_unsigned_detect(fl_conversion_data_base_10_c, buffer, &number); + data_make->main->setting.state.status = fl_conversion_dynamic_to_unsigned_detect(fl_conversion_data_base_10_c, buffer, &number); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { // When the buffer is not a number, then check to see if this is a group or owner name. - if (F_status_set_fine(data_make->setting->state.status) == F_number) { + if (F_status_set_fine(data_make->main->setting.state.status) == F_number) { if (is_owner) { uid_t uid = 0; - data_make->setting->state.status = f_account_id_by_name(buffer, &uid); + data_make->main->setting.state.status = f_account_id_by_name(buffer, &uid); } else { gid_t gid = 0; - data_make->setting->state.status = f_account_group_id_by_name(buffer, &gid); + data_make->main->setting.state.status = f_account_group_id_by_name(buffer, &gid); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, is_owner ? macro_fake_f(f_account_id_by_name) : macro_fake_f(f_account_group_id_by_name)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, is_owner ? macro_fake_f(f_account_id_by_name) : macro_fake_f(f_account_group_id_by_name)); } else { - if (data_make->setting->state.status == F_exist_not) { - fake_print_error_group_not_found(data_make->setting, data_make->program->error, buffer); + if (data_make->main->setting.state.status == F_exist_not) { + fake_print_error_group_not_found(&data_make->main->program.error, buffer); - data_make->setting->state.status = F_status_set_error(F_exist_not); + data_make->main->setting.state.status = F_status_set_error(F_exist_not); } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } } } else { - fake_print_error(&data_make->program->error, macro_fake_f(fl_conversion_dynamic_to_unsigned_detect)); + fake_print_error(&data_make->main->program.error, macro_fake_f(fl_conversion_dynamic_to_unsigned_detect)); } return 0; } if (number > F_type_size_32_unsigned_d) { - fake_print_error_number_too_large(data_make->setting, data_make->program->error, buffer); + fake_print_error_number_too_large(&data_make->main->program.error, buffer); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return 0; } @@ -107,28 +107,28 @@ extern "C" { #ifndef _di_fake_make_get_id_mode_ void fake_make_get_id_mode(fake_make_data_t * const data_make, const f_string_static_t buffer, f_file_mode_t *mode, uint8_t *replace) { - if (!data_make || !data_make->program || !data_make->setting || !mode || !replace) return; + if (!data_make || !data_make->main || !mode || !replace) return; if (!buffer.used) { - fake_print_error(&data_make->program->error, macro_fake_f(fake_make_get_id_mode)); + fake_print_error(&data_make->main->program.error, macro_fake_f(fake_make_get_id_mode)); - data_make->setting->state.status = F_status_set_error(F_parameter); + data_make->main->setting.state.status = F_status_set_error(F_parameter); return; } - data_make->setting->state.status = f_file_mode_from_string(buffer, data_make->program->umask, mode, replace); + data_make->main->setting.state.status = f_file_mode_from_string(buffer, data_make->main->program.umask, mode, replace); - if (F_status_is_error(data_make->setting->state.status)) { - if (F_status_set_fine(data_make->setting->state.status) == F_syntax) { - fake_print_error_mode_invalid(data_make->setting, data_make->program->error, buffer); + if (F_status_is_error(data_make->main->setting.state.status)) { + if (F_status_set_fine(data_make->main->setting.state.status) == F_syntax) { + fake_print_error_mode_invalid(&data_make->main->program.error, buffer); } else { - fake_print_error(&data_make->program->error, macro_fake_f(fake_make_get_id_mode)); + fake_print_error(&data_make->main->program.error, macro_fake_f(fake_make_get_id_mode)); } } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } } #endif // _di_fake_make_get_id_mode_ @@ -136,18 +136,18 @@ extern "C" { #ifndef _di_fake_make_path_relative_ void fake_make_path_relative(fake_make_data_t * const data_make, const f_string_static_t path) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; data_make->cache_path.used = 0; if (!path.used || path.used == data_make->path.stack.array[0].used) { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; return; } if (path.used < data_make->path.stack.array[0].used) { - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -157,13 +157,13 @@ extern "C" { range.start = data_make->path.stack.array[0].used + 1; range.stop = range.start + (path.used - range.start) - 1; - data_make->setting->state.status = f_string_dynamic_partial_append(path, range, &data_make->cache_path); - if (F_status_is_error(data_make->setting->state.status)) return; + data_make->main->setting.state.status = f_string_dynamic_partial_append(path, range, &data_make->cache_path); + if (F_status_is_error(data_make->main->setting.state.status)) return; - data_make->setting->state.status = f_string_dynamic_terminate(&data_make->cache_path); - if (F_status_is_error(data_make->setting->state.status)) return; + data_make->main->setting.state.status = f_string_dynamic_terminate(&data_make->cache_path); + if (F_status_is_error(data_make->main->setting.state.status)) return; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_path_relative_ diff --git a/level_3/fake/c/main/make.h b/level_3/fake/c/main/make.h index 4bcd559..03e4140 100644 --- a/level_3/fake/c/main/make.h +++ b/level_3/fake/c/main/make.h @@ -23,7 +23,7 @@ extern "C" { * All make related setting data, including data from the fakefile and the build settings file. * The data_make.cache_path will be updated to reflect the full path to this file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_true if inside the project. * F_false (with error bit) if path exists outside of the root project path. * @@ -46,7 +46,7 @@ extern "C" { * All make related setting data, including data from the fakefile and the build settings file. * The data_make.cache_path will be updated to reflect the full path to this file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -66,7 +66,7 @@ extern "C" { * The detected owner id or group id. * When is_owner is TRUE, then this should be cast to type (uid_t *). * When is_owner is TRUE, then this should be cast to type (gid_t *). - * This is set to 0 on any error, check data_make.setting.state.status for error. + * This is set to 0 on any error, check data_make.main->setting.state.status for error. * * @see f_account_group_id_by_name() * @see f_account_id_by_name() @@ -83,7 +83,7 @@ extern "C" { * All make related setting data, including data from the fakefile and the build settings file. * The data_make.cache_path will be updated to reflect the full path to this file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -112,7 +112,7 @@ extern "C" { * All make related setting data, including data from the fakefile and the build settings file. * The relative path is stored in data_make.cache_path. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. diff --git a/level_3/fake/c/main/make/load_fakefile.c b/level_3/fake/c/main/make/load_fakefile.c index e7f6a78..1f0f1bd 100644 --- a/level_3/fake/c/main/make/load_fakefile.c +++ b/level_3/fake/c/main/make/load_fakefile.c @@ -7,13 +7,13 @@ extern "C" { #ifndef _di_fake_make_load_fakefile_ void fake_make_load_fakefile(fake_make_data_t * const data_make, const bool process_pipe) { - if (!data_make || !data_make->data || !data_make->program || !data_make->setting) return; - if (F_status_is_error(data_make->setting->state.status)) return; + if (!data_make || !data_make->data || !data_make->main) return; + if (F_status_is_error(data_make->main->setting.state.status)) return; - if (fll_program_standard_signal_received(data_make->program)) { - fll_program_print_signal_received(data_make->program->warning, data_make->program->signal_received); + if (fll_program_standard_signal_received(&data_make->main->program)) { + fll_program_print_signal_received(data_make->main->program.warning, data_make->main->program.signal_received); - data_make->setting->state.status = F_status_set_error(F_interrupt); + data_make->main->setting.state.status = F_status_set_error(F_interrupt); return; } @@ -23,22 +23,22 @@ extern "C" { if (process_pipe) { fake_pipe_buffer(data_make->data, &data_make->buffer); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { data_make->buffer.used = 0; } else { - data_make->setting->state.status = f_string_dynamic_append_assure(f_string_eol_s, &data_make->buffer); + data_make->main->setting.state.status = f_string_dynamic_append_assure(f_string_eol_s, &data_make->buffer); } } - if (F_status_is_error_not(data_make->setting->state.status)) { + if (F_status_is_error_not(data_make->main->setting.state.status)) { fake_file_buffer(data_make->data, data_make->data->file_data_build_fakefile, process_pipe ? F_false : F_true, &data_make->buffer); } - if (F_status_is_error(data_make->setting->state.status)) return; + if (F_status_is_error(data_make->main->setting.state.status)) return; if (!data_make->buffer.used) { - fake_make_print_warning_fakefile_empty(data_make->setting, data_make->program->warning, data_make->data->file_data_build_fakefile); + fake_make_print_warning_fakefile_empty(&data_make->main->program.warning, data_make->data->file_data_build_fakefile); return; } @@ -51,16 +51,16 @@ extern "C" { f_string_range_t range = macro_f_string_range_t_initialize2(data_make->buffer.used); f_fss_comments_t comments = f_fss_comments_t_initialize; - fll_fss_basic_list_read(data_make->buffer, &range, &list_objects, &list_contents, &delimits, 0, &comments, &data_make->setting->state); + fll_fss_basic_list_read(data_make->buffer, &range, &list_objects, &list_contents, &delimits, 0, &comments, &data_make->main->setting.state); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_fss(data_make->setting, data_make->program->error, macro_fake_f(fll_fss_basic_list_read), data_make->data->file_data_build_fakefile, range, F_true); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_fss(&data_make->main->program.error, macro_fake_f(fll_fss_basic_list_read), data_make->data->file_data_build_fakefile, range, F_true); } else { - f_fss_apply_delimit(delimits, &data_make->buffer, &data_make->setting->state); + f_fss_apply_delimit(delimits, &data_make->buffer, &data_make->main->setting.state); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_fss_apply_delimit)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_fss_apply_delimit)); } delimits.used = 0; @@ -68,7 +68,7 @@ extern "C" { f_string_ranges_resize(0, &comments); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { f_string_ranges_resize(0, &list_objects); f_string_rangess_resize(0, &list_contents); f_array_lengths_resize(0, &delimits); @@ -84,11 +84,11 @@ extern "C" { f_fss_set_t settings = f_fss_set_t_initialize; if (list_objects.used > data_make->fakefile.size) { - data_make->setting->state.status = f_fss_nameds_resize(list_objects.used, &data_make->fakefile); + data_make->main->setting.state.status = f_fss_nameds_resize(list_objects.used, &data_make->fakefile); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_fss_nameds_resize)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_fss_nameds_resize)); f_fss_set_resize(0, &settings); f_string_ranges_resize(0, &list_objects); @@ -104,20 +104,20 @@ extern "C" { for (f_array_length_t i = 0; i < list_objects.used; ++i) { if (!(i % fake_signal_check_short_d)) { - if (fll_program_standard_signal_received(data_make->program)) { - fll_program_print_signal_received(data_make->program->warning, data_make->program->signal_received); + if (fll_program_standard_signal_received(&data_make->main->program)) { + fll_program_print_signal_received(data_make->main->program.warning, data_make->main->program.signal_received); - data_make->setting->state.status = F_status_set_error(F_interrupt); + data_make->main->setting.state.status = F_status_set_error(F_interrupt); break; } - data_make->program->signal_check = 0; + data_make->main->program.signal_check = 0; } if (fl_string_dynamic_partial_compare_string(fake_make_item_settings_s.string, data_make->buffer, fake_make_item_settings_s.used, list_objects.array[i]) == F_equal_to) { if (!missing_settings) { - fake_make_print_warning_setting_object_multiple(data_make->setting, data_make->program->warning, data_make->data->file_data_build_fakefile, fake_make_item_settings_s); + fake_make_print_warning_setting_object_multiple(&data_make->main->program.warning, data_make->data->file_data_build_fakefile, fake_make_item_settings_s); continue; } @@ -125,18 +125,18 @@ extern "C" { delimits.used = 0; content_range = list_contents.array[i].array[0]; - fll_fss_extended_read(data_make->buffer, &content_range, &settings.objects, &settings.contents, 0, 0, &delimits, 0, &data_make->setting->state); + fll_fss_extended_read(data_make->buffer, &content_range, &settings.objects, &settings.contents, 0, 0, &delimits, 0, &data_make->main->setting.state); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_fss(data_make->setting, data_make->program->error, macro_fake_f(fll_fss_extended_read), data_make->data->file_data_build_fakefile, content_range, F_true); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_fss(&data_make->main->program.error, macro_fake_f(fll_fss_extended_read), data_make->data->file_data_build_fakefile, content_range, F_true); break; } - f_fss_apply_delimit(delimits, &data_make->buffer, &data_make->setting->state); + f_fss_apply_delimit(delimits, &data_make->buffer, &data_make->main->setting.state); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_fss_apply_delimit)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_fss_apply_delimit)); break; } @@ -148,7 +148,7 @@ extern "C" { if (fl_string_dynamic_partial_compare_string(fake_make_item_main_s.string, data_make->buffer, fake_make_item_main_s.used, list_objects.array[i]) == F_equal_to) { if (!missing_main) { - fake_make_print_warning_setting_object_multiple(data_make->setting, data_make->program->warning, data_make->data->file_data_build_fakefile, fake_make_item_main_s); + fake_make_print_warning_setting_object_multiple(&data_make->main->program.warning, data_make->data->file_data_build_fakefile, fake_make_item_main_s); continue; } @@ -166,18 +166,18 @@ extern "C" { if (list_contents.array[i].used) { content_range = list_contents.array[i].array[0]; - fll_fss_extended_read(data_make->buffer, &content_range, &data_make->fakefile.array[data_make->fakefile.used].objects, &data_make->fakefile.array[data_make->fakefile.used].contents, 0, &data_make->fakefile.array[data_make->fakefile.used].quotess, &delimits, 0, &data_make->setting->state); + fll_fss_extended_read(data_make->buffer, &content_range, &data_make->fakefile.array[data_make->fakefile.used].objects, &data_make->fakefile.array[data_make->fakefile.used].contents, 0, &data_make->fakefile.array[data_make->fakefile.used].quotess, &delimits, 0, &data_make->main->setting.state); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_fss(data_make->setting, data_make->program->error, macro_fake_f(fll_fss_extended_read), data_make->data->file_data_build_fakefile, content_range, F_true); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_fss(&data_make->main->program.error, macro_fake_f(fll_fss_extended_read), data_make->data->file_data_build_fakefile, content_range, F_true); break; } - f_fss_apply_delimit(delimits, &data_make->buffer, &data_make->setting->state); + f_fss_apply_delimit(delimits, &data_make->buffer, &data_make->main->setting.state); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_fss_apply_delimit)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_fss_apply_delimit)); break; } @@ -191,16 +191,16 @@ extern "C" { f_string_rangess_resize(0, &list_contents); f_array_lengths_resize(0, &delimits); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { f_fss_set_resize(0, &settings); return; } if (missing_main) { - fake_make_print_error_fakefile_section_missing(data_make->setting, data_make->program->warning, data_make->data->file_data_build_fakefile, fake_make_item_main_s); + fake_make_print_error_fakefile_section_missing(&data_make->main->program.warning, data_make->data->file_data_build_fakefile, fake_make_item_main_s); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); f_fss_set_resize(0, &settings); @@ -211,22 +211,22 @@ extern "C" { { f_string_t function_name = macro_fake_f(macro_f_string_map_multis_t_resize); - data_make->setting->state.status = f_string_map_multis_resize(data_make->setting->state.step_small, &data_make->setting_make.parameter); + data_make->main->setting.state.status = f_string_map_multis_resize(data_make->main->setting.state.step_small, &data_make->setting_make.parameter); - if (F_status_is_error_not(data_make->setting->state.status)) { + if (F_status_is_error_not(data_make->main->setting.state.status)) { data_make->setting_make.parameter.used = 1; function_name = macro_fake_f(f_string_dynamic_append); - data_make->setting->state.status = f_string_dynamic_append(fake_make_setting_return_s, &data_make->setting_make.parameter.array[0].name); + data_make->main->setting.state.status = f_string_dynamic_append(fake_make_setting_return_s, &data_make->setting_make.parameter.array[0].name); } - if (F_status_is_error_not(data_make->setting->state.status)) { + if (F_status_is_error_not(data_make->main->setting.state.status)) { function_name = macro_fake_f(f_string_dynamics_resize); - data_make->setting->state.status = f_string_dynamics_resize(1, &data_make->setting_make.parameter.array[0].value); + data_make->main->setting.state.status = f_string_dynamics_resize(1, &data_make->setting_make.parameter.array[0].value); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, function_name); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, function_name); f_fss_set_resize(0, &settings); @@ -252,7 +252,7 @@ extern "C" { } else if (fl_string_dynamic_partial_compare_string(fake_make_setting_environment_s.string, data_make->buffer, fake_make_setting_environment_s.used, settings.objects.array[i]) == F_equal_to) { fake_make_load_fakefile_setting_environment(data_make, &settings.contents.array[i]); - if (F_status_is_error(data_make->setting->state.status)) break; + if (F_status_is_error(data_make->main->setting.state.status)) break; } else if (fl_string_dynamic_partial_compare_string(fake_make_setting_fail_s.string, data_make->buffer, fake_make_setting_fail_s.used, settings.objects.array[i]) == F_equal_to) { fake_make_load_fakefile_setting_fail(data_make, &settings.objects.array[i], &settings.contents.array[i]); @@ -262,26 +262,26 @@ extern "C" { } else if (fl_string_dynamic_partial_compare_string(fake_make_setting_parameter_s.string, data_make->buffer, fake_make_setting_parameter_s.used, settings.objects.array[i]) == F_equal_to) { fake_make_load_fakefile_setting_parameter(data_make, &settings.objects.array[i], &settings.contents.array[i]); - if (F_status_is_error(data_make->setting->state.status)) break; + if (F_status_is_error(data_make->main->setting.state.status)) break; } } // for - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { f_fss_set_resize(0, &settings); return; } } - if (F_status_is_error_not(data_make->setting->state.status) && data_make->setting_make.load_build) { + if (F_status_is_error_not(data_make->main->setting.state.status) && data_make->setting_make.load_build) { fake_build_load_setting(data_make->data, 0, F_false, &data_make->setting_build); - if (F_status_is_error(data_make->setting->state.status) && data_make->setting->state.status != F_status_set_error(F_interrupt)) { - fake_print_error(&data_make->program->error, macro_fake_f(fake_build_load_setting)); + if (F_status_is_error(data_make->main->setting.state.status) && data_make->main->setting.state.status != F_status_set_error(F_interrupt)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(fake_build_load_setting)); } } - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { f_fss_set_resize(0, &settings); return; @@ -291,18 +291,18 @@ extern "C" { if (range_compiler) { data_make->setting_build.build_compiler.used = 0; - data_make->setting->state.status = f_string_dynamic_partial_append(data_make->buffer, *range_compiler, &data_make->setting_build.build_compiler); + data_make->main->setting.state.status = f_string_dynamic_partial_append(data_make->buffer, *range_compiler, &data_make->setting_build.build_compiler); } - if (F_status_is_error_not(data_make->setting->state.status) && range_indexer) { + if (F_status_is_error_not(data_make->main->setting.state.status) && range_indexer) { data_make->setting_build.build_indexer.used = 0; - data_make->setting->state.status = f_string_dynamic_partial_append(data_make->buffer, *range_indexer, &data_make->setting_build.build_indexer); + data_make->main->setting.state.status = f_string_dynamic_partial_append(data_make->buffer, *range_indexer, &data_make->setting_build.build_indexer); } - if (F_status_is_error(data_make->setting->state.status)) { - if (F_status_set_fine(data_make->setting->state.status) != F_interrupt) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_partial_append)); + if (F_status_is_error(data_make->main->setting.state.status)) { + if (F_status_set_fine(data_make->main->setting.state.status) != F_interrupt) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_partial_append)); } f_fss_set_resize(0, &settings); @@ -315,14 +315,14 @@ extern "C" { f_fss_set_resize(0, &settings); } - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_load_fakefile_ #ifndef _di_fake_make_load_fakefile_setting_build_ void fake_make_load_fakefile_setting_build(fake_make_data_t * const data_make, f_fss_object_t * const object, f_fss_content_t * const content) { - if (!data_make || !data_make->data || !data_make->program || !data_make->setting || !object || !content) return; + if (!data_make || !data_make->data || !data_make->main || !object || !content) return; if (content->used) { if (fl_string_dynamic_partial_compare_string(fake_common_setting_bool_yes_s.string, data_make->buffer, fake_common_setting_bool_yes_s.used, content->array[0]) == F_equal_to) { @@ -332,15 +332,15 @@ extern "C" { data_make->setting_make.load_build = F_false; } else { - fake_make_print_warning_setting_content_invalid(data_make->setting, data_make->program->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, content->array[0], fake_make_item_settings_s); + fake_make_print_warning_setting_content_invalid(&data_make->main->program.warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, content->array[0], fake_make_item_settings_s); } if (content->used > 1) { - fake_make_print_warning_setting_content_multiple(data_make->setting, data_make->program->warning, data_make->data->file_data_build_fakefile, fake_make_setting_load_build_s); + fake_make_print_warning_setting_content_multiple(&data_make->main->program.warning, data_make->data->file_data_build_fakefile, fake_make_setting_load_build_s); } } else { - fake_make_print_warning_setting_content_empty(data_make->setting, data_make->program->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_load_build_s); + fake_make_print_warning_setting_content_empty(&data_make->main->program.warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_load_build_s); } } #endif // _di_fake_make_load_fakefile_setting_build_ @@ -348,17 +348,17 @@ extern "C" { #ifndef _di_fake_make_load_fakefile_setting_compiler_ void fake_make_load_fakefile_setting_compiler(fake_make_data_t * const data_make, f_fss_object_t * const object, f_fss_content_t * const content, f_string_range_t **range_compiler) { - if (!data_make || !data_make->data || !data_make->program || !data_make->setting || !object || !content || !range_compiler) return; + if (!data_make || !data_make->data || !data_make->main || !object || !content || !range_compiler) return; if (content->used) { *range_compiler = &content->array[content->used - 1]; if (content->used > 1) { - fake_make_print_warning_setting_content_multiple(data_make->setting, data_make->program->warning, data_make->data->file_data_build_fakefile, fake_make_setting_compiler_s); + fake_make_print_warning_setting_content_multiple(&data_make->main->program.warning, data_make->data->file_data_build_fakefile, fake_make_setting_compiler_s); } } else { - fake_make_print_warning_setting_content_empty(data_make->setting, data_make->program->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_compiler_s); + fake_make_print_warning_setting_content_empty(&data_make->main->program.warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_compiler_s); } } #endif // _di_fake_make_load_fakefile_setting_compiler_ @@ -366,14 +366,14 @@ extern "C" { #ifndef _di_fake_make_load_fakefile_setting_define_and_parameter_ void fake_make_load_fakefile_setting_define_and_parameter(fake_make_data_t * const data_make, f_fss_set_t * const settings) { - if (!data_make || !data_make->data || !data_make->data || !data_make->program || !data_make->setting || !settings) return; + if (!data_make || !data_make->data || !data_make->data || !data_make->main || !settings) return; ; f_string_map_multis_t define = f_string_map_multis_t_initialize; // Load the fakefile "settings" as if they are build "settings". fake_build_load_setting_process(data_make->data, F_false, data_make->data->file_data_build_fakefile, 0, data_make->buffer, settings->objects, settings->contents, &data_make->setting_build); - if (F_status_is_error_not(data_make->setting->state.status) && settings->objects.used) { + if (F_status_is_error_not(data_make->main->setting.state.status) && settings->objects.used) { const f_string_static_t settings_name[] = { fake_make_setting_define_s, fake_make_setting_parameter_s, @@ -384,10 +384,10 @@ extern "C" { &data_make->setting_make.parameter, }; - data_make->setting->state.status = fll_fss_snatch_map_apart(data_make->buffer, settings->objects, settings->contents, settings_name, 2, settings_value, 0, 0); + data_make->main->setting.state.status = fll_fss_snatch_map_apart(data_make->buffer, settings->objects, settings->contents, settings_name, 2, settings_value, 0, 0); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(fll_fss_snatch_map_apart)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(fll_fss_snatch_map_apart)); f_string_map_multis_resize(0, &define); @@ -405,34 +405,34 @@ extern "C" { fake_make_operate_validate_define_name(define.array[i].name); - if (data_make->setting->state.status) { + if (data_make->main->setting.state.status) { combined.used = 0; for (j = 0; j < define.array[i].value.used; ++j) { - data_make->setting->state.status = f_string_dynamic_mash(f_string_space_s, define.array[i].value.array[j], &combined); + data_make->main->setting.state.status = f_string_dynamic_mash(f_string_space_s, define.array[i].value.array[j], &combined); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_mash)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_mash)); break; } } // for - if (F_status_is_error(data_make->setting->state.status)) break; + if (F_status_is_error(data_make->main->setting.state.status)) break; - data_make->setting->state.status = f_environment_set(define.array[i].name, combined, F_true); + data_make->main->setting.state.status = f_environment_set(define.array[i].name, combined, F_true); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_environment_set)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_environment_set)); break; } } else { - fake_make_print_error_define_invalid_character(data_make->setting, data_make->program->error, define.array[i].name); + fake_make_print_error_define_invalid_character(&data_make->main->program.error, define.array[i].name); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); break; } @@ -443,16 +443,16 @@ extern "C" { f_string_map_multis_resize(0, &define); - if (F_status_is_error(data_make->setting->state.status)) return; + if (F_status_is_error(data_make->main->setting.state.status)) return; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_load_fakefile_setting_define_and_parameter_ #ifndef _di_fake_make_load_fakefile_setting_environment_ void fake_make_load_fakefile_setting_environment(fake_make_data_t * const data_make, f_fss_content_t * const content) { - if (!data_make || !data_make->data || !data_make->data || !data_make->program || !data_make->setting || !content) return; + if (!data_make || !data_make->data || !data_make->data || !data_make->main || !content) return; f_string_dynamic_t name_define = f_string_dynamic_t_initialize; @@ -463,10 +463,10 @@ extern "C" { for (; i < content->used; ++i) { - data_make->setting->state.status = f_string_dynamic_partial_append_nulless(data_make->buffer, content->array[i], &name_define); + data_make->main->setting.state.status = f_string_dynamic_partial_append_nulless(data_make->buffer, content->array[i], &name_define); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_partial_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_partial_append_nulless)); break; } @@ -478,28 +478,28 @@ extern "C" { } // for if (j == data_make->setting_build.environment.used) { - data_make->setting->state.status = f_string_dynamics_increase(fake_allocation_small_d, &data_make->setting_build.environment); + data_make->main->setting.state.status = f_string_dynamics_increase(fake_allocation_small_d, &data_make->setting_build.environment); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase)); break; } data_make->setting_build.environment.array[j].used = 0; - data_make->setting->state.status = f_string_dynamic_increase_by(name_define.used + 1, &data_make->setting_build.environment.array[j]); + data_make->main->setting.state.status = f_string_dynamic_increase_by(name_define.used + 1, &data_make->setting_build.environment.array[j]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_increase_by)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_increase_by)); break; } - data_make->setting->state.status = f_string_dynamic_append_nulless(name_define, &data_make->setting_build.environment.array[j]); + data_make->main->setting.state.status = f_string_dynamic_append_nulless(name_define, &data_make->setting_build.environment.array[j]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); break; } @@ -507,21 +507,21 @@ extern "C" { ++data_make->setting_build.environment.used; } else if (j < data_make->setting_build.environment.used) { - fake_make_print_warning_environment_name_already_added(data_make->setting, data_make->program->warning, name_define); + fake_make_print_warning_environment_name_already_added(&data_make->main->program.warning, name_define); data_make->setting_build.environment.array[j].used = 0; - data_make->setting->state.status = f_string_dynamic_append_nulless(name_define, &data_make->setting_build.environment.array[j]); + data_make->main->setting.state.status = f_string_dynamic_append_nulless(name_define, &data_make->setting_build.environment.array[j]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); break; } } } - else if (data_make->program->warning.verbosity >= f_console_verbosity_verbose_e) { - fake_make_print_warning_environment_name_invalid(data_make->setting, data_make->program->warning, name_define); + else if (data_make->main->program.warning.verbosity >= f_console_verbosity_verbose_e) { + fake_make_print_warning_environment_name_invalid(&data_make->main->program.warning, name_define); } name_define.used = 0; @@ -529,16 +529,16 @@ extern "C" { f_string_dynamic_resize(0, &name_define); - if (F_status_is_error(data_make->setting->state.status)) return; + if (F_status_is_error(data_make->main->setting.state.status)) return; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_load_fakefile_setting_environment_ #ifndef _di_fake_make_load_fakefile_setting_fail_ void fake_make_load_fakefile_setting_fail(fake_make_data_t * const data_make, f_fss_object_t * const object, f_fss_content_t * const content) { - if (!data_make || !data_make->data || !data_make->data || !data_make->program || !data_make->setting || !object || !content) return; + if (!data_make || !data_make->data || !data_make->data || !data_make->main || !object || !content) return; if (content->used) { if (fl_string_dynamic_partial_compare_string(fake_make_operation_argument_exit_s.string, data_make->buffer, fake_make_operation_argument_exit_s.used, content->array[content->used - 1]) == F_equal_to) { @@ -551,15 +551,15 @@ extern "C" { data_make->setting_make.fail = fake_make_operation_fail_ignore_e; } else { - fake_make_print_warning_setting_content_invalid(data_make->setting, data_make->program->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, content->array[content->used - 1], fake_make_item_settings_s); + fake_make_print_warning_setting_content_invalid(&data_make->main->program.warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, content->array[content->used - 1], fake_make_item_settings_s); } if (content->used > 1) { - fake_make_print_warning_setting_content_multiple(data_make->setting, data_make->program->warning, data_make->data->file_data_build_fakefile, fake_make_setting_fail_s); + fake_make_print_warning_setting_content_multiple(&data_make->main->program.warning, data_make->data->file_data_build_fakefile, fake_make_setting_fail_s); } } else { - fake_make_print_warning_setting_content_empty(data_make->setting, data_make->program->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_fail_s); + fake_make_print_warning_setting_content_empty(&data_make->main->program.warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_fail_s); } } #endif // _di_fake_make_load_fakefile_setting_fail_ @@ -567,17 +567,17 @@ extern "C" { #ifndef _di_fake_make_load_fakefile_setting_indexer_ void fake_make_load_fakefile_setting_indexer(fake_make_data_t * const data_make, f_fss_object_t * const object, f_fss_content_t * const content, f_string_range_t **range_indexer) { - if (!data_make || !data_make->data || !data_make->data || !data_make->program || !data_make->setting || !object || !content || !range_indexer) return; + if (!data_make || !data_make->data || !data_make->data || !data_make->main || !object || !content || !range_indexer) return; if (content->used) { *range_indexer = &content->array[content->used - 1]; if (content->used > 1) { - fake_make_print_warning_setting_content_multiple(data_make->setting, data_make->program->warning, data_make->data->file_data_build_fakefile, fake_make_setting_indexer_s); + fake_make_print_warning_setting_content_multiple(&data_make->main->program.warning, data_make->data->file_data_build_fakefile, fake_make_setting_indexer_s); } } else { - fake_make_print_warning_setting_content_empty(data_make->setting, data_make->program->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_indexer_s); + fake_make_print_warning_setting_content_empty(&data_make->main->program.warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_indexer_s); } } #endif // _di_fake_make_load_fakefile_setting_indexer_ @@ -585,7 +585,7 @@ extern "C" { #ifndef _di_fake_make_load_fakefile_setting_parameter_ void fake_make_load_fakefile_setting_parameter(fake_make_data_t * const data_make, f_fss_object_t * const object, f_fss_content_t * const content) { - if (!data_make || !data_make->data || !data_make->data || !data_make->program || !data_make->setting || !object || !content) return; + if (!data_make || !data_make->data || !data_make->data || !data_make->main || !object || !content) return; if (content->used) { if (fl_string_dynamic_partial_compare_string(fake_make_setting_return_s.string, data_make->buffer, fake_make_setting_return_s.used, content->array[0]) == F_equal_to) { @@ -596,32 +596,32 @@ extern "C" { for (f_array_length_t i = 1; i < content->used; ++i) { - data_make->setting->state.status = f_string_dynamic_partial_append_nulless(data_make->buffer, content->array[i], &data_make->setting_make.parameter.array[0].value.array[0]); + data_make->main->setting.state.status = f_string_dynamic_partial_append_nulless(data_make->buffer, content->array[i], &data_make->setting_make.parameter.array[0].value.array[0]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_partial_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_partial_append_nulless)); break; } - data_make->setting->state.status = f_string_dynamic_append_assure(f_string_space_s, &data_make->setting_make.parameter.array[0].value.array[0]); + data_make->main->setting.state.status = f_string_dynamic_append_assure(f_string_space_s, &data_make->setting_make.parameter.array[0].value.array[0]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_assure)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_assure)); break; } } // for - if (F_status_is_error(data_make->setting->state.status)) return; + if (F_status_is_error(data_make->main->setting.state.status)) return; } } } else { - fake_make_print_warning_setting_content_empty(data_make->setting, data_make->program->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_return_s); + fake_make_print_warning_setting_content_empty(&data_make->main->program.warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_return_s); } - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_load_fakefile_setting_parameter_ diff --git a/level_3/fake/c/main/make/load_fakefile.h b/level_3/fake/c/main/make/load_fakefile.h index fccae48..080051f 100644 --- a/level_3/fake/c/main/make/load_fakefile.h +++ b/level_3/fake/c/main/make/load_fakefile.h @@ -24,7 +24,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_interrupt (with error bit) on interrupt signal received. @@ -82,7 +82,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This does not alter data_make.setting.state.status. + * This does not alter data_make.main.setting.state.status. * @param object * The setting object. * @param content @@ -98,7 +98,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This does not alter data_make.setting.state.status. + * This does not alter data_make.main.setting.state.status. * @param object * The setting object. * @param content @@ -116,7 +116,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: f_environment_set(). @@ -147,7 +147,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: f_string_dynamic_append(). @@ -174,7 +174,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This does not alter data_make.setting.state.status. + * This does not alter data_make.main.setting.state.status. * @param object * The setting object. * @param content @@ -190,7 +190,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This does not alter data_make.setting.state.status. + * This does not alter data_make.main.setting.state.status. * @param object * The setting object. * @param content @@ -211,7 +211,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: f_string_append_assure(). diff --git a/level_3/fake/c/main/make/load_parameters.c b/level_3/fake/c/main/make/load_parameters.c index 3b05381..a3abec1 100644 --- a/level_3/fake/c/main/make/load_parameters.c +++ b/level_3/fake/c/main/make/load_parameters.c @@ -7,65 +7,65 @@ extern "C" { #ifndef _di_fake_make_load_parameters_ void fake_make_load_parameters(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; - if (F_status_is_error(data_make->setting->state.status)) return; + if (!data_make || !data_make->main) return; + if (F_status_is_error(data_make->main->setting.state.status)) return; - if (data_make->program->context.mode != f_color_mode_none_e) { - data_make->setting->state.status = f_string_dynamics_increase_by(fake_allocation_small_d, &data_make->parameter.color); + if (data_make->main->program.context.mode != f_color_mode_none_e) { + data_make->main->setting.state.status = f_string_dynamics_increase_by(fake_allocation_small_d, &data_make->parameter.color); - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamics_increase_by(fake_allocation_small_d, &data_make->parameter_option.color); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamics_increase_by(fake_allocation_small_d, &data_make->parameter_option.color); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase_by)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase_by)); return; } - if (data_make->program->context.mode == f_color_mode_not_e) { - if (data_make->program->parameters.array[fake_parameter_no_color_e].flag & f_console_flag_normal_e) { - data_make->setting->state.status = f_string_dynamic_append(f_console_symbol_short_normal_s, &data_make->parameter.color.array[data_make->parameter.color.used]); + if (data_make->main->program.context.mode == f_color_mode_not_e) { + if (data_make->main->program.parameters.array[fake_parameter_no_color_e].flag & f_console_flag_normal_e) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_symbol_short_normal_s, &data_make->parameter.color.array[data_make->parameter.color.used]); } - else if (data_make->program->parameters.array[fake_parameter_no_color_e].flag & f_console_flag_normal_e) { - data_make->setting->state.status = f_string_dynamic_append(f_console_symbol_short_inverse_s, &data_make->parameter.color.array[data_make->parameter.color.used]); + else if (data_make->main->program.parameters.array[fake_parameter_no_color_e].flag & f_console_flag_normal_e) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_symbol_short_inverse_s, &data_make->parameter.color.array[data_make->parameter.color.used]); } - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append(f_console_standard_short_no_color_s, &data_make->parameter.color.array[data_make->parameter.color.used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_standard_short_no_color_s, &data_make->parameter.color.array[data_make->parameter.color.used]); } } - else if (data_make->program->context.mode == f_color_mode_dark_e) { - if (data_make->program->parameters.array[fake_parameter_dark_e].flag & f_console_flag_normal_e) { - data_make->setting->state.status = f_string_dynamic_append(f_console_symbol_short_normal_s, &data_make->parameter.color.array[data_make->parameter.color.used]); + else if (data_make->main->program.context.mode == f_color_mode_dark_e) { + if (data_make->main->program.parameters.array[fake_parameter_dark_e].flag & f_console_flag_normal_e) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_symbol_short_normal_s, &data_make->parameter.color.array[data_make->parameter.color.used]); } - else if (data_make->program->parameters.array[fake_parameter_dark_e].flag & f_console_flag_normal_e) { - data_make->setting->state.status = f_string_dynamic_append(f_console_symbol_short_inverse_s, &data_make->parameter.color.array[data_make->parameter.color.used]); + else if (data_make->main->program.parameters.array[fake_parameter_dark_e].flag & f_console_flag_normal_e) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_symbol_short_inverse_s, &data_make->parameter.color.array[data_make->parameter.color.used]); } - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append(f_console_standard_short_dark_s, &data_make->parameter.color.array[data_make->parameter.color.used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_standard_short_dark_s, &data_make->parameter.color.array[data_make->parameter.color.used]); } } else { - if (data_make->program->parameters.array[fake_parameter_light_e].flag & f_console_flag_normal_e) { - data_make->setting->state.status = f_string_dynamic_append(f_console_symbol_short_normal_s, &data_make->parameter.color.array[data_make->parameter.color.used]); + if (data_make->main->program.parameters.array[fake_parameter_light_e].flag & f_console_flag_normal_e) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_symbol_short_normal_s, &data_make->parameter.color.array[data_make->parameter.color.used]); } - else if (data_make->program->parameters.array[fake_parameter_light_e].flag & f_console_flag_normal_e) { - data_make->setting->state.status = f_string_dynamic_append(f_console_symbol_short_inverse_s, &data_make->parameter.color.array[data_make->parameter.color.used]); + else if (data_make->main->program.parameters.array[fake_parameter_light_e].flag & f_console_flag_normal_e) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_symbol_short_inverse_s, &data_make->parameter.color.array[data_make->parameter.color.used]); } - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append(f_console_standard_short_light_s, &data_make->parameter.color.array[data_make->parameter.color.used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_standard_short_light_s, &data_make->parameter.color.array[data_make->parameter.color.used]); } } - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append(data_make->parameter.color.array[data_make->parameter.color.used], &data_make->parameter_option.color.array[data_make->parameter_option.color.used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append(data_make->parameter.color.array[data_make->parameter.color.used], &data_make->parameter_option.color.array[data_make->parameter_option.color.used]); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append)); return; } @@ -74,74 +74,74 @@ extern "C" { ++data_make->parameter_option.color.used; } - if (data_make->program->error.verbosity != f_console_verbosity_normal_e) { - data_make->setting->state.status = f_string_dynamics_increase_by(fake_allocation_small_d, &data_make->parameter.verbosity); + if (data_make->main->program.error.verbosity != f_console_verbosity_normal_e) { + data_make->main->setting.state.status = f_string_dynamics_increase_by(fake_allocation_small_d, &data_make->parameter.verbosity); - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamics_increase_by(fake_allocation_small_d, &data_make->parameter_option.verbosity); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamics_increase_by(fake_allocation_small_d, &data_make->parameter_option.verbosity); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase_by)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase_by)); return; } - if (data_make->program->error.verbosity == f_console_verbosity_quiet_e) { - if (data_make->program->parameters.array[fake_parameter_verbosity_quiet_e].flag & f_console_flag_normal_e) { - data_make->setting->state.status = f_string_dynamic_append(f_console_symbol_short_normal_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); + if (data_make->main->program.error.verbosity == f_console_verbosity_quiet_e) { + if (data_make->main->program.parameters.array[fake_parameter_verbosity_quiet_e].flag & f_console_flag_normal_e) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_symbol_short_normal_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); } - else if (data_make->program->parameters.array[fake_parameter_verbosity_quiet_e].flag & f_console_flag_normal_e) { - data_make->setting->state.status = f_string_dynamic_append(f_console_symbol_short_inverse_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); + else if (data_make->main->program.parameters.array[fake_parameter_verbosity_quiet_e].flag & f_console_flag_normal_e) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_symbol_short_inverse_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); } - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append(f_console_standard_short_quiet_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_standard_short_quiet_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); } } - else if (data_make->program->error.verbosity == f_console_verbosity_error_e) { - if (data_make->program->parameters.array[fake_parameter_verbosity_error_e].flag & f_console_flag_normal_e) { - data_make->setting->state.status = f_string_dynamic_append(f_console_symbol_short_normal_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); + else if (data_make->main->program.error.verbosity == f_console_verbosity_error_e) { + if (data_make->main->program.parameters.array[fake_parameter_verbosity_error_e].flag & f_console_flag_normal_e) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_symbol_short_normal_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); } - else if (data_make->program->parameters.array[fake_parameter_verbosity_error_e].flag & f_console_flag_normal_e) { - data_make->setting->state.status = f_string_dynamic_append(f_console_symbol_short_inverse_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); + else if (data_make->main->program.parameters.array[fake_parameter_verbosity_error_e].flag & f_console_flag_normal_e) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_symbol_short_inverse_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); } - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append(f_console_standard_short_error_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_standard_short_error_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); } } - else if (data_make->program->error.verbosity >= f_console_verbosity_verbose_e) { - if (data_make->program->parameters.array[fake_parameter_verbosity_verbose_e].flag & f_console_flag_normal_e) { - data_make->setting->state.status = f_string_dynamic_append(f_console_symbol_short_normal_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); + else if (data_make->main->program.error.verbosity >= f_console_verbosity_verbose_e) { + if (data_make->main->program.parameters.array[fake_parameter_verbosity_verbose_e].flag & f_console_flag_normal_e) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_symbol_short_normal_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); } - else if (data_make->program->parameters.array[fake_parameter_verbosity_verbose_e].flag & f_console_flag_normal_e) { - data_make->setting->state.status = f_string_dynamic_append(f_console_symbol_short_inverse_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); + else if (data_make->main->program.parameters.array[fake_parameter_verbosity_verbose_e].flag & f_console_flag_normal_e) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_symbol_short_inverse_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); } - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append(f_console_standard_short_verbose_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_standard_short_verbose_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); } } else { - if (data_make->program->parameters.array[fake_parameter_verbosity_debug_e].flag & f_console_flag_normal_e) { - data_make->setting->state.status = f_string_dynamic_append(f_console_symbol_short_normal_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); + if (data_make->main->program.parameters.array[fake_parameter_verbosity_debug_e].flag & f_console_flag_normal_e) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_symbol_short_normal_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); } - else if (data_make->program->parameters.array[fake_parameter_verbosity_debug_e].flag & f_console_flag_normal_e) { - data_make->setting->state.status = f_string_dynamic_append(f_console_symbol_short_inverse_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); + else if (data_make->main->program.parameters.array[fake_parameter_verbosity_debug_e].flag & f_console_flag_normal_e) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_symbol_short_inverse_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); } - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append(f_console_standard_short_debug_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append(f_console_standard_short_debug_s, &data_make->parameter.verbosity.array[data_make->parameter.verbosity.used]); } } - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append(data_make->parameter.verbosity.array[data_make->parameter.verbosity.used], &data_make->parameter_option.verbosity.array[data_make->parameter_option.verbosity.used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append(data_make->parameter.verbosity.array[data_make->parameter.verbosity.used], &data_make->parameter_option.verbosity.array[data_make->parameter_option.verbosity.used]); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append)); return; } @@ -157,13 +157,13 @@ extern "C" { }; const f_console_parameter_t *console[] = { - &data_make->program->parameters.array[fake_parameter_define_e], - &data_make->program->parameters.array[fake_parameter_mode_e], + &data_make->main->program.parameters.array[fake_parameter_define_e], + &data_make->main->program.parameters.array[fake_parameter_mode_e], }; const f_string_dynamics_t source[] = { - data_make->data->setting->defines, - data_make->data->setting->modes, + data_make->data->main->setting.defines, + data_make->data->main->setting.modes, }; f_string_dynamics_t * const destination[] = { @@ -190,44 +190,44 @@ extern "C" { for (j = 0; j < source[i].used; ++j) { if (destination[i]->used + 2 > destination[i]->size) { - data_make->setting->state.status = f_string_dynamics_increase_by(fake_allocation_small_d, destination[i]); + data_make->main->setting.state.status = f_string_dynamics_increase_by(fake_allocation_small_d, destination[i]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase_by)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase_by)); return; } } - data_make->setting->state.status = f_string_dynamics_increase(fake_allocation_small_d, destination_option[i]); + data_make->main->setting.state.status = f_string_dynamics_increase(fake_allocation_small_d, destination_option[i]); - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamics_increase(fake_allocation_small_d, destination_value[i]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamics_increase(fake_allocation_small_d, destination_value[i]); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase)); return; } if (console[i]->flag & f_console_flag_normal_e) { - data_make->setting->state.status = f_string_dynamic_append_nulless(f_console_symbol_short_normal_s, &destination[i]->array[destination[i]->used]); + data_make->main->setting.state.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) { - data_make->setting->state.status = f_string_dynamic_append_nulless(f_console_symbol_short_inverse_s, &destination[i]->array[destination[i]->used]); + data_make->main->setting.state.status = f_string_dynamic_append_nulless(f_console_symbol_short_inverse_s, &destination[i]->array[destination[i]->used]); } - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append_nulless(parameter[i], &destination[i]->array[destination[i]->used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append_nulless(parameter[i], &destination[i]->array[destination[i]->used]); } - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append_nulless(destination[i]->array[destination[i]->used], &destination_option[i]->array[destination_option[i]->used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append_nulless(destination[i]->array[destination[i]->used], &destination_option[i]->array[destination_option[i]->used]); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); return; } @@ -235,22 +235,22 @@ extern "C" { ++destination[i]->used; ++destination_option[i]->used; - data_make->setting->state.status = f_string_dynamics_increase_by(fake_allocation_small_d, destination[i]); + data_make->main->setting.state.status = f_string_dynamics_increase_by(fake_allocation_small_d, destination[i]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase_by)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase_by)); return; } - data_make->setting->state.status = f_string_dynamic_append_nulless(source[i].array[j], &destination[i]->array[destination[i]->used]); + data_make->main->setting.state.status = f_string_dynamic_append_nulless(source[i].array[j], &destination[i]->array[destination[i]->used]); - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append_nulless(source[i].array[j], &destination_value[i]->array[destination_value[i]->used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append_nulless(source[i].array[j], &destination_value[i]->array[destination_value[i]->used]); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); return; } @@ -275,27 +275,27 @@ extern "C" { }; const f_console_parameter_t *console[] = { - &data_make->program->parameters.array[fake_parameter_build_e], - &data_make->program->parameters.array[fake_parameter_data_e], - &data_make->program->parameters.array[fake_parameter_documents_e], - &data_make->program->parameters.array[fake_parameter_fakefile_e], - &data_make->program->parameters.array[fake_parameter_licenses_e], - &data_make->program->parameters.array[fake_parameter_process_e], - &data_make->program->parameters.array[fake_parameter_settings_e], - &data_make->program->parameters.array[fake_parameter_sources_e], - &data_make->program->parameters.array[fake_parameter_work_e], + &data_make->main->program.parameters.array[fake_parameter_build_e], + &data_make->main->program.parameters.array[fake_parameter_data_e], + &data_make->main->program.parameters.array[fake_parameter_documents_e], + &data_make->main->program.parameters.array[fake_parameter_fakefile_e], + &data_make->main->program.parameters.array[fake_parameter_licenses_e], + &data_make->main->program.parameters.array[fake_parameter_process_e], + &data_make->main->program.parameters.array[fake_parameter_settings_e], + &data_make->main->program.parameters.array[fake_parameter_sources_e], + &data_make->main->program.parameters.array[fake_parameter_work_e], }; 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, + data_make->data->main->setting.build, + data_make->data->main->setting.data, + data_make->data->main->setting.documents, + data_make->data->main->setting.fakefile, + data_make->data->main->setting.licenses, + data_make->data->main->setting.process, + data_make->data->main->setting.settings, + data_make->data->main->setting.sources, + data_make->data->main->setting.work, }; f_string_dynamics_t * const destination[] = { @@ -339,44 +339,44 @@ extern "C" { if (!(console[i]->result & f_console_result_found_e)) continue; if (destination[i]->used + 2 > destination[i]->size) { - data_make->setting->state.status = f_string_dynamics_increase_by(fake_allocation_small_d, destination[i]); + data_make->main->setting.state.status = f_string_dynamics_increase_by(fake_allocation_small_d, destination[i]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase_by)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase_by)); return; } } - data_make->setting->state.status = f_string_dynamics_increase(fake_allocation_small_d, destination_option[i]); + data_make->main->setting.state.status = f_string_dynamics_increase(fake_allocation_small_d, destination_option[i]); - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamics_increase(fake_allocation_small_d, destination_value[i]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamics_increase(fake_allocation_small_d, destination_value[i]); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase)); return; } if (console[i]->flag & f_console_flag_normal_e) { - data_make->setting->state.status = f_string_dynamic_append_nulless(f_console_symbol_short_normal_s, &destination[i]->array[destination[i]->used]); + data_make->main->setting.state.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) { - data_make->setting->state.status = f_string_dynamic_append_nulless(f_console_symbol_short_inverse_s, &destination[i]->array[destination[i]->used]); + data_make->main->setting.state.status = f_string_dynamic_append_nulless(f_console_symbol_short_inverse_s, &destination[i]->array[destination[i]->used]); } - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append_nulless(parameter[i], &destination[i]->array[destination[i]->used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append_nulless(parameter[i], &destination[i]->array[destination[i]->used]); } - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append_nulless(destination[i]->array[destination[i]->used], &destination_option[i]->array[destination_option[i]->used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append_nulless(destination[i]->array[destination[i]->used], &destination_option[i]->array[destination_option[i]->used]); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); return; } @@ -384,22 +384,22 @@ extern "C" { ++destination[i]->used; ++destination_option[i]->used; - data_make->setting->state.status = f_string_dynamics_increase_by(fake_allocation_small_d, destination[i]); + data_make->main->setting.state.status = f_string_dynamics_increase_by(fake_allocation_small_d, destination[i]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase_by)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase_by)); return; } - data_make->setting->state.status = f_string_dynamic_append_nulless(source[i], &destination[i]->array[destination[i]->used]); + data_make->main->setting.state.status = f_string_dynamic_append_nulless(source[i], &destination[i]->array[destination[i]->used]); - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append_nulless(source[i], &destination_value[i]->array[destination_value[i]->used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append_nulless(source[i], &destination_value[i]->array[destination_value[i]->used]); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); return; } diff --git a/level_3/fake/c/main/make/load_parameters.h b/level_3/fake/c/main/make/load_parameters.h index 0401b78..5b4da74 100644 --- a/level_3/fake/c/main/make/load_parameters.h +++ b/level_3/fake/c/main/make/load_parameters.h @@ -22,7 +22,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * Errors (with error bit) from: f_string_dynamic_append(). diff --git a/level_3/fake/c/main/make/operate.c b/level_3/fake/c/main/make/operate.c index aa99977..a3f9fa1 100644 --- a/level_3/fake/c/main/make/operate.c +++ b/level_3/fake/c/main/make/operate.c @@ -7,49 +7,48 @@ extern "C" { #ifndef _di_fake_make_operate_ void fake_make_operate(fake_data_t * const data) { - if (!data || !data->program || !data->setting) return; + if (!data || !data->main) return; - if (!((++data->program->signal_check) % fake_signal_check_d)) { - if (fll_program_standard_signal_received(data->program)) { - fll_program_print_signal_received(data->program->warning, data->program->signal_received); + if (!((++data->main->program.signal_check) % fake_signal_check_d)) { + if (fll_program_standard_signal_received(&data->main->program)) { + fll_program_print_signal_received(data->main->program.warning, data->main->program.signal_received); - data->setting->state.status = F_status_set_error(F_interrupt); + data->main->setting.state.status = F_status_set_error(F_interrupt); return; } } - fake_make_print_now_making(data->setting, data->program->message, data->setting->fakefile); + fake_make_print_message_now_making(&data->main->program.message, data->main->setting.fakefile); f_array_lengths_t section_stack = f_array_lengths_t_initialize; fake_make_data_t data_make = fake_make_data_t_initialize; data_make.data = data; - data_make.program = data->program; - data_make.setting = data->setting; + data_make.main = data->main; - data->setting->state.status = f_string_dynamics_increase(data->setting->state.step_small, &data_make.path.stack); + data->main->setting.state.status = f_string_dynamics_increase(data->main->setting.state.step_small, &data_make.path.stack); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data_make.program->error, macro_fake_f(f_string_dynamics_increase)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data_make.main->program.error, macro_fake_f(f_string_dynamics_increase)); return; } - data->setting->state.status = f_path_current(F_true, &data_make.path.stack.array[0]); + data->main->setting.state.status = f_path_current(F_true, &data_make.path.stack.array[0]); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data_make.program->error, macro_fake_f(f_path_current)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data_make.main->program.error, macro_fake_f(f_path_current)); fake_make_data_delete(&data_make); return; } - data->setting->state.status = f_directory_open(data_make.path.stack.array[0], F_false, &data_make.path.top.id); + data->main->setting.state.status = f_directory_open(data_make.path.stack.array[0], F_false, &data_make.path.top.id); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data_make.program->error, macro_fake_f(f_directory_open)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data_make.main->program.error, macro_fake_f(f_directory_open)); fake_make_data_delete(&data_make); @@ -60,9 +59,9 @@ extern "C" { fake_make_load_parameters(&data_make); - fake_make_load_fakefile(&data_make, data->program->pipe & fll_program_data_pipe_input_e); + fake_make_load_fakefile(&data_make, data->main->program.pipe & fll_program_data_pipe_input_e); - if (F_status_is_error(data->setting->state.status)) { + if (F_status_is_error(data->main->setting.state.status)) { fake_make_data_delete(&data_make); return; @@ -71,7 +70,7 @@ extern "C" { if (!data_make.buffer.used) { fake_make_data_delete(&data_make); - data->setting->state.status = F_data_not; + data->main->setting.state.status = F_data_not; return; } @@ -79,106 +78,107 @@ extern "C" { if (data_make.setting_make.fail == fake_make_operation_fail_exit_e) { data_make.error.prefix = fl_print_error_s; data_make.error.suffix = f_string_empty_s; - data_make.error.context = data->program->context.set.error; - data_make.error.notable = data->program->context.set.notable; + data_make.error.context = data->main->program.context.set.error; + data_make.error.notable = data->main->program.context.set.notable; data_make.error.to.stream = F_type_error_d; data_make.error.to.id = F_type_descriptor_error_d; - data_make.error.set = &data->program->context.set; + data_make.error.set = &data->main->program.context.set; } else if (data_make.setting_make.fail == fake_make_operation_fail_warn_e) { data_make.error.prefix = fl_print_warning_s; data_make.error.suffix = f_string_empty_s; - data_make.error.context = data->program->context.set.warning; - data_make.error.notable = data->program->context.set.notable; + data_make.error.context = data->main->program.context.set.warning; + data_make.error.notable = data->main->program.context.set.notable; data_make.error.to.stream = F_type_output_d; data_make.error.to.id = F_type_descriptor_output_d; - data_make.error.set = &data->program->context.set; + data_make.error.set = &data->main->program.context.set; } else { data_make.error.to.stream = 0; data_make.error.prefix = f_string_empty_s; data_make.error.suffix = f_string_empty_s; data_make.error.to.id = -1; - data_make.error.set = &data->program->context.set; + data_make.error.set = &data->main->program.context.set; } - data_make.error.verbosity = data->program->message.verbosity; + data_make.error.verbosity = data->main->program.message.verbosity; + data_make.error.custom = data->main; - if (data->program->parameters.remaining.used) { + if (data->main->program.parameters.remaining.used) { f_array_length_t i = 0; f_array_length_t j = 0; f_string_range_t range = f_string_range_t_initialize; f_array_length_t index = 0; - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; // Validate the remaining parameters. - for (i = 0; i < data->program->parameters.remaining.used; ++i) { + for (i = 0; i < data->main->program.parameters.remaining.used; ++i) { - index = data->program->parameters.remaining.array[i]; + index = data->main->program.parameters.remaining.array[i]; - if (!data->program->parameters.arguments.array[index].used) { - data->setting->state.status = F_status_set_error(F_parameter); + if (!data->main->program.parameters.arguments.array[index].used) { + data->main->setting.state.status = F_status_set_error(F_parameter); break; } range.start = 0; - range.stop = data->program->parameters.arguments.array[index].used - 1; + range.stop = data->main->program.parameters.arguments.array[index].used - 1; for (j = 0; j < data_make.fakefile.used; ++j) { - if (fl_string_dynamic_partial_compare(data->program->parameters.arguments.array[index], data_make.buffer, range, data_make.fakefile.array[j].name) == F_equal_to) break; + if (fl_string_dynamic_partial_compare(data->main->program.parameters.arguments.array[index], data_make.buffer, range, data_make.fakefile.array[j].name) == F_equal_to) break; } // for if (j == data_make.fakefile.used) { - data->setting->state.status = F_status_set_error(F_parameter); + data->main->setting.state.status = F_status_set_error(F_parameter); break; } } // for - if (F_status_is_error(data->setting->state.status)) { - fake_make_print_error_argument_invalid_section(data->setting, data->program->error, data->program->parameters.arguments.array[data->program->parameters.remaining.array[i]]); + if (F_status_is_error(data->main->setting.state.status)) { + fake_make_print_error_argument_invalid_section(&data->main->program.error, data->main->program.parameters.arguments.array[data->main->program.parameters.remaining.array[i]]); } else { int result = 0; - for (i = 0; i < data->program->parameters.remaining.used; ++i) { + for (i = 0; i < data->main->program.parameters.remaining.used; ++i) { - index = data->program->parameters.remaining.array[i]; + index = data->main->program.parameters.remaining.array[i]; range.start = 0; - range.stop = data->program->parameters.arguments.array[index].used - 1; + range.stop = data->main->program.parameters.arguments.array[index].used - 1; for (j = 0; j < data_make.fakefile.used; ++j) { - if (fl_string_dynamic_partial_compare(data->program->parameters.arguments.array[index], data_make.buffer, range, data_make.fakefile.array[j].name) == F_equal_to) { + if (fl_string_dynamic_partial_compare(data->main->program.parameters.arguments.array[index], data_make.buffer, range, data_make.fakefile.array[j].name) == F_equal_to) { { int result = fake_make_operate_section(&data_make, j, §ion_stack); - if (data->setting->state.status == F_child) { - data->program->child = result; + if (data->main->setting.state.status == F_child) { + data->main->program.child = result; break; } } - const f_status_t status = data->setting->state.status; + const f_status_t status = data->main->setting.state.status; - data->setting->state.status = f_path_change_at(data_make.path.top.id); + data->main->setting.state.status = f_path_change_at(data_make.path.top.id); - if (F_status_is_error(data->setting->state.status)) { - fake_make_print_warning_cannot_change_back(data->setting, data->program->warning, data_make.path.stack.array[0]); + if (F_status_is_error(data->main->setting.state.status)) { + fake_make_print_warning_cannot_change_back(&data->main->program.warning, data_make.path.stack.array[0]); } - data->setting->state.status = status; + data->main->setting.state.status = status; break; } - if (F_status_is_error(data->setting->state.status)) break; + if (F_status_is_error(data->main->setting.state.status)) break; } // for - if (data->setting->state.status == F_child || F_status_is_error(data->setting->state.status)) break; + if (data->main->setting.state.status == F_child || F_status_is_error(data->main->setting.state.status)) break; } // for } } @@ -186,21 +186,21 @@ extern "C" { { const int result = fake_make_operate_section(&data_make, data_make.id_main, §ion_stack); - if (data->setting->state.status == F_child) { - data->program->child = result; + if (data->main->setting.state.status == F_child) { + data->main->program.child = result; } } - if (data->setting->state.status != F_child) { - const f_status_t status = data->setting->state.status; + if (data->main->setting.state.status != F_child) { + const f_status_t status = data->main->setting.state.status; - data->setting->state.status = f_path_change_at(data_make.path.top.id); + data->main->setting.state.status = f_path_change_at(data_make.path.top.id); - if (F_status_is_error(data->setting->state.status)) { - fake_make_print_warning_cannot_change_back(data->setting, data->program->warning, data_make.path.stack.array[0]); + if (F_status_is_error(data->main->setting.state.status)) { + fake_make_print_warning_cannot_change_back(&data->main->program.warning, data_make.path.stack.array[0]); } - data->setting->state.status = status; + data->main->setting.state.status = status; } } @@ -210,8 +210,8 @@ extern "C" { f_array_lengths_resize(0, §ion_stack); fake_make_data_delete(&data_make); - if (F_status_is_error_not(data->setting->state.status)) { - data->setting->state.status = F_none; + if (F_status_is_error_not(data->main->setting.state.status)) { + data->main->setting.state.status = F_none; } } #endif // _di_fake_make_operate_ @@ -219,15 +219,15 @@ extern "C" { #ifndef _di_fake_make_operate_expand_ void fake_make_operate_expand(fake_make_data_t * const data_make, const f_string_range_t section_name, const f_fss_content_t content, const f_uint8s_t quotes) { - if (!data_make || !data_make->program || !data_make->setting) return; - if (F_status_is_error(data_make->setting->state.status)) return; + if (!data_make || !data_make->main) return; + if (F_status_is_error(data_make->main->setting.state.status)) return; if (!content.used) return; // Pre-allocate the known arguments size. - data_make->setting->state.status = f_string_dynamics_increase_by(content.used, &data_make->cache_arguments); + data_make->main->setting.state.status = f_string_dynamics_increase_by(content.used, &data_make->cache_arguments); - if (F_status_is_error(data_make->setting->state.status) || data_make->setting->state.status == F_string_too_large) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase_by)); + if (F_status_is_error(data_make->main->setting.state.status) || data_make->main->setting.state.status == F_string_too_large) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase_by)); return; } @@ -341,14 +341,14 @@ extern "C" { &data_make->parameter_value.work, }; - data_make->setting->state.flag = 0; - data_make->setting->state.handle = 0; - data_make->setting->state.data = 0; + data_make->main->setting.state.flag = 0; + data_make->main->setting.state.handle = 0; + data_make->main->setting.state.data = 0; - data_make->setting->state.status = f_string_dynamics_increase(data_make->setting->state.step_small, &data_make->cache_arguments); + data_make->main->setting.state.status = f_string_dynamics_increase(data_make->main->setting.state.step_small, &data_make->cache_arguments); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase)); return; } @@ -367,10 +367,10 @@ extern "C" { if (quotes.array[i]) { ++data_make->cache_arguments.used; - data_make->setting->state.status = f_string_dynamics_increase(data_make->setting->state.step_small, &data_make->cache_arguments); + data_make->main->setting.state.status = f_string_dynamics_increase(data_make->main->setting.state.step_small, &data_make->cache_arguments); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase)); break; } @@ -383,11 +383,11 @@ extern "C" { range = content.array[i]; - fl_iki_read(&data_make->buffer, &range, iki_data, &data_make->setting->state); + fl_iki_read(&data_make->buffer, &range, iki_data, &data_make->main->setting.state); - if (F_status_is_error(data_make->setting->state.status)) { - if (F_status_set_fine(data_make->setting->state.status) != F_interrupt) { - fake_print_error(&data_make->program->error, macro_fake_f(fl_iki_read)); + if (F_status_is_error(data_make->main->setting.state.status)) { + if (F_status_set_fine(data_make->main->setting.state.status) != F_interrupt) { + fake_print_error(&data_make->main->program.error, macro_fake_f(fl_iki_read)); } break; @@ -405,10 +405,10 @@ extern "C" { range.start = content.array[i].start; range.stop = iki_data->variable.array[0].start - 1; - data_make->setting->state.status = f_string_dynamic_partial_append_nulless(data_make->buffer, range, &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_partial_append_nulless(data_make->buffer, range, &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_partial_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_partial_append_nulless)); break; } @@ -420,31 +420,31 @@ extern "C" { is = 0; - data_make->setting->state.status = fl_string_dynamic_partial_compare_string(vocabulary_define.string, data_make->buffer, vocabulary_define.used, iki_data->vocabulary.array[j]); + data_make->main->setting.state.status = fl_string_dynamic_partial_compare_string(vocabulary_define.string, data_make->buffer, vocabulary_define.used, iki_data->vocabulary.array[j]); - if (data_make->setting->state.status == F_equal_to) { + if (data_make->main->setting.state.status == F_equal_to) { is = 2; iki_type |= 0x2; } - else if (data_make->setting->state.status == F_equal_to_not) { - data_make->setting->state.status = fl_string_dynamic_partial_compare_string(vocabulary_parameter.string, data_make->buffer, vocabulary_parameter.used, iki_data->vocabulary.array[j]); + else if (data_make->main->setting.state.status == F_equal_to_not) { + data_make->main->setting.state.status = fl_string_dynamic_partial_compare_string(vocabulary_parameter.string, data_make->buffer, vocabulary_parameter.used, iki_data->vocabulary.array[j]); - if (data_make->setting->state.status == F_equal_to) { + if (data_make->main->setting.state.status == F_equal_to) { is = 1; iki_type |= 0x1; } - else if (data_make->setting->state.status == F_equal_to_not) { - data_make->setting->state.status = fl_string_dynamic_partial_compare_string(vocabulary_context.string, data_make->buffer, vocabulary_context.used, iki_data->vocabulary.array[j]); + else if (data_make->main->setting.state.status == F_equal_to_not) { + data_make->main->setting.state.status = fl_string_dynamic_partial_compare_string(vocabulary_context.string, data_make->buffer, vocabulary_context.used, iki_data->vocabulary.array[j]); - if (data_make->setting->state.status == F_equal_to) { + if (data_make->main->setting.state.status == F_equal_to) { is = 3; iki_type |= 0x4; } } } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(fl_string_dynamic_partial_compare)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(fl_string_dynamic_partial_compare)); break; } @@ -456,19 +456,19 @@ extern "C" { if (fl_string_dynamic_partial_compare_string(fake_make_parameter_variable_return_s.string, data_make->buffer, fake_make_parameter_variable_return_s.used, iki_data->content.array[j]) == F_equal_to) { if (data_make->setting_make.parameter.array[0].value.array[0].used) { - data_make->setting->state.status = f_string_dynamic_append_nulless(data_make->setting_make.parameter.array[0].value.array[0], &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_append_nulless(data_make->setting_make.parameter.array[0].value.array[0], &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); break; } } else { - data_make->setting->state.status = f_string_dynamic_append(f_string_ascii_0_s, &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_append(f_string_ascii_0_s, &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append)); break; } @@ -479,27 +479,27 @@ extern "C" { else if (fl_string_dynamic_partial_compare_string(fake_make_parameter_variable_top_s.string, data_make->buffer, fake_make_parameter_variable_top_s.used, iki_data->content.array[j]) == F_equal_to) { if (data_make->path.stack.used) { - data_make->setting->state.status = f_string_dynamic_increase_by(data_make->path.stack.array[0].used + f_path_separator_s.used + 1, &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_increase_by(data_make->path.stack.array[0].used + f_path_separator_s.used + 1, &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_increase_by)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_increase_by)); break; } - data_make->setting->state.status = f_string_dynamic_append(data_make->path.stack.array[0], &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_append(data_make->path.stack.array[0], &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append)); break; } // For safe path handling, always append the trailing slash. - data_make->setting->state.status = f_string_dynamic_append_assure(f_path_separator_s, &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_append_assure(f_path_separator_s, &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_assure)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_assure)); break; } @@ -510,27 +510,27 @@ extern "C" { else if (fl_string_dynamic_partial_compare_string(fake_make_parameter_variable_current_s.string, data_make->buffer, fake_make_parameter_variable_current_s.used, iki_data->content.array[j]) == F_equal_to) { if (data_make->path.stack.used) { - data_make->setting->state.status = f_string_dynamic_increase_by(data_make->path.stack.array[data_make->path.stack.used - 1].used + f_path_separator_s.used + 1, &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_increase_by(data_make->path.stack.array[data_make->path.stack.used - 1].used + f_path_separator_s.used + 1, &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_increase_by)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_increase_by)); break; } - data_make->setting->state.status = f_string_dynamic_append(data_make->path.stack.array[data_make->path.stack.used - 1], &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_append(data_make->path.stack.array[data_make->path.stack.used - 1], &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append)); break; } // For safe path handling, always append the trailing slash. - data_make->setting->state.status = f_string_dynamic_append_assure(f_path_separator_s, &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_append_assure(f_path_separator_s, &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_assure)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_assure)); break; } @@ -561,10 +561,10 @@ extern "C" { } // for } // for - data_make->setting->state.status = f_string_dynamic_increase_by(l + f_string_space_s.used + 1, &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_increase_by(l + f_string_space_s.used + 1, &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_increase_by)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_increase_by)); break; } @@ -574,19 +574,19 @@ extern "C" { if (!reserved_value[k]->array[l].used) continue; if (separate) { - data_make->setting->state.status = f_string_dynamic_append(f_string_space_s, &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_append(f_string_space_s, &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append)); break; } } - data_make->setting->state.status = f_string_dynamic_append_nulless(reserved_value[k]->array[l], &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_append_nulless(reserved_value[k]->array[l], &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); break; } @@ -606,10 +606,10 @@ extern "C" { if (separate) { ++data_make->cache_arguments.used; - data_make->setting->state.status = f_string_dynamics_increase(data_make->setting->state.step_small, &data_make->cache_arguments); + data_make->main->setting.state.status = f_string_dynamics_increase(data_make->main->setting.state.step_small, &data_make->cache_arguments); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase)); break; } @@ -617,10 +617,10 @@ extern "C" { data_make->cache_arguments.array[data_make->cache_arguments.used].used = 0; } - data_make->setting->state.status = f_string_dynamic_append_nulless(reserved_value[k]->array[l], &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_append_nulless(reserved_value[k]->array[l], &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); break; } @@ -632,10 +632,10 @@ extern "C" { break; } // for - if (F_status_is_error(data_make->setting->state.status)) break; + if (F_status_is_error(data_make->main->setting.state.status)) break; } - if (unmatched && F_status_is_error_not(data_make->setting->state.status)) { + if (unmatched && F_status_is_error_not(data_make->main->setting.state.status)) { for (k = 0; k < parameter->used; ++k) { // Check against IKI variable list. @@ -659,10 +659,10 @@ extern "C" { } // for } // for - data_make->setting->state.status = f_string_dynamic_increase_by(l + f_string_space_s.used + 1, &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_increase_by(l + f_string_space_s.used + 1, &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_increase_by)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_increase_by)); break; } @@ -674,10 +674,10 @@ extern "C" { if (separate) { if (quotes.array[i]) { - data_make->setting->state.status = f_string_dynamic_append(f_string_space_s, &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_append(f_string_space_s, &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append)); break; } @@ -687,10 +687,10 @@ extern "C" { else { ++data_make->cache_arguments.used; - data_make->setting->state.status = f_string_dynamics_increase(data_make->setting->state.step_small, &data_make->cache_arguments); + data_make->main->setting.state.status = f_string_dynamics_increase(data_make->main->setting.state.step_small, &data_make->cache_arguments); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase)); break; } @@ -699,10 +699,10 @@ extern "C" { } } - data_make->setting->state.status = f_string_dynamic_append_nulless(parameter->array[k].value.array[l], &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_append_nulless(parameter->array[k].value.array[l], &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); break; } @@ -710,25 +710,25 @@ extern "C" { separate = F_true; } // for - if (F_status_is_error(data_make->setting->state.status)) break; + if (F_status_is_error(data_make->main->setting.state.status)) break; } break; } // for } - if (F_status_is_error(data_make->setting->state.status)) break; + if (F_status_is_error(data_make->main->setting.state.status)) break; if (unmatched) { fake_make_operate_expand_build(data_make, quotes.array[i], iki_data->content.array[j]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(fake_make_operate_expand_build)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(fake_make_operate_expand_build)); break; } - if (data_make->setting->state.status == F_true) { + if (data_make->main->setting.state.status == F_true) { iki_type |= 0x8; } } @@ -736,21 +736,21 @@ extern "C" { else if (is == 2) { fake_make_operate_expand_environment(data_make, quotes.array[i], iki_data->content.array[j]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(fake_make_operate_expand_environment)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(fake_make_operate_expand_environment)); break; } - if (data_make->setting->state.status == F_true) { + if (data_make->main->setting.state.status == F_true) { iki_type |= 0x8; } } else if (is == 3) { fake_make_operate_expand_context(data_make, quotes.array[i], iki_data->content.array[j]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(fake_make_operate_expand_context)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(fake_make_operate_expand_context)); break; } @@ -764,10 +764,10 @@ extern "C" { range.start = iki_data->variable.array[j].stop + 1; range.stop = iki_data->variable.array[j + 1].start - 1; - data_make->setting->state.status = f_string_dynamic_partial_append_nulless(data_make->buffer, range, &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_partial_append_nulless(data_make->buffer, range, &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_partial_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_partial_append_nulless)); break; } @@ -775,17 +775,17 @@ extern "C" { } } // for - if (F_status_is_error(data_make->setting->state.status)) break; + if (F_status_is_error(data_make->main->setting.state.status)) break; // Copy everything after the last IKI variable to the end of the content. if (iki_data->variable.used && content.array[i].stop > iki_data->variable.array[iki_data->variable.used - 1].stop) { range.start = iki_data->variable.array[iki_data->variable.used - 1].stop + 1; range.stop = content.array[i].stop; - data_make->setting->state.status = f_string_dynamic_partial_append_nulless(data_make->buffer, range, &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_partial_append_nulless(data_make->buffer, range, &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_partial_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_partial_append_nulless)); break; } @@ -794,10 +794,10 @@ extern "C" { if (!(content.array[i].start == iki_data->variable.array[0].start && content.array[i].stop == iki_data->variable.array[0].stop && !quotes.array[i]) || (iki_type & 0xb) && !quotes.array[i] || i && content.used > 1 && i + 1 == content.used) { ++data_make->cache_arguments.used; - data_make->setting->state.status = f_string_dynamics_increase(data_make->setting->state.step_small, &data_make->cache_arguments); + data_make->main->setting.state.status = f_string_dynamics_increase(data_make->main->setting.state.step_small, &data_make->cache_arguments); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase)); break; } @@ -806,20 +806,20 @@ extern "C" { } } else { - data_make->setting->state.status = f_string_dynamic_partial_append_nulless(data_make->buffer, content.array[i], &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_partial_append_nulless(data_make->buffer, content.array[i], &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_partial_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_partial_append_nulless)); break; } ++data_make->cache_arguments.used; - data_make->setting->state.status = f_string_dynamics_increase(data_make->setting->state.step_small, &data_make->cache_arguments); + data_make->main->setting.state.status = f_string_dynamics_increase(data_make->main->setting.state.step_small, &data_make->cache_arguments); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase)); break; } @@ -853,12 +853,12 @@ extern "C" { for (; i < 3; ++i) { - data_make->setting->state.status = fl_string_dynamic_partial_compare_string(uint8_name[i].string, data_make->buffer, uint8_name[i].used, range_name); + data_make->main->setting.state.status = fl_string_dynamic_partial_compare_string(uint8_name[i].string, data_make->buffer, uint8_name[i].used, range_name); - if (data_make->setting->state.status == F_equal_to) { + if (data_make->main->setting.state.status == F_equal_to) { unmatched = F_false; - data_make->setting->state.status = f_conversion_number_unsigned_to_string(uint8_value[i], f_conversion_data_base_10_c, &data_make->cache_1); + data_make->main->setting.state.status = f_conversion_number_unsigned_to_string(uint8_value[i], f_conversion_data_base_10_c, &data_make->cache_1); break; } @@ -888,16 +888,16 @@ extern "C" { for (i = 0; i < 7; ++i) { - data_make->setting->state.status = fl_string_dynamic_partial_compare_string(bool_name[i].string, data_make->buffer, bool_name[i].used, range_name); + data_make->main->setting.state.status = fl_string_dynamic_partial_compare_string(bool_name[i].string, data_make->buffer, bool_name[i].used, range_name); - if (data_make->setting->state.status == F_equal_to) { + if (data_make->main->setting.state.status == F_equal_to) { unmatched = F_false; if (bool_value[i]) { - data_make->setting->state.status = f_string_dynamic_append(fake_common_setting_bool_yes_s, &data_make->cache_1); + data_make->main->setting.state.status = f_string_dynamic_append(fake_common_setting_bool_yes_s, &data_make->cache_1); } else { - data_make->setting->state.status = f_string_dynamic_append(fake_common_setting_bool_no_s, &data_make->cache_1); + data_make->main->setting.state.status = f_string_dynamic_append(fake_common_setting_bool_no_s, &data_make->cache_1); } break; @@ -948,12 +948,12 @@ extern "C" { for (i = 0; i < 17; ++i) { - data_make->setting->state.status = fl_string_dynamic_partial_compare_string(dynamic_name[i].string, data_make->buffer, dynamic_name[i].used, range_name); + data_make->main->setting.state.status = fl_string_dynamic_partial_compare_string(dynamic_name[i].string, data_make->buffer, dynamic_name[i].used, range_name); - if (data_make->setting->state.status == F_equal_to) { + if (data_make->main->setting.state.status == F_equal_to) { unmatched = F_false; - data_make->setting->state.status = f_string_dynamic_append_nulless(dynamic_value[i], &data_make->cache_1); + data_make->main->setting.state.status = f_string_dynamic_append_nulless(dynamic_value[i], &data_make->cache_1); break; } @@ -1082,15 +1082,15 @@ extern "C" { for (i = 0; i < 36; ++i) { - data_make->setting->state.status = fl_string_dynamic_partial_compare_string(dynamics_name[i].string, data_make->buffer, dynamics_name[i].used, range_name); + data_make->main->setting.state.status = fl_string_dynamic_partial_compare_string(dynamics_name[i].string, data_make->buffer, dynamics_name[i].used, range_name); - if (data_make->setting->state.status == F_equal_to) { + if (data_make->main->setting.state.status == F_equal_to) { unmatched = F_false; for (j = 0; j < dynamics_value[i].used; ++j) { - data_make->setting->state.status = f_string_dynamic_mash(f_string_space_s, dynamics_value[i].array[j], &data_make->cache_1); - if (F_status_is_error(data_make->setting->state.status)) break; + data_make->main->setting.state.status = f_string_dynamic_mash(f_string_space_s, dynamics_value[i].array[j], &data_make->cache_1); + if (F_status_is_error(data_make->main->setting.state.status)) break; } // for if (dynamics_flag[i]) { @@ -1102,38 +1102,38 @@ extern "C" { } // for } - if (F_status_is_error(data_make->setting->state.status)) return; + if (F_status_is_error(data_make->main->setting.state.status)) return; if (unmatched) { - data_make->setting->state.status = F_false; + data_make->main->setting.state.status = F_false; return; } - data_make->setting->state.status = f_string_dynamic_append_nulless(data_make->cache_1, &data_make->cache_arguments.array[data_make->cache_arguments.used]); + data_make->main->setting.state.status = f_string_dynamic_append_nulless(data_make->cache_1, &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error_not(data_make->setting->state.status) && !quote) { + if (F_status_is_error_not(data_make->main->setting.state.status) && !quote) { ++data_make->cache_arguments.used; - data_make->setting->state.status = f_string_dynamics_increase(data_make->setting->state.step_small, &data_make->cache_arguments); + data_make->main->setting.state.status = f_string_dynamics_increase(data_make->main->setting.state.step_small, &data_make->cache_arguments); } - if (F_status_is_error(data_make->setting->state.status)) return; + if (F_status_is_error(data_make->main->setting.state.status)) return; if (data_make->cache_1.used) { - data_make->setting->state.status = F_true; + data_make->main->setting.state.status = F_true; return; } - data_make->setting->state.status = F_data_not; + data_make->main->setting.state.status = F_data_not; } #endif // _di_fake_make_operate_expand_build_ #ifndef _di_fake_make_operate_expand_context_ void fake_make_operate_expand_context(fake_make_data_t * const data_make, const uint8_t quote, const f_string_range_t range_name) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; const f_string_static_t *context = 0; @@ -1150,15 +1150,15 @@ extern "C" { }; const f_color_set_t context_value[] = { - data_make->program->context.set.error, - data_make->program->context.set.important, - data_make->program->context.set.normal, - data_make->program->context.set.notable, - data_make->program->context.set.reset, - data_make->program->context.set.standout, - data_make->program->context.set.success, - data_make->program->context.set.title, - data_make->program->context.set.warning, + data_make->main->program.context.set.error, + data_make->main->program.context.set.important, + data_make->main->program.context.set.normal, + data_make->main->program.context.set.notable, + data_make->main->program.context.set.reset, + data_make->main->program.context.set.standout, + data_make->main->program.context.set.success, + data_make->main->program.context.set.title, + data_make->main->program.context.set.warning, }; for (f_array_length_t i = 0; i < 9; ++i) { @@ -1171,73 +1171,73 @@ extern "C" { } // for if (context) { - data_make->setting->state.status = f_string_dynamic_append_nulless(*context, &data_make->cache_arguments.array[data_make->cache_arguments.used]); - if (F_status_is_error(data_make->setting->state.status)) return; + data_make->main->setting.state.status = f_string_dynamic_append_nulless(*context, &data_make->cache_arguments.array[data_make->cache_arguments.used]); + if (F_status_is_error(data_make->main->setting.state.status)) return; } - data_make->setting->state.status = F_true; + data_make->main->setting.state.status = F_true; } #endif // _di_fake_make_operate_expand_context_ #ifndef _di_fake_make_operate_expand_environment_ void fake_make_operate_expand_environment(fake_make_data_t * const data_make, const uint8_t quote, const f_string_range_t range_name) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; data_make->cache_1.used = 0; data_make->cache_2.used = 0; - data_make->setting->state.status = f_string_dynamic_increase_by((range_name.stop - range_name.start) + 2, &data_make->cache_1); + data_make->main->setting.state.status = f_string_dynamic_increase_by((range_name.stop - range_name.start) + 2, &data_make->cache_1); - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_partial_append_nulless(data_make->buffer, range_name, &data_make->cache_1); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_partial_append_nulless(data_make->buffer, range_name, &data_make->cache_1); } - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_environment_get(data_make->cache_1, &data_make->cache_2); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_environment_get(data_make->cache_1, &data_make->cache_2); } - if (F_status_is_error(data_make->setting->state.status)) return; + if (F_status_is_error(data_make->main->setting.state.status)) return; - if (data_make->setting->state.status == F_exist_not) { - data_make->setting->state.status = F_false; + if (data_make->main->setting.state.status == F_exist_not) { + data_make->main->setting.state.status = F_false; return; } - data_make->setting->state.status = f_string_dynamics_increase(data_make->setting->state.step_small, &data_make->cache_arguments); + data_make->main->setting.state.status = f_string_dynamics_increase(data_make->main->setting.state.step_small, &data_make->cache_arguments); - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_increase_by(data_make->cache_2.used + 1, &data_make->cache_arguments.array[data_make->cache_arguments.used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_increase_by(data_make->cache_2.used + 1, &data_make->cache_arguments.array[data_make->cache_arguments.used]); } - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append_nulless(data_make->cache_2, &data_make->cache_arguments.array[data_make->cache_arguments.used]); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append_nulless(data_make->cache_2, &data_make->cache_arguments.array[data_make->cache_arguments.used]); } - if (F_status_is_error(data_make->setting->state.status)) return; + if (F_status_is_error(data_make->main->setting.state.status)) return; if (!quote) { ++data_make->cache_arguments.used; - data_make->setting->state.status = f_string_dynamics_increase(data_make->setting->state.step_small, &data_make->cache_arguments); - if (F_status_is_error(data_make->setting->state.status)) return; + data_make->main->setting.state.status = f_string_dynamics_increase(data_make->main->setting.state.step_small, &data_make->cache_arguments); + if (F_status_is_error(data_make->main->setting.state.status)) return; } - data_make->setting->state.status = data_make->cache_2.used ? F_true : F_data_not; + data_make->main->setting.state.status = data_make->cache_2.used ? F_true : F_data_not; } #endif // _di_fake_make_operate_expand_environment_ #ifndef _di_fake_make_operate_section_ int fake_make_operate_section(fake_make_data_t * const data_make, const f_array_length_t id_section, f_array_lengths_t * const section_stack) { - if (!data_make || !data_make->program || !data_make->setting || !section_stack) return 0; - if (F_status_is_error(data_make->setting->state.status) || data_make->setting->state.status == F_child) return data_make->program->child; + if (!data_make || !data_make->main || !section_stack) return 0; + if (F_status_is_error(data_make->main->setting.state.status) || data_make->main->setting.state.status == F_child) return data_make->main->program.child; if (id_section >= data_make->fakefile.used) { - data_make->setting->state.status = F_status_set_error(F_parameter); + data_make->main->setting.state.status = F_status_set_error(F_parameter); fake_print_error(&data_make->error, macro_fake_f(fake_make_operate_section)); @@ -1245,9 +1245,9 @@ extern "C" { } // Add the operation id to the operation stack. - data_make->setting->state.status = f_array_lengths_increase(data_make->setting->state.step_small, section_stack); + data_make->main->setting.state.status = f_array_lengths_increase(data_make->main->setting.state.step_small, section_stack); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { fake_print_error(&data_make->error, macro_fake_f(f_array_lengths_increase)); return 0; @@ -1257,7 +1257,7 @@ extern "C" { const f_fss_named_t *section = &data_make->fakefile.array[id_section]; - fake_make_print_processing_section(data_make->setting, data_make->program->message, data_make->buffer, *section); + fake_make_print_message_processing_section(&data_make->main->program.message, data_make->buffer, *section); if (!section->objects.used) { --section_stack->used; @@ -1346,7 +1346,7 @@ extern "C" { f_array_length_t i = 0; f_array_length_t j = 0; - for (i = 0; i < section->objects.used; ++i, data_make->setting->state.status = F_none) { + for (i = 0; i < section->objects.used; ++i, data_make->main->setting.state.status = F_none) { for (j = 0; j < data_make->cache_arguments.size; ++j) { data_make->cache_arguments.array[j].used = 0; @@ -1358,16 +1358,16 @@ extern "C" { state_process.operation_previous = state_process.operation; state_process.operation = 0; - if (!((++data_make->program->signal_check) % fake_signal_check_short_d)) { - if (fll_program_standard_signal_received(data_make->program)) { - fll_program_print_signal_received(data_make->program->warning, data_make->program->signal_received); + if (!((++data_make->main->program.signal_check) % fake_signal_check_short_d)) { + if (fll_program_standard_signal_received(&data_make->main->program)) { + fll_program_print_signal_received(data_make->main->program.warning, data_make->main->program.signal_received); - data_make->setting->state.status = F_status_set_error(F_interrupt); + data_make->main->setting.state.status = F_status_set_error(F_interrupt); break; } - data_make->program->signal_check = 0; + data_make->main->program.signal_check = 0; } for (j = 0; j < fake_max_operation_d; ++j) { @@ -1380,15 +1380,15 @@ extern "C" { } // for if (!state_process.operation) { - fake_print_error_operation_unknown(data_make->setting, data_make->error, data_make->buffer, section->name, section->objects.array[i]); + fake_print_error_operation_unknown(&data_make->error, data_make->buffer, section->name, section->objects.array[i]); - data_make->setting->state.status = F_status_set_error(F_valid_not); + data_make->main->setting.state.status = F_status_set_error(F_valid_not); } else if (state_process.operation == fake_make_operation_type_operate_e) { if (section_stack->used == fake_max_stack_d) { - fake_print_error_operation_stack_max(data_make->setting, data_make->error, data_make->buffer, section->name, section->objects.array[i], fake_max_stack_d); + fake_print_error_operation_stack_max(&data_make->error, data_make->buffer, section->name, section->objects.array[i], fake_max_stack_d); - data_make->setting->state.status = F_status_set_error(F_recurse); + data_make->main->setting.state.status = F_status_set_error(F_recurse); } } @@ -1400,7 +1400,7 @@ extern "C" { fake_make_operate_validate(data_make, section->name, &state_process, section_stack); } - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { if (state_process.block || state_process.operation == fake_make_operation_type_if_e || state_process.operation == fake_make_operation_type_and_e || state_process.operation == fake_make_operation_type_or_e) { state_process.success_block = F_false; @@ -1413,38 +1413,38 @@ extern "C" { else { if (!state_process.block || state_process.block == fake_state_process_block_operate_e) { result = fake_make_operate_process(data_make, section->name, &state_process, section_stack); - if (data_make->setting->state.status == F_child) return result; + if (data_make->main->setting.state.status == F_child) return result; } fake_make_operate_block_postprocess(data_make, i == section->objects.used, &state_process); } - if (F_status_set_fine(data_make->setting->state.status) == F_interrupt) break; + if (F_status_set_fine(data_make->main->setting.state.status) == F_interrupt) break; - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { state_process.success = F_false; // Break acts identical to fail when at the top of the stack. - if (F_status_set_fine(data_make->setting->state.status) == F_signal_abort && !section_stack->used) { + if (F_status_set_fine(data_make->main->setting.state.status) == F_signal_abort && !section_stack->used) { data_make->setting_make.fail = fake_make_operation_fail_exit_e; data_make->error.prefix = fl_print_error_s; data_make->error.suffix = f_string_empty_s; - data_make->error.context = data_make->program->context.set.error; - data_make->error.notable = data_make->program->context.set.notable; - data_make->program->error.to.stream = F_type_error_d; - data_make->program->error.to.id = F_type_descriptor_error_d; - data_make->error.set = &data_make->program->context.set; + data_make->error.context = data_make->main->program.context.set.error; + data_make->error.notable = data_make->main->program.context.set.notable; + data_make->main->program.error.to.stream = F_type_error_d; + data_make->main->program.error.to.id = F_type_descriptor_error_d; + data_make->error.set = &data_make->main->program.context.set; } - fake_print_error_operation_failed(data_make->setting, data_make->error, data_make->buffer, section->name, section->objects.array[i]); + fake_print_error_operation_failed(&data_make->error, data_make->buffer, section->name, section->objects.array[i]); // F_signal_abort is used by the break section operation. - if (F_status_set_fine(data_make->setting->state.status) == F_signal_abort) break; + if (F_status_set_fine(data_make->main->setting.state.status) == F_signal_abort) break; // F_signal_abort is used by the exit section operation. - if (F_status_set_fine(data_make->setting->state.status) == F_signal_quit) { + if (F_status_set_fine(data_make->main->setting.state.status) == F_signal_quit) { if (!section_stack->used) { - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } break; @@ -1452,27 +1452,27 @@ extern "C" { if (data_make->setting_make.fail == fake_make_operation_fail_exit_e) break; } - else if (data_make->setting->state.status == F_signal_abort) { + else if (data_make->main->setting.state.status == F_signal_abort) { state_process.success = F_true; // F_signal_abort is used by the break section operation. break; } - else if (data_make->setting->state.status == F_signal_quit) { + else if (data_make->main->setting.state.status == F_signal_quit) { state_process.success = F_true; // F_signal_quit is used by the exit section operation. if (!section_stack->used) { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } break; } - else if (data_make->setting->state.status == F_failure) { + else if (data_make->main->setting.state.status == F_failure) { // When F_failure (without the error bit) is returned, an error occured but the exit mode is not set to exit. // Record the success state and set the status to F_none. - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; state_process.success = F_false; } else { @@ -1480,19 +1480,19 @@ extern "C" { } } // for - if (F_status_set_error(data_make->setting->state.status) == F_interrupt) return 0; + if (F_status_set_error(data_make->main->setting.state.status) == F_interrupt) return 0; - if (i == section->objects.used && F_status_is_error_not(data_make->setting->state.status) && (state_process.operation == fake_make_operation_type_and_e || state_process.operation == fake_make_operation_type_else_e || state_process.operation == fake_make_operation_type_if_e || state_process.operation == fake_make_operation_type_or_e)) { - fake_make_print_error_operation_incomplete(data_make->setting, data_make->program->error, state_process.operation); + if (i == section->objects.used && F_status_is_error_not(data_make->main->setting.state.status) && (state_process.operation == fake_make_operation_type_and_e || state_process.operation == fake_make_operation_type_else_e || state_process.operation == fake_make_operation_type_if_e || state_process.operation == fake_make_operation_type_or_e)) { + fake_make_print_error_operation_incomplete(&data_make->main->program.error, state_process.operation); - fake_print_error_operation_failed(data_make->setting, data_make->error, data_make->buffer, section->name, section->objects.array[section->objects.used - 1]); + fake_print_error_operation_failed(&data_make->error, data_make->buffer, section->name, section->objects.array[section->objects.used - 1]); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } // Ensure an error is returned during recursion if the last known section operation failed, except for the main operation. - if (state_process.success == F_false && F_status_is_error_not(data_make->setting->state.status) && section_stack->used > 1) { - data_make->setting->state.status = F_status_set_error(F_failure); + if (state_process.success == F_false && F_status_is_error_not(data_make->main->setting.state.status) && section_stack->used > 1) { + data_make->main->setting.state.status = F_status_set_error(F_failure); } --section_stack->used; diff --git a/level_3/fake/c/main/make/operate.h b/level_3/fake/c/main/make/operate.h index 67321f9..4760546 100644 --- a/level_3/fake/c/main/make/operate.h +++ b/level_3/fake/c/main/make/operate.h @@ -25,7 +25,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * F_data_not on success but fakefile is empty. * @@ -62,7 +62,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * F_data_not on success but fakefile is empty. * @@ -112,7 +112,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_data_not on success, but nothing is added (data length to append is 0). * F_true on success and match expanded. * F_false on no matches to expand. @@ -141,7 +141,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_true on success and match expanded. * F_false on no matches to expand. * @@ -163,7 +163,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_data_not on success, but nothing is added (data length to append is 0). * F_true on success and match expanded. * F_false on no matches to expand. @@ -194,7 +194,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * F_child on child process exiting. * F_signal_abort on abort signal received. diff --git a/level_3/fake/c/main/make/operate_block.c b/level_3/fake/c/main/make/operate_block.c index e5db03d..9673068 100644 --- a/level_3/fake/c/main/make/operate_block.c +++ b/level_3/fake/c/main/make/operate_block.c @@ -55,9 +55,9 @@ extern "C" { #ifndef _di_fake_make_operate_block_postprocess_ void fake_make_operate_block_postprocess(fake_make_data_t * const data_make, const bool last, fake_state_process_t * const state_process) { - if (!data_make || !data_make->program || !data_make->setting || !state_process) return; + if (!data_make || !data_make->main || !state_process) return; - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { state_process->block_result = fake_condition_result_error_e; state_process->success_block = F_false; diff --git a/level_3/fake/c/main/make/operate_block.h b/level_3/fake/c/main/make/operate_block.h index 9eeb96d..526069f 100644 --- a/level_3/fake/c/main/make/operate_block.h +++ b/level_3/fake/c/main/make/operate_block.h @@ -37,7 +37,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This does not alter data_make.setting.state.status. + * This does not alter data_make.main.setting.state.status. * @param last * If TRUE, then this is the last line. * If FALSE, then this is not the last line. diff --git a/level_3/fake/c/main/make/operate_process.c b/level_3/fake/c/main/make/operate_process.c index 9c79dae..5afc87b 100644 --- a/level_3/fake/c/main/make/operate_process.c +++ b/level_3/fake/c/main/make/operate_process.c @@ -7,8 +7,8 @@ extern "C" { #ifndef _di_fake_make_operate_process_ int fake_make_operate_process(fake_make_data_t * const data_make, const f_string_range_t section_name, fake_state_process_t * const state_process, f_array_lengths_t * const section_stack) { - if (!data_make || !data_make->program || !data_make->setting || !state_process || !section_stack) return 0; - if (data_make->setting->state.status == F_child) return data_make->program->child; + if (!data_make || !data_make->main || !state_process || !section_stack) return 0; + if (data_make->main->setting.state.status == F_child) return data_make->main->program.child; if (state_process->operation == fake_make_operation_type_break_e) { fake_make_operate_process_type_break(data_make); @@ -117,16 +117,16 @@ extern "C" { #ifndef _di_fake_make_operate_process_buffer_escape_ void fake_make_operate_process_buffer_escape(fake_make_data_t * const data_make, const f_string_static_t source, f_string_dynamic_t * const destination) { - if (!data_make || !data_make->program || !data_make->setting || !destination) return; + if (!data_make || !data_make->main || !destination) return; if (!source.used) { - data_make->setting->state.status = F_data_not; + data_make->main->setting.state.status = F_data_not; return; } - data_make->setting->state.status = f_string_dynamic_increase_by(source.used, destination); - if (F_status_is_error(data_make->setting->state.status)) return; + data_make->main->setting.state.status = f_string_dynamic_increase_by(source.used, destination); + if (F_status_is_error(data_make->main->setting.state.status)) return; for (f_array_length_t i = 0; i < source.used; ++i) { @@ -138,8 +138,8 @@ extern "C" { // A slash by itself at the end of the string is invalid. if (++i >= source.used) break; - data_make->setting->state.status = f_string_dynamic_increase_by(F_memory_default_allocation_small_d, destination); - if (F_status_is_error(data_make->setting->state.status)) return; + data_make->main->setting.state.status = f_string_dynamic_increase_by(F_memory_default_allocation_small_d, destination); + if (F_status_is_error(data_make->main->setting.state.status)) return; if (source.string[i] == f_string_ascii_slash_backward_s.string[0]) { destination->string[destination->used++] = f_string_ascii_slash_backward_s.string[0]; @@ -209,18 +209,18 @@ extern "C" { if (buffer.used > 2) { uint32_t codepoint = 0; - data_make->setting->state.status = f_utf_unicode_string_to(buffer.string, buffer.used, &codepoint); + data_make->main->setting.state.status = f_utf_unicode_string_to(buffer.string, buffer.used, &codepoint); - if (F_status_is_error(data_make->setting->state.status)) { - if (!(data_make->setting->state.status == F_failure || data_make->setting->state.status == F_utf_not || data_make->setting->state.status == F_complete_not_utf || data_make->setting->state.status == F_utf_fragment || data_make->setting->state.status == F_valid_not)) { + if (F_status_is_error(data_make->main->setting.state.status)) { + if (!(data_make->main->setting.state.status == F_failure || data_make->main->setting.state.status == F_utf_not || data_make->main->setting.state.status == F_complete_not_utf || data_make->main->setting.state.status == F_utf_fragment || data_make->main->setting.state.status == F_valid_not)) { break; } } else { // Reserve 4-bytes (the max size of a Unicode UTF-8 sequence). - data_make->setting->state.status = f_string_dynamic_increase_by(4, destination); - if (F_status_is_error(data_make->setting->state.status)) return; + data_make->main->setting.state.status = f_string_dynamic_increase_by(4, destination); + if (F_status_is_error(data_make->main->setting.state.status)) return; if (!codepoint) { destination->string[destination->used++] = f_string_null_s.string[0]; @@ -229,10 +229,10 @@ extern "C" { { f_string_t address = destination->string + destination->used; - data_make->setting->state.status = f_utf_unicode_from(codepoint, 4, &address); + data_make->main->setting.state.status = f_utf_unicode_from(codepoint, 4, &address); } - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { destination->string[destination->used] = 0; } else { @@ -262,34 +262,34 @@ extern "C" { } } else { - data_make->setting->state.status = f_string_dynamic_increase_by(F_memory_default_allocation_small_d, destination); - if (F_status_is_error(data_make->setting->state.status)) return; + data_make->main->setting.state.status = f_string_dynamic_increase_by(F_memory_default_allocation_small_d, destination); + if (F_status_is_error(data_make->main->setting.state.status)) return; destination->string[destination->used++] = source.string[i]; } } // for - if (F_status_is_error(data_make->setting->state.status)) return; + if (F_status_is_error(data_make->main->setting.state.status)) return; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_buffer_escape_ #ifndef _di_fake_make_operate_process_execute_ void fake_make_operate_process_execute(fake_make_data_t * const data_make, const f_string_static_t program, const f_string_statics_t arguments, const bool as_shell) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (!program.used && !arguments.used) { - data_make->setting->state.status = F_data_not; + data_make->main->setting.state.status = F_data_not; return; } - if (fll_program_standard_signal_received(data_make->program)) { - fll_program_print_signal_received(data_make->program->warning, data_make->program->signal_received); + if (fll_program_standard_signal_received(&data_make->main->program)) { + fll_program_print_signal_received(data_make->main->program.warning, data_make->main->program.signal_received); - data_make->setting->state.status = F_status_set_error(F_interrupt); + data_make->main->setting.state.status = F_status_set_error(F_interrupt); return; } @@ -304,25 +304,25 @@ extern "C" { data_make->environment.used = 0; if (data_make->setting_build.flag & data_build_setting_flag_has_environment_e) { - data_make->setting->state.status = fl_environment_load_names(data_make->setting_build.environment, &data_make->environment); + data_make->main->setting.state.status = fl_environment_load_names(data_make->setting_build.environment, &data_make->environment); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(fl_environment_load_names)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(fl_environment_load_names)); return; } } else { - data_make->setting->state.status = f_environment_get_all(&data_make->environment); + data_make->main->setting.state.status = f_environment_get_all(&data_make->environment); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_environment_get_all)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_environment_get_all)); return; } } - fake_make_print_verbose_operate_program(data_make->setting, data_make->program->message, program, arguments); + fake_make_print_verbose_operate_program(&data_make->main->program.message, program, arguments); // Child processes should receive all signals, without blocking. f_signal_how_t signals = f_signal_how_t_initialize; @@ -333,24 +333,24 @@ extern "C" { int return_code = 0; - data_make->setting->state.status = fll_execute_program(program, arguments, ¶meter, 0, (void *) &return_code); + data_make->main->setting.state.status = fll_execute_program(program, arguments, ¶meter, 0, (void *) &return_code); - if (fll_program_standard_signal_received(data_make->program)) { - fll_program_print_signal_received(data_make->program->warning, data_make->program->signal_received); + if (fll_program_standard_signal_received(&data_make->main->program)) { + fll_program_print_signal_received(data_make->main->program.warning, data_make->main->program.signal_received); - data_make->setting->state.status = F_status_set_error(F_interrupt); + data_make->main->setting.state.status = F_status_set_error(F_interrupt); return; } - if (F_status_is_error(data_make->setting->state.status)) { - if (F_status_set_fine(data_make->setting->state.status) == F_interrupt) return; + if (F_status_is_error(data_make->main->setting.state.status)) { + if (F_status_set_fine(data_make->main->setting.state.status) == F_interrupt) return; - if (F_status_set_fine(data_make->setting->state.status) == F_file_found_not) { - fake_make_print_error_program_not_found(data_make->setting, data_make->program->error, program); + if (F_status_set_fine(data_make->main->setting.state.status) == F_file_found_not) { + fake_make_print_error_program_not_found(&data_make->main->program.error, program); } - else if (F_status_set_fine(data_make->setting->state.status) != F_failure) { - fake_print_error(&data_make->program->error, macro_fake_f(fll_execute_program)); + else if (F_status_set_fine(data_make->main->setting.state.status) != F_failure) { + fake_print_error(&data_make->main->program.error, macro_fake_f(fll_execute_program)); } } @@ -363,54 +363,54 @@ extern "C" { #ifndef _di_fake_make_operate_process_return_ void fake_make_operate_process_return(fake_make_data_t * const data_make, const int return_code) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; - const f_status_t status_original = data_make->setting->state.status; + const f_status_t status_original = data_make->main->setting.state.status; data_make->setting_make.parameter.array[0].value.array[0].used = 0; if (return_code) { f_string_dynamic_t number = f_string_dynamic_t_initialize; - data_make->setting->state.status = f_conversion_number_signed_to_string(WEXITSTATUS(return_code), f_conversion_data_base_10_c, &number); + data_make->main->setting.state.status = f_conversion_number_signed_to_string(WEXITSTATUS(return_code), f_conversion_data_base_10_c, &number); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_conversion_number_signed_to_string)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_conversion_number_signed_to_string)); f_string_dynamic_resize(0, &number); return; } - data_make->setting->state.status = f_string_dynamic_append(number, &data_make->setting_make.parameter.array[0].value.array[0]); + data_make->main->setting.state.status = f_string_dynamic_append(number, &data_make->setting_make.parameter.array[0].value.array[0]); f_string_dynamic_resize(0, &number); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append)); return; } - fake_make_print_error_program_failed(data_make->setting, data_make->program->error, return_code); + fake_make_print_error_program_failed(&data_make->main->program.error, return_code); - data_make->setting->state.status = (data_make->setting_make.fail == fake_make_operation_fail_exit_e) ? F_status_set_error(F_failure) : F_failure; + data_make->main->setting.state.status = (data_make->setting_make.fail == fake_make_operation_fail_exit_e) ? F_status_set_error(F_failure) : F_failure; return; } if (F_status_is_error(status_original)) { - data_make->setting->state.status = f_string_dynamic_append(f_string_ascii_1_s, &data_make->setting_make.parameter.array[0].value.array[0]); + data_make->main->setting.state.status = f_string_dynamic_append(f_string_ascii_1_s, &data_make->setting_make.parameter.array[0].value.array[0]); } else { - data_make->setting->state.status = f_string_dynamic_append(f_string_ascii_0_s, &data_make->setting_make.parameter.array[0].value.array[0]); + data_make->main->setting.state.status = f_string_dynamic_append(f_string_ascii_0_s, &data_make->setting_make.parameter.array[0].value.array[0]); } - if (F_status_is_error(data_make->setting->state.status)) { - fll_error_print(data_make->error, F_status_set_fine(data_make->setting->state.status), macro_fake_f(f_string_dynamic_append), F_true); + if (F_status_is_error(data_make->main->setting.state.status)) { + fll_error_print(data_make->error, F_status_set_fine(data_make->main->setting.state.status), macro_fake_f(f_string_dynamic_append), F_true); } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } } #endif // _di_fake_make_operate_process_return_ @@ -418,10 +418,10 @@ extern "C" { #ifndef _di_fake_make_operate_process_run_ void fake_make_operate_process_run(fake_make_data_t * const data_make, const bool as_shell) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (!data_make->cache_arguments.used) { - data_make->setting->state.status = F_data_not; + data_make->main->setting.state.status = F_data_not; return; } diff --git a/level_3/fake/c/main/make/operate_process.h b/level_3/fake/c/main/make/operate_process.h index b2aadab..73eec51 100644 --- a/level_3/fake/c/main/make/operate_process.h +++ b/level_3/fake/c/main/make/operate_process.h @@ -22,7 +22,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_interrupt (with error bit) on interrupt signal received. @@ -194,7 +194,7 @@ extern "C" { /** * Handle the return code, converting it to a standard return number and store it as a string. * - * The return value is stored in: data_make.setting_make.parameter.array[0].value.array[0]. + * The return value is stored in: data_make.main->setting_make.parameter.array[0].value.array[0]. * * @param data_make * All make related setting data, including data from the fakefile and the build settings file. diff --git a/level_3/fake/c/main/make/operate_process_type.c b/level_3/fake/c/main/make/operate_process_type.c index c5ca6bf..dbc746c 100644 --- a/level_3/fake/c/main/make/operate_process_type.c +++ b/level_3/fake/c/main/make/operate_process_type.c @@ -7,47 +7,47 @@ extern "C" { #ifndef _di_fake_make_operate_process_type_break_ void fake_make_operate_process_type_break(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; if (!data_make->cache_arguments.used || fl_string_dynamic_compare(fake_make_operation_argument_success_s, data_make->cache_arguments.array[0]) == F_equal_to) { - data_make->setting->state.status = F_signal_abort; + data_make->main->setting.state.status = F_signal_abort; } else if (fl_string_dynamic_compare(fake_make_operation_argument_failure_s, data_make->cache_arguments.array[0]) == F_equal_to) { - data_make->setting->state.status = F_status_set_error(F_signal_abort); + data_make->main->setting.state.status = F_status_set_error(F_signal_abort); } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; return; } - fake_make_print_verbose_operate_break(data_make->setting, data_make->program->message, data_make->cache_arguments); + fake_make_print_verbose_operate_break(&data_make->main->program.message, data_make->cache_arguments); } #endif // _di_fake_make_operate_process_type_break_ #ifndef _di_fake_make_operate_process_type_build_ void fake_make_operate_process_type_build(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; fake_build_operate(data_make->data, data_make->cache_arguments.used ? &data_make->cache_arguments : 0, F_false); - if (F_status_set_fine(data_make->setting->state.status) == F_interrupt) return; + if (F_status_set_fine(data_make->main->setting.state.status) == F_interrupt) return; - fake_make_operate_process_return(data_make, F_status_is_error(data_make->setting->state.status) ? 1 : 0); + fake_make_operate_process_return(data_make, F_status_is_error(data_make->main->setting.state.status) ? 1 : 0); } #endif // _di_fake_make_operate_process_type_build_ #ifndef _di_fake_make_operate_process_type_clean_ void fake_make_operate_process_type_clean(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; fake_clean_operate(data_make->data); - if (F_status_set_fine(data_make->setting->state.status) == F_interrupt) return; + if (F_status_set_fine(data_make->main->setting.state.status) == F_interrupt) return; - fake_make_operate_process_return(data_make, F_status_is_error(data_make->setting->state.status) ? 1 : 0); + fake_make_operate_process_return(data_make, F_status_is_error(data_make->main->setting.state.status) ? 1 : 0); } #endif // _di_fake_make_operate_process_type_clean_ @@ -58,10 +58,10 @@ extern "C" { const int result = fake_execute(data_make->data, data_make->environment, data_make->setting_build.build_compiler, data_make->cache_arguments); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(fake_execute)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(fake_execute)); } - else if (data_make->setting->state.status == F_child) { + else if (data_make->main->setting.state.status == F_child) { return result; } @@ -74,9 +74,9 @@ extern "C" { #ifndef _di_fake_make_operate_process_type_condition_ void fake_make_operate_process_type_condition(fake_make_data_t * const data_make, fake_state_process_t * const state_process) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; if (state_process->condition == fake_make_operation_if_type_if_define_e) { fake_make_operate_process_type_if_define(data_make, F_false, state_process); @@ -195,19 +195,22 @@ extern "C" { #ifndef _di_fake_make_operate_process_type_copy_ void fake_make_operate_process_type_copy(fake_make_data_t * const data_make, const bool clone) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; const f_array_length_t total = data_make->cache_arguments.used - 1; f_string_static_t destination = f_string_static_t_initialize; f_directory_recurse_t recurse = f_directory_recurse_t_initialize; + if (data_make->main->program.error.verbosity > f_console_verbosity_normal_e) { + recurse.state.custom = data_make->main; + recurse.verbose = clone ? fake_print_verbose_recursive_clone : fake_print_verbose_recursive_copy; + } + if (clone) { - recurse.verbose = fake_print_verbose_clone; recurse.flag = f_file_stat_flag_group_e | f_file_stat_flag_owner_e; } else { - recurse.verbose = fake_print_verbose_copy; - macro_f_mode_t_set_default_umask(recurse.mode, data_make->program->umask); + macro_f_mode_t_set_default_umask(recurse.mode, data_make->main->program.umask); } bool existing = F_true; @@ -220,19 +223,19 @@ extern "C" { // In this case, the destination could be a file, so confirm this. if (data_make->cache_arguments.used == 2 + i) { - data_make->setting->state.status = f_directory_is(data_make->cache_arguments.array[1]); + data_make->main->setting.state.status = f_directory_is(data_make->cache_arguments.array[1]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_directory_is), data_make->cache_arguments.array[1], f_file_operation_identify_s, fll_error_file_type_path_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_directory_is), data_make->cache_arguments.array[1], f_file_operation_identify_s, fll_error_file_type_path_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); f_directory_recurse_delete(&recurse); return; } - if (data_make->setting->state.status == F_false || data_make->setting->state.status == F_file_found_not || data_make->setting->state.status == F_data_not) { + if (data_make->main->setting.state.status == F_false || data_make->main->setting.state.status == F_file_found_not || data_make->main->setting.state.status == F_data_not) { existing = F_false; } } @@ -244,12 +247,12 @@ extern "C" { if (existing) { data_make->cache_path.used = 0; - data_make->setting->state.status = f_file_name_base(data_make->cache_arguments.array[i], &data_make->cache_path); + data_make->main->setting.state.status = f_file_name_base(data_make->cache_arguments.array[i], &data_make->cache_path); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_name_base), data_make->cache_arguments.array[i], f_file_operation_process_s, fll_error_file_type_path_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_name_base), data_make->cache_arguments.array[i], f_file_operation_process_s, fll_error_file_type_path_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); f_directory_recurse_delete(&recurse); @@ -283,9 +286,9 @@ extern "C" { } } - data_make->setting->state.status = f_directory_is(data_make->cache_arguments.array[i]); + data_make->main->setting.state.status = f_directory_is(data_make->cache_arguments.array[i]); - if (data_make->setting->state.status == F_true) { + if (data_make->main->setting.state.status == F_true) { if (clone) { recurse.flag |= f_directory_recurse_flag_clone_e; } @@ -296,35 +299,35 @@ extern "C" { fl_directory_copy(data_make->cache_arguments.array[i], destination, &recurse); if (F_status_is_error(recurse.state.status)) { - data_make->setting->state.status = recurse.state.status; + data_make->main->setting.state.status = recurse.state.status; - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(fl_directory_copy), data_make->cache_arguments.array[i], clone ? f_file_operation_clone_s : f_file_operation_copy_s, fll_error_file_type_directory_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(fl_directory_copy), data_make->cache_arguments.array[i], clone ? f_file_operation_clone_s : f_file_operation_copy_s, fll_error_file_type_directory_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } - else if (data_make->setting->state.status == F_false) { + else if (data_make->main->setting.state.status == F_false) { if (clone) { - data_make->setting->state.status = f_file_clone(data_make->cache_arguments.array[i], destination, recurse.size_block, recurse.flag); + data_make->main->setting.state.status = f_file_clone(data_make->cache_arguments.array[i], destination, recurse.size_block, recurse.flag); } else { - data_make->setting->state.status = f_file_copy(data_make->cache_arguments.array[i], destination, recurse.mode, recurse.size_block, recurse.flag); + data_make->main->setting.state.status = f_file_copy(data_make->cache_arguments.array[i], destination, recurse.mode, recurse.size_block, recurse.flag); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, clone ? macro_fake_f(f_file_clone) : macro_fake_f(f_file_copy), data_make->cache_arguments.array[i], clone ? f_file_operation_clone_s : f_file_operation_copy_s, fll_error_file_type_file_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, clone ? macro_fake_f(f_file_clone) : macro_fake_f(f_file_copy), data_make->cache_arguments.array[i], clone ? f_file_operation_clone_s : f_file_operation_copy_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); break; } - fake_make_print_verbose_operate_copy(data_make->setting, data_make->program->message, clone, data_make->cache_arguments.array[i], destination); + fake_make_print_verbose_operate_copy(&data_make->main->program.message, clone, data_make->cache_arguments.array[i], destination); } - else if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_directory_is), data_make->cache_arguments.array[i], f_file_operation_identify_s, fll_error_file_type_directory_e); + else if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_directory_is), data_make->cache_arguments.array[i], f_file_operation_identify_s, fll_error_file_type_directory_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); break; } @@ -332,8 +335,8 @@ extern "C" { f_directory_recurse_delete(&recurse); - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = F_none; + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = F_none; } } #endif // _di_fake_make_operate_process_type_copy_ @@ -341,22 +344,22 @@ extern "C" { #ifndef _di_fake_make_operate_process_type_define_ void fake_make_operate_process_type_define(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (data_make->cache_arguments.used > 1) { - data_make->setting->state.status = f_environment_set(data_make->cache_arguments.array[0], data_make->cache_arguments.array[1], F_true); + data_make->main->setting.state.status = f_environment_set(data_make->cache_arguments.array[0], data_make->cache_arguments.array[1], F_true); } else { - data_make->setting->state.status = f_environment_set(data_make->cache_arguments.array[0], f_string_empty_s, F_true); + data_make->main->setting.state.status = f_environment_set(data_make->cache_arguments.array[0], f_string_empty_s, F_true); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_environment_set)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_environment_set)); } else { - fake_make_print_verbose_operate_define(data_make->setting, data_make->program->message, data_make->cache_arguments.array[0]); + fake_make_print_verbose_operate_define(&data_make->main->program.message, data_make->cache_arguments.array[0]); - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } } #endif // _di_fake_make_operate_process_type_define_ @@ -364,160 +367,160 @@ extern "C" { #ifndef _di_fake_make_operate_process_type_deletes_ void fake_make_operate_process_type_deletes(fake_make_data_t * const data_make, const bool all) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; const int recursion_max = all ? F_directory_max_descriptors_d : 0; struct stat file_stat; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; for (f_array_length_t i = 0; i < data_make->cache_arguments.used; ++i) { memset(&file_stat, 0, sizeof(struct stat)); - data_make->setting->state.status = f_file_stat(data_make->cache_arguments.array[i], F_false, &file_stat); + data_make->main->setting.state.status = f_file_stat(data_make->cache_arguments.array[i], F_false, &file_stat); - if (F_status_is_error(data_make->setting->state.status)) { - if (F_status_set_fine(data_make->setting->state.status) == F_file_found_not) { - fake_make_print_warning_file_not_found(data_make->setting, data_make->program->warning, data_make->cache_arguments.array[i]); + if (F_status_is_error(data_make->main->setting.state.status)) { + if (F_status_set_fine(data_make->main->setting.state.status) == F_file_found_not) { + fake_make_print_warning_file_not_found(&data_make->main->program.warning, data_make->cache_arguments.array[i]); - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } else { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_stat), data_make->cache_arguments.array[i], f_file_operation_delete_s, fll_error_file_type_file_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_stat), data_make->cache_arguments.array[i], f_file_operation_delete_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } else if (macro_f_file_type_is_directory(file_stat.st_mode)) { - if (data_make->program->error.verbosity >= f_console_verbosity_verbose_e) { - data_make->setting->state.status = f_directory_remove_custom(data_make->cache_arguments.array[i], recursion_max, F_false, fake_clean_remove_recursively_verbosely); + if (data_make->main->program.error.verbosity >= f_console_verbosity_verbose_e) { + data_make->main->setting.state.status = f_directory_remove_custom(data_make->cache_arguments.array[i], recursion_max, F_false, fake_clean_remove_recursively_verbosely); } else { - data_make->setting->state.status = f_directory_remove(data_make->cache_arguments.array[i], recursion_max, F_false); + data_make->main->setting.state.status = f_directory_remove(data_make->cache_arguments.array[i], recursion_max, F_false); } - if (F_status_set_fine(data_make->setting->state.status) == F_file_found_not) { - fake_make_print_verbose_operate_file_not_found(data_make->setting, data_make->program->message, F_true, data_make->cache_arguments.array[i]); + if (F_status_set_fine(data_make->main->setting.state.status) == F_file_found_not) { + fake_make_print_verbose_operate_file_not_found(&data_make->main->program.message, F_true, data_make->cache_arguments.array[i]); - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_directory_remove), data_make->cache_arguments.array[i], f_file_operation_delete_s, fll_error_file_type_directory_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_directory_remove), data_make->cache_arguments.array[i], f_file_operation_delete_s, fll_error_file_type_directory_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } else { - data_make->setting->state.status = f_file_remove(data_make->cache_arguments.array[i]); + data_make->main->setting.state.status = f_file_remove(data_make->cache_arguments.array[i]); - if (F_status_set_fine(data_make->setting->state.status) == F_file_found_not) { - if (data_make->program->error.verbosity >= f_console_verbosity_verbose_e) { - fake_make_print_verbose_operate_file_not_found(data_make->setting, data_make->program->message, F_false, data_make->cache_arguments.array[i]); + if (F_status_set_fine(data_make->main->setting.state.status) == F_file_found_not) { + if (data_make->main->program.error.verbosity >= f_console_verbosity_verbose_e) { + fake_make_print_verbose_operate_file_not_found(&data_make->main->program.message, F_false, data_make->cache_arguments.array[i]); } - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_remove), data_make->cache_arguments.array[i], f_file_operation_delete_s, fll_error_file_type_file_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_remove), data_make->cache_arguments.array[i], f_file_operation_delete_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } - fake_make_print_verbose_operate_delete(data_make->setting, data_make->program->message, data_make->cache_arguments.array[i]); + fake_make_print_verbose_operate_delete(&data_make->main->program.message, data_make->cache_arguments.array[i]); } // for - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_deletes_ #ifndef _di_fake_make_operate_process_type_exit_ void fake_make_operate_process_type_exit(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; if (!data_make->cache_arguments.used || fl_string_dynamic_compare(fake_make_operation_argument_success_s, data_make->cache_arguments.array[0]) == F_equal_to) { - data_make->setting->state.status = F_signal_quit; + data_make->main->setting.state.status = F_signal_quit; } else if (fl_string_dynamic_compare(fake_make_operation_argument_failure_s, data_make->cache_arguments.array[0]) == F_equal_to) { - data_make->setting->state.status = F_status_set_error(F_signal_quit); + data_make->main->setting.state.status = F_status_set_error(F_signal_quit); // Forcing exit forces fail mode. data_make->setting_make.fail = fake_make_operation_fail_exit_e; data_make->error.prefix = fl_print_error_s; data_make->error.suffix = f_string_empty_s; - data_make->error.context = data_make->program->context.set.error; - data_make->error.notable = data_make->program->context.set.notable; - data_make->program->error.to.stream = F_type_error_d; - data_make->program->error.to.id = F_type_descriptor_error_d; - data_make->error.set = &data_make->program->context.set; + data_make->error.context = data_make->main->program.context.set.error; + data_make->error.notable = data_make->main->program.context.set.notable; + data_make->main->program.error.to.stream = F_type_error_d; + data_make->main->program.error.to.id = F_type_descriptor_error_d; + data_make->error.set = &data_make->main->program.context.set; } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; return; } - fake_make_print_verbose_operate_exiting_as(data_make->setting, data_make->program->message, data_make->cache_arguments); + fake_make_print_verbose_operate_exiting_as(&data_make->main->program.message, data_make->cache_arguments); } #endif // _di_fake_make_operate_process_type_exit_ #ifndef _di_fake_make_operate_process_type_fail_ void fake_make_operate_process_type_fail(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (fl_string_dynamic_compare(fake_make_operation_argument_exit_s, data_make->cache_arguments.array[0]) == F_equal_to) { data_make->setting_make.fail = fake_make_operation_fail_exit_e; data_make->error.prefix = fl_print_error_s; data_make->error.suffix = f_string_empty_s; - data_make->error.context = data_make->program->context.set.error; - data_make->error.notable = data_make->program->context.set.notable; - data_make->program->error.to.stream = F_type_error_d; - data_make->program->error.to.id = F_type_descriptor_error_d; - data_make->error.set = &data_make->program->context.set; + data_make->error.context = data_make->main->program.context.set.error; + data_make->error.notable = data_make->main->program.context.set.notable; + data_make->main->program.error.to.stream = F_type_error_d; + data_make->main->program.error.to.id = F_type_descriptor_error_d; + data_make->error.set = &data_make->main->program.context.set; } else if (fl_string_dynamic_compare(fake_make_operation_argument_warn_s, data_make->cache_arguments.array[0]) == F_equal_to) { data_make->setting_make.fail = fake_make_operation_fail_warn_e; data_make->error.prefix = fl_print_warning_s; data_make->error.suffix = f_string_empty_s; - data_make->error.context = data_make->program->context.set.warning; - data_make->error.notable = data_make->program->context.set.notable; - data_make->program->error.to.stream = F_type_output_d; - data_make->program->error.to.id = F_type_descriptor_output_d; - data_make->error.set = &data_make->program->context.set; + data_make->error.context = data_make->main->program.context.set.warning; + data_make->error.notable = data_make->main->program.context.set.notable; + data_make->main->program.error.to.stream = F_type_output_d; + data_make->main->program.error.to.id = F_type_descriptor_output_d; + data_make->error.set = &data_make->main->program.context.set; } else { data_make->setting_make.fail = fake_make_operation_fail_ignore_e; - data_make->program->error.to.stream = 0; - data_make->program->error.to.id = -1; + data_make->main->program.error.to.stream = 0; + data_make->main->program.error.to.id = -1; } - fake_make_print_verbose_operate_set_failure_state(data_make->setting, data_make->program->message, data_make->setting_make.fail); + fake_make_print_verbose_operate_set_failure_state(&data_make->main->program.message, data_make->setting_make.fail); } #endif // _di_fake_make_operate_process_type_fail_ #ifndef _di_fake_make_operate_process_type_groups_ void fake_make_operate_process_type_groups(fake_make_data_t * const data_make, const bool all) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; gid_t id = 0; bool dereference = F_true; f_array_length_t i = 0; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; if (fl_string_dynamic_compare(fake_make_operation_argument_no_dereference_s, data_make->cache_arguments.array[i]) == F_equal_to) { ++i; @@ -526,46 +529,46 @@ extern "C" { id = (gid_t) fake_make_get_id(data_make, F_false, data_make->cache_arguments.array[i++]); - if (F_status_is_error(data_make->setting->state.status)) { - data_make->setting->state.status = F_status_set_error(F_failure); + if (F_status_is_error(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = F_status_set_error(F_failure); } for (; i < data_make->cache_arguments.used; ++i) { fake_make_assure_inside_project(data_make, data_make->cache_arguments.array[i]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_operation_path_outside(data_make->setting, data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[i]); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_operation_path_outside(&data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[i]); continue; } if (all) { - data_make->setting->state.status = fll_file_role_change_all(data_make->cache_arguments.array[i], -1, id, dereference, fake_max_recursion_depth_d); + data_make->main->setting.state.status = fll_file_role_change_all(data_make->cache_arguments.array[i], -1, id, dereference, fake_max_recursion_depth_d); } else { - data_make->setting->state.status = f_file_role_change(data_make->cache_arguments.array[i], -1, id, dereference); + data_make->main->setting.state.status = f_file_role_change(data_make->cache_arguments.array[i], -1, id, dereference); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, all ? macro_fake_f(fll_file_role_change_all) : macro_fake_f(f_file_role_change), data_make->cache_arguments.array[i], f_file_operation_change_group_s, fll_error_file_type_file_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, all ? macro_fake_f(fll_file_role_change_all) : macro_fake_f(f_file_role_change), data_make->cache_arguments.array[i], f_file_operation_change_group_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - fake_make_print_verbose_operate_set_role(data_make->setting, data_make->program->message, all ? 0x1 : 0x0, data_make->cache_arguments.array[i], (f_number_unsigned_t) id); + fake_make_print_verbose_operate_set_role(&data_make->main->program.message, all ? 0x1 : 0x0, data_make->cache_arguments.array[i], (f_number_unsigned_t) id); } // for - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_groups_ #ifndef _di_fake_make_operate_process_type_if_define_ void fake_make_operate_process_type_if_define(fake_make_data_t * const data_make, const bool if_not, fake_state_process_t *state_process) { - if (!data_make || !data_make->program || !data_make->setting || !state_process) return; + if (!data_make || !data_make->main || !state_process) return; state_process->condition_result = fake_condition_result_true_e; @@ -596,12 +599,12 @@ extern "C" { #ifndef _di_fake_make_operate_process_type_if_exist_ void fake_make_operate_process_type_if_exist(fake_make_data_t * const data_make, const bool if_not, fake_state_process_t *state_process) { - if (!data_make || !data_make->program || !data_make->setting || !state_process) return; + if (!data_make || !data_make->main || !state_process) return; f_array_length_t i = if_not ? 2 : 1; bool dereference = F_true; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; if (i == data_make->cache_arguments.used) { if (if_not) { @@ -611,7 +614,7 @@ extern "C" { state_process->condition_result = fake_condition_result_false_e; } - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; return; } @@ -625,27 +628,27 @@ extern "C" { for (; i < data_make->cache_arguments.used; ++i) { - data_make->setting->state.status = f_file_exists(data_make->cache_arguments.array[i], dereference); + data_make->main->setting.state.status = f_file_exists(data_make->cache_arguments.array[i], dereference); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { state_process->condition_result = fake_condition_result_error_e; - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_exists), data_make->cache_arguments.array[i], f_file_operation_find_s, fll_error_file_type_file_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_exists), data_make->cache_arguments.array[i], f_file_operation_find_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } if (if_not) { - if (data_make->setting->state.status == F_true) { + if (data_make->main->setting.state.status == F_true) { state_process->condition_result = fake_condition_result_false_e; break; } } else { - if (data_make->setting->state.status != F_true) { + if (data_make->main->setting.state.status != F_true) { state_process->condition_result = fake_condition_result_false_e; break; @@ -653,14 +656,14 @@ extern "C" { } } // for - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_if_exist_ #ifndef _di_fake_make_operate_process_type_if_is_ void fake_make_operate_process_type_if_is(fake_make_data_t * const data_make, const bool if_not, fake_state_process_t *state_process) { - if (!data_make || !data_make->program || !data_make->setting || !state_process) return; + if (!data_make || !data_make->main || !state_process) return; // block = 0x1 (0000 0001) link = 0x10 (0001 0000) // character = 0x2 (0000 0010) regular = 0x20 (0010 0000) @@ -671,7 +674,7 @@ extern "C" { f_array_length_t i = if_not ? 2 : 1; bool dereference = F_true; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; if (fl_string_dynamic_compare(fake_make_operation_argument_no_dereference_s, data_make->cache_arguments.array[i]) == F_equal_to) { ++i; @@ -686,7 +689,7 @@ extern "C" { state_process->condition_result = fake_condition_result_false_e; } - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; return; } @@ -729,14 +732,14 @@ extern "C" { for (; i < data_make->cache_arguments.used; ++i, mode_file = 0) { - data_make->setting->state.status = f_file_mode_read(data_make->cache_arguments.array[i], dereference, &mode_file); + data_make->main->setting.state.status = f_file_mode_read(data_make->cache_arguments.array[i], dereference, &mode_file); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { state_process->condition_result = fake_condition_result_error_e; - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_mode_read), data_make->cache_arguments.array[i], f_file_operation_get_type_s, fll_error_file_type_file_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_mode_read), data_make->cache_arguments.array[i], f_file_operation_get_type_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -779,14 +782,14 @@ extern "C" { } } // for - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_if_is_ #ifndef _di_fake_make_operate_process_type_if_greater_if_lesser_ void fake_make_operate_process_type_if_greater_if_lesser(fake_make_data_t * const data_make, fake_state_process_t *state_process) { - if (!data_make || !data_make->program || !data_make->setting || !state_process) return; + if (!data_make || !data_make->main || !state_process) return; f_string_range_t range = f_string_range_t_initialize; f_number_unsigned_t number_left = 0; @@ -797,7 +800,7 @@ extern "C" { f_array_length_t i = 1; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; state_process->condition_result = fake_condition_result_true_e; range.start = 0; @@ -812,14 +815,14 @@ extern "C" { } if (range.start > range.stop) { - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } else { - data_make->setting->state.status = fl_conversion_dynamic_partial_to_unsigned_detect(fl_conversion_data_base_10_c, data_make->cache_arguments.array[i], range, &number_left); + data_make->main->setting.state.status = fl_conversion_dynamic_partial_to_unsigned_detect(fl_conversion_data_base_10_c, data_make->cache_arguments.array[i], range, &number_left); } - if (F_status_is_error_not(data_make->setting->state.status)) { - for (i = 2; i < data_make->cache_arguments.used; ++i, data_make->setting->state.status = F_none, number_left = number_right, is_negative_left = is_negative_right) { + if (F_status_is_error_not(data_make->main->setting.state.status)) { + for (i = 2; i < data_make->cache_arguments.used; ++i, data_make->main->setting.state.status = F_none, number_left = number_right, is_negative_left = is_negative_right) { if (data_make->cache_arguments.array[i].used) { range.start = 0; @@ -836,17 +839,17 @@ extern "C" { } if (range.start > range.stop) { - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } else { - data_make->setting->state.status = fl_conversion_dynamic_partial_to_unsigned_detect(fl_conversion_data_base_10_c, data_make->cache_arguments.array[i], range, &number_right); + data_make->main->setting.state.status = fl_conversion_dynamic_partial_to_unsigned_detect(fl_conversion_data_base_10_c, data_make->cache_arguments.array[i], range, &number_right); } } else { - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } - if (F_status_is_error(data_make->setting->state.status)) break; + if (F_status_is_error(data_make->main->setting.state.status)) break; if (state_process->condition == fake_make_operation_if_type_if_greater_e) { @@ -911,20 +914,20 @@ extern "C" { } // for } - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { state_process->condition_result = fake_condition_result_error_e; if ((i == 1 && number_left > F_number_t_size_unsigned_d) || (i > 1 && number_right > F_number_t_size_unsigned_d)) { - fake_make_print_error_out_of_range_number(data_make->setting, data_make->program->error, data_make->cache_arguments.array[i], F_number_t_size_unsigned_d, F_number_t_size_unsigned_d); + fake_make_print_error_out_of_range_number(&data_make->main->program.error, data_make->cache_arguments.array[i], F_number_t_size_unsigned_d, F_number_t_size_unsigned_d); } else { - fake_make_print_error_unsupported_number(data_make->setting, data_make->program->error, data_make->cache_arguments.array[i]); + fake_make_print_error_unsupported_number(&data_make->main->program.error, data_make->cache_arguments.array[i]); } - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } } #endif // _di_fake_make_operate_process_type_if_greater_if_lesser_ @@ -932,13 +935,13 @@ extern "C" { #ifndef _di_fake_make_operate_process_type_if_group_ void fake_make_operate_process_type_if_group(fake_make_data_t * const data_make, const bool if_not, fake_state_process_t *state_process) { - if (!data_make || !data_make->program || !data_make->setting || !state_process) return; + if (!data_make || !data_make->main || !state_process) return; uid_t id = 0; f_array_length_t i = if_not ? 2 : 1; bool dereference = F_true; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; if (fl_string_dynamic_compare(fake_make_operation_argument_no_dereference_s, data_make->cache_arguments.array[i]) == F_equal_to) { ++i; @@ -947,12 +950,12 @@ extern "C" { id = (uid_t) fake_make_get_id(data_make, F_true, data_make->cache_arguments.array[i++]); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { state_process->condition_result = fake_condition_result_error_e; - fake_print_error(&data_make->program->error, macro_fake_f(fake_make_get_id)); + fake_print_error(&data_make->main->program.error, macro_fake_f(fake_make_get_id)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -961,14 +964,14 @@ extern "C" { for (uid_t id_file = 0; i < data_make->cache_arguments.used; ++i, id_file = 0) { - data_make->setting->state.status = f_file_group_read(data_make->cache_arguments.array[i], dereference, &id_file); + data_make->main->setting.state.status = f_file_group_read(data_make->cache_arguments.array[i], dereference, &id_file); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { state_process->condition_result = fake_condition_result_error_e; - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_group_read), data_make->cache_arguments.array[i], f_file_operation_get_group_s, fll_error_file_type_file_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_group_read), data_make->cache_arguments.array[i], f_file_operation_get_group_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -989,14 +992,14 @@ extern "C" { } } // for - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_if_group_ #ifndef _di_fake_make_operate_process_type_if_mode_ void fake_make_operate_process_type_if_mode(fake_make_data_t * const data_make, const bool if_not, fake_state_process_t *state_process) { - if (!data_make || !data_make->program || !data_make->setting || !state_process) return; + if (!data_make || !data_make->main || !state_process) return; f_file_mode_t mode_rule = 0; mode_t mode_match = 0; @@ -1011,24 +1014,24 @@ extern "C" { fake_make_get_id_mode(data_make, data_make->cache_arguments.array[if_not ? 3 : 2], &mode_rule, &mode_replace); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { state_process->condition_result = fake_condition_result_error_e; - fake_print_error(&data_make->program->error, macro_fake_f(fake_make_get_id_mode)); + fake_print_error(&data_make->main->program.error, macro_fake_f(fake_make_get_id_mode)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - data_make->setting->state.status = f_file_mode_to_mode(mode_rule, &mode_match); + data_make->main->setting.state.status = f_file_mode_to_mode(mode_rule, &mode_match); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { state_process->condition_result = fake_condition_result_error_e; - fake_print_error(&data_make->program->error, macro_fake_f(f_file_mode_to_mode)); + fake_print_error(&data_make->main->program.error, macro_fake_f(f_file_mode_to_mode)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -1040,14 +1043,14 @@ extern "C" { for (f_array_length_t i = if_not ? 4 : 3; i < data_make->cache_arguments.used; ++i, mode_file = 0) { - data_make->setting->state.status = f_file_mode_read(data_make->cache_arguments.array[i], F_true, &mode_file); + data_make->main->setting.state.status = f_file_mode_read(data_make->cache_arguments.array[i], F_true, &mode_file); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { state_process->condition_result = fake_condition_result_error_e; - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_mode_read), data_make->cache_arguments.array[i], f_file_operation_get_mode_s, fll_error_file_type_file_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_mode_read), data_make->cache_arguments.array[i], f_file_operation_get_mode_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -1086,20 +1089,20 @@ extern "C" { } } // for - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_if_mode_ #ifndef _di_fake_make_operate_process_type_if_owner_ void fake_make_operate_process_type_if_owner(fake_make_data_t * const data_make, const bool if_not, fake_state_process_t *state_process) { - if (!data_make || !data_make->program || !data_make->setting || !state_process) return; + if (!data_make || !data_make->main || !state_process) return; uid_t id = 0; f_array_length_t i = if_not ? 2 : 1; bool dereference = F_true; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; if (fl_string_dynamic_compare(fake_make_operation_argument_no_dereference_s, data_make->cache_arguments.array[i]) == F_equal_to) { ++i; @@ -1108,12 +1111,12 @@ extern "C" { id = (uid_t) fake_make_get_id(data_make, F_true, data_make->cache_arguments.array[i++]); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { state_process->condition_result = fake_condition_result_error_e; - fake_print_error(&data_make->program->error, macro_fake_f(fake_make_get_id)); + fake_print_error(&data_make->main->program.error, macro_fake_f(fake_make_get_id)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -1122,14 +1125,14 @@ extern "C" { for (uid_t id_file = 0; i < data_make->cache_arguments.used; ++i, id_file = 0) { - data_make->setting->state.status = f_file_owner_read(data_make->cache_arguments.array[i], dereference, &id_file); + data_make->main->setting.state.status = f_file_owner_read(data_make->cache_arguments.array[i], dereference, &id_file); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { state_process->condition_result = fake_condition_result_error_e; - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_owner_read), data_make->cache_arguments.array[i], f_file_operation_get_owner_s, fll_error_file_type_file_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_owner_read), data_make->cache_arguments.array[i], f_file_operation_get_owner_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -1150,14 +1153,14 @@ extern "C" { } } // for - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_if_owner_ #ifndef _di_fake_make_operate_process_type_if_parameter_ void fake_make_operate_process_type_if_parameter(fake_make_data_t * const data_make, const bool if_not, fake_state_process_t *state_process) { - if (!data_make || !data_make->program || !data_make->setting || !state_process) return; + if (!data_make || !data_make->main || !state_process) return; const f_string_static_t reserved_name[] = { fake_make_parameter_variable_build_s, @@ -1196,28 +1199,28 @@ extern "C" { }; const bool reserved_parameter[] = { - data_make->setting->build.used, + data_make->main->setting.build.used, F_true, - data_make->setting->data.used, - data_make->setting->defines.used, - data_make->setting->fakefile.used, - data_make->setting->modes.used, - data_make->setting->process.used, - data_make->setting->settings.used, - data_make->setting->sources.used, + data_make->main->setting.data.used, + data_make->main->setting.defines.used, + data_make->main->setting.fakefile.used, + data_make->main->setting.modes.used, + data_make->main->setting.process.used, + data_make->main->setting.settings.used, + data_make->main->setting.sources.used, F_true, - data_make->setting->work.used, - data_make->program->parameters.array[fake_parameter_build_e].result & f_console_result_value_e, - (data_make->program->parameters.array[fake_parameter_light_e].result & f_console_result_found_e) || (data_make->program->parameters.array[fake_parameter_dark_e].result & f_console_result_found_e) || (data_make->program->parameters.array[fake_parameter_no_color_e].result & f_console_result_found_e), - data_make->program->parameters.array[fake_parameter_data_e].result & f_console_result_value_e, - data_make->program->parameters.array[fake_parameter_define_e].result & f_console_result_value_e, - data_make->program->parameters.array[fake_parameter_fakefile_e].result & f_console_result_value_e, - data_make->program->parameters.array[fake_parameter_mode_e].result & f_console_result_value_e, - data_make->program->parameters.array[fake_parameter_process_e].result & f_console_result_value_e, - data_make->program->parameters.array[fake_parameter_settings_e].result & f_console_result_value_e, - data_make->program->parameters.array[fake_parameter_sources_e].result & f_console_result_value_e, - (data_make->program->parameters.array[fake_parameter_verbosity_quiet_e].result & f_console_result_found_e) || (data_make->program->parameters.array[fake_parameter_verbosity_normal_e].result & f_console_result_found_e) || (data_make->program->parameters.array[fake_parameter_verbosity_verbose_e].result & f_console_result_found_e) || (data_make->program->parameters.array[fake_parameter_verbosity_debug_e].result & f_console_result_found_e), - data_make->program->parameters.array[fake_parameter_work_e].result & f_console_result_value_e, + data_make->main->setting.work.used, + data_make->main->program.parameters.array[fake_parameter_build_e].result & f_console_result_value_e, + (data_make->main->program.parameters.array[fake_parameter_light_e].result & f_console_result_found_e) || (data_make->main->program.parameters.array[fake_parameter_dark_e].result & f_console_result_found_e) || (data_make->main->program.parameters.array[fake_parameter_no_color_e].result & f_console_result_found_e), + data_make->main->program.parameters.array[fake_parameter_data_e].result & f_console_result_value_e, + data_make->main->program.parameters.array[fake_parameter_define_e].result & f_console_result_value_e, + data_make->main->program.parameters.array[fake_parameter_fakefile_e].result & f_console_result_value_e, + data_make->main->program.parameters.array[fake_parameter_mode_e].result & f_console_result_value_e, + data_make->main->program.parameters.array[fake_parameter_process_e].result & f_console_result_value_e, + data_make->main->program.parameters.array[fake_parameter_settings_e].result & f_console_result_value_e, + data_make->main->program.parameters.array[fake_parameter_sources_e].result & f_console_result_value_e, + (data_make->main->program.parameters.array[fake_parameter_verbosity_quiet_e].result & f_console_result_found_e) || (data_make->main->program.parameters.array[fake_parameter_verbosity_normal_e].result & f_console_result_found_e) || (data_make->main->program.parameters.array[fake_parameter_verbosity_verbose_e].result & f_console_result_found_e) || (data_make->main->program.parameters.array[fake_parameter_verbosity_debug_e].result & f_console_result_found_e), + data_make->main->program.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, @@ -1295,11 +1298,11 @@ extern "C" { const int result = fake_execute(data_make->data, data_make->environment, data_make->setting_build.build_indexer, data_make->cache_arguments); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(fake_execute)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(fake_execute)); } - if (data_make->setting->state.status == F_child) return result; + if (data_make->main->setting.state.status == F_child) return result; fake_make_operate_process_return(data_make, result); @@ -1310,7 +1313,7 @@ extern "C" { #ifndef _di_fake_make_operate_process_type_link_ void fake_make_operate_process_type_link(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; // 0x1 = force, 0x2 = strict. uint8_t flag = 0; @@ -1335,61 +1338,61 @@ extern "C" { if ((flag & 0x1) && f_file_exists(data_make->cache_arguments.array[data_make->cache_arguments.used - 1], F_false) == F_true) { if (f_directory_is(data_make->cache_arguments.array[data_make->cache_arguments.used - 1]) == F_true) { - data_make->setting->state.status = f_directory_remove(data_make->cache_arguments.array[data_make->cache_arguments.used - 1], F_directory_max_descriptors_d, F_false); + data_make->main->setting.state.status = f_directory_remove(data_make->cache_arguments.array[data_make->cache_arguments.used - 1], F_directory_max_descriptors_d, F_false); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_directory_remove), data_make->cache_arguments.array[data_make->cache_arguments.used - 1], f_file_operation_delete_s, fll_error_file_type_directory_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_directory_remove), data_make->cache_arguments.array[data_make->cache_arguments.used - 1], f_file_operation_delete_s, fll_error_file_type_directory_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } else { - data_make->setting->state.status = f_file_remove(data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); + data_make->main->setting.state.status = f_file_remove(data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_remove), data_make->cache_arguments.array[data_make->cache_arguments.used - 1], f_file_operation_delete_s, fll_error_file_type_file_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_remove), data_make->cache_arguments.array[data_make->cache_arguments.used - 1], f_file_operation_delete_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } } - data_make->setting->state.status = f_file_link(data_make->cache_arguments.array[0], data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); + data_make->main->setting.state.status = f_file_link(data_make->cache_arguments.array[0], data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_link), data_make->cache_arguments.array[data_make->cache_arguments.used - 1], f_file_operation_link_s, fll_error_file_type_file_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_link), data_make->cache_arguments.array[data_make->cache_arguments.used - 1], f_file_operation_link_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - fake_make_print_verbose_operate_symbolic_link(data_make->setting, data_make->program->message, data_make->cache_arguments.array[data_make->cache_arguments.used - 1], data_make->cache_arguments.array[0]); + fake_make_print_verbose_operate_symbolic_link(&data_make->main->program.message, data_make->cache_arguments.array[data_make->cache_arguments.used - 1], data_make->cache_arguments.array[0]); - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_link_ #ifndef _di_fake_make_operate_process_type_modes_ void fake_make_operate_process_type_modes(fake_make_data_t * const data_make, const bool all) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; f_file_mode_t mode_rule = 0; uint8_t replace = 0; fake_make_get_id_mode(data_make, data_make->cache_arguments.array[0], &mode_rule, &replace); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(fake_make_get_id_mode)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(fake_make_get_id_mode)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -1399,79 +1402,81 @@ extern "C" { for (f_array_length_t i = 1; i < data_make->cache_arguments.used; ++i, mode = 0) { - data_make->setting->state.status = f_file_mode_read(data_make->cache_arguments.array[i], F_true, &mode_file); + data_make->main->setting.state.status = f_file_mode_read(data_make->cache_arguments.array[i], F_true, &mode_file); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_mode_read), data_make->cache_arguments.array[i], f_file_operation_change_group_s, fll_error_file_type_file_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_mode_read), data_make->cache_arguments.array[i], f_file_operation_change_group_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - data_make->setting->state.status = f_file_mode_determine(mode_file, mode_rule, replace, macro_f_file_type_is_directory(mode_file), &mode); + data_make->main->setting.state.status = f_file_mode_determine(mode_file, mode_rule, replace, macro_f_file_type_is_directory(mode_file), &mode); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_mode_determine), data_make->cache_arguments.array[i], f_file_operation_change_group_s, fll_error_file_type_file_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_mode_determine), data_make->cache_arguments.array[i], f_file_operation_change_group_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } if (all) { - data_make->setting->state.status = fll_file_mode_set_all(data_make->cache_arguments.array[i], F_true, mode, fake_max_recursion_depth_d); + data_make->main->setting.state.status = fll_file_mode_set_all(data_make->cache_arguments.array[i], F_true, mode, fake_max_recursion_depth_d); } else { - data_make->setting->state.status = f_file_mode_set(data_make->cache_arguments.array[i], mode); + data_make->main->setting.state.status = f_file_mode_set(data_make->cache_arguments.array[i], mode); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, all ? macro_fake_f(fll_file_mode_set_all) : macro_fake_f(f_file_mode_set), data_make->cache_arguments.array[i], f_file_operation_change_group_s, fll_error_file_type_file_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, all ? macro_fake_f(fll_file_mode_set_all) : macro_fake_f(f_file_mode_set), data_make->cache_arguments.array[i], f_file_operation_change_group_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - fake_make_print_verbose_operate_set_mode(data_make->setting, data_make->program->message, data_make->cache_arguments.array[i], mode); + fake_make_print_verbose_operate_set_mode(&data_make->main->program.message, data_make->cache_arguments.array[i], mode); } // for - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_modes_ #ifndef _di_fake_make_operate_process_type_move_ void fake_make_operate_process_type_move(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; const f_array_length_t total = data_make->cache_arguments.used -1; f_directory_recurse_t recurse = f_directory_recurse_t_initialize; f_string_static_t destination = f_string_static_t_initialize; - if (data_make->program->error.verbosity >= f_console_verbosity_verbose_e) { - recurse.verbose = fake_print_verbose_move; + if (data_make->main->program.error.verbosity > f_console_verbosity_normal_e) { + recurse.state.custom = data_make->main; + + recurse.verbose = fake_print_verbose_recursive_move; } bool existing = F_true; // In this case, the destination could be a file, so confirm this. if (data_make->cache_arguments.used == 2) { - data_make->setting->state.status = f_directory_is(data_make->cache_arguments.array[1]); + data_make->main->setting.state.status = f_directory_is(data_make->cache_arguments.array[1]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_directory_is), data_make->cache_arguments.array[1], f_file_operation_identify_s, fll_error_file_type_directory_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_directory_is), data_make->cache_arguments.array[1], f_file_operation_identify_s, fll_error_file_type_directory_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); f_directory_recurse_delete(&recurse); return; } - if (data_make->setting->state.status == F_false || data_make->setting->state.status == F_file_found_not) { + if (data_make->main->setting.state.status == F_false || data_make->main->setting.state.status == F_file_found_not) { existing = F_false; } } @@ -1483,12 +1488,12 @@ extern "C" { if (existing) { data_make->cache_path.used = 0; - data_make->setting->state.status = f_file_name_base(data_make->cache_arguments.array[i], &data_make->cache_path); + data_make->main->setting.state.status = f_file_name_base(data_make->cache_arguments.array[i], &data_make->cache_path); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_name_base), data_make->cache_arguments.array[i], f_file_operation_process_s, fll_error_file_type_path_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_name_base), data_make->cache_arguments.array[i], f_file_operation_process_s, fll_error_file_type_path_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); f_directory_recurse_delete(&recurse); @@ -1524,11 +1529,11 @@ extern "C" { fll_file_move(data_make->cache_arguments.array[i], destination, &recurse); if (F_status_is_error(recurse.state.status)) { - data_make->setting->state.status = recurse.state.status; + data_make->main->setting.state.status = recurse.state.status; - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(fll_file_move), data_make->cache_arguments.array[i], f_file_operation_move_s, fll_error_file_type_directory_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(fll_file_move), data_make->cache_arguments.array[i], f_file_operation_move_s, fll_error_file_type_directory_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); f_directory_recurse_delete(&recurse); @@ -1538,7 +1543,7 @@ extern "C" { f_directory_recurse_delete(&recurse); - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_move_ @@ -1561,11 +1566,11 @@ extern "C" { const int result = fake_make_operate_section(data_make, id_section, section_stack); // Ensure that a break only happens within its active state_process->operation stack. - if (data_make->setting->state.status == F_signal_abort) { - data_make->setting->state.status = F_none; + if (data_make->main->setting.state.status == F_signal_abort) { + data_make->main->setting.state.status = F_none; } - else if (F_status_set_fine(data_make->setting->state.status) == F_signal_abort) { - data_make->setting->state.status = F_status_set_error(F_failure); + else if (F_status_set_fine(data_make->main->setting.state.status) == F_signal_abort) { + data_make->main->setting.state.status = F_status_set_error(F_failure); } return result; @@ -1575,7 +1580,7 @@ extern "C" { #ifndef _di_fake_make_operate_process_type_owners_ void fake_make_operate_process_type_owners(fake_make_data_t * const data_make, const bool all) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; uid_t id = 0; bool dereference = F_true; @@ -1588,10 +1593,10 @@ extern "C" { id = (uid_t) fake_make_get_id(data_make, F_true, data_make->cache_arguments.array[i++]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(fake_make_get_id)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(fake_make_get_id)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -1600,38 +1605,38 @@ extern "C" { fake_make_assure_inside_project(data_make, data_make->cache_arguments.array[i]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_operation_path_outside(data_make->setting, data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[i]); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_operation_path_outside(&data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[i]); continue; } if (all) { - data_make->setting->state.status = fll_file_role_change_all(data_make->cache_arguments.array[i], id, -1, dereference, fake_max_recursion_depth_d); + data_make->main->setting.state.status = fll_file_role_change_all(data_make->cache_arguments.array[i], id, -1, dereference, fake_max_recursion_depth_d); } else { - data_make->setting->state.status = f_file_role_change(data_make->cache_arguments.array[i], id, -1, dereference); + data_make->main->setting.state.status = f_file_role_change(data_make->cache_arguments.array[i], id, -1, dereference); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, all ? macro_fake_f(fll_file_role_change_all) : macro_fake_f(f_file_role_change), data_make->cache_arguments.array[i], f_file_operation_change_owner_s, fll_error_file_type_file_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, all ? macro_fake_f(fll_file_role_change_all) : macro_fake_f(f_file_role_change), data_make->cache_arguments.array[i], f_file_operation_change_owner_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - fake_make_print_verbose_operate_set_role(data_make->setting, data_make->program->message, all ? 0x3 : 0x2, data_make->cache_arguments.array[i], (f_number_unsigned_t) id); + fake_make_print_verbose_operate_set_role(&data_make->main->program.message, all ? 0x3 : 0x2, data_make->cache_arguments.array[i], (f_number_unsigned_t) id); } // for - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_owners_ #ifndef _di_fake_make_operate_process_type_parameter_ void fake_make_operate_process_type_parameter(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; bool found = F_false; f_array_length_t i = 0; @@ -1648,44 +1653,44 @@ extern "C" { if (found) { for (f_array_length_t j = 0; j < data_make->setting_make.parameter.array[i].value.size; ++j) { - data_make->setting->state.status = f_string_dynamic_resize(0, &data_make->setting_make.parameter.array[i].value.array[j]); + data_make->main->setting.state.status = f_string_dynamic_resize(0, &data_make->setting_make.parameter.array[i].value.array[j]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_resize)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_resize)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } // for if (data_make->setting_make.parameter.array[i].value.size) { - data_make->setting->state.status = f_string_dynamics_resize(0, &data_make->setting_make.parameter.array[i].value); + data_make->main->setting.state.status = f_string_dynamics_resize(0, &data_make->setting_make.parameter.array[i].value); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_resize)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_resize)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } } else { - data_make->setting->state.status = f_string_map_multis_resize(fake_allocation_small_d, &data_make->setting_make.parameter); + data_make->main->setting.state.status = f_string_map_multis_resize(fake_allocation_small_d, &data_make->setting_make.parameter); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_map_multis_resize)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_map_multis_resize)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - data_make->setting->state.status = f_string_dynamic_append_nulless(data_make->cache_arguments.array[0], &data_make->setting_make.parameter.array[data_make->setting_make.parameter.used].name); + data_make->main->setting.state.status = f_string_dynamic_append_nulless(data_make->cache_arguments.array[0], &data_make->setting_make.parameter.array[data_make->setting_make.parameter.used].name); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -1696,38 +1701,38 @@ extern "C" { data_make->setting_make.parameter.array[i].value.used = 0; if (data_make->cache_arguments.used > 1) { - data_make->setting->state.status = f_string_dynamics_resize(data_make->cache_arguments.used - 1, &data_make->setting_make.parameter.array[i].value); + data_make->main->setting.state.status = f_string_dynamics_resize(data_make->cache_arguments.used - 1, &data_make->setting_make.parameter.array[i].value); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_resize)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_resize)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } for (f_array_length_t j = 0; j < data_make->setting_make.parameter.array[i].value.size; ++j) { - data_make->setting->state.status = f_string_dynamic_append_nulless(data_make->cache_arguments.array[j + 1], &data_make->setting_make.parameter.array[i].value.array[j]); + data_make->main->setting.state.status = f_string_dynamic_append_nulless(data_make->cache_arguments.array[j + 1], &data_make->setting_make.parameter.array[i].value.array[j]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } ++data_make->setting_make.parameter.array[i].value.used; } // for } - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_parameter_ #ifndef _di_fake_make_operate_process_type_pop_ void fake_make_operate_process_type_pop(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; f_string_dynamic_t *argument = &data_make->path.stack.array[data_make->path.stack.used - 1]; @@ -1735,41 +1740,41 @@ extern "C" { --data_make->path.stack.used; - data_make->setting->state.status = f_path_change(*argument); + data_make->main->setting.state.status = f_path_change(*argument); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_operation_path_stack_max(data_make->setting, data_make->error, macro_fake_f(f_path_change), *argument); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_operation_path_stack_max(&data_make->error, macro_fake_f(f_path_change), *argument); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - if (data_make->program->error.verbosity >= f_console_verbosity_verbose_e) { + if (data_make->main->program.error.verbosity >= f_console_verbosity_verbose_e) { fake_make_path_relative(data_make, *argument); // The created relative path is for verbosity purposes and as such its failure to be processed should not be treated as a failure of the function. - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(fake_make_path_relative)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(fake_make_path_relative)); - fake_make_print_verbose_operate_set_path(data_make->setting, data_make->program->message, *argument); + fake_make_print_verbose_operate_set_path(&data_make->main->program.message, *argument); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - fake_make_print_verbose_operate_set_path(data_make->setting, data_make->program->message, data_make->cache_path); + fake_make_print_verbose_operate_set_path(&data_make->main->program.message, data_make->cache_path); } - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_pop_ #ifndef _di_fake_make_operate_process_type_print_ void fake_make_operate_process_type_print(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; data_make->cache_1.used = 0; @@ -1784,12 +1789,12 @@ extern "C" { total += data_make->cache_arguments.array[i].used; } // for - data_make->setting->state.status = f_string_dynamic_increase_by(total, &data_make->cache_1); + data_make->main->setting.state.status = f_string_dynamic_increase_by(total, &data_make->cache_1); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_file_stream_open)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_file_stream_open)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -1798,12 +1803,12 @@ extern "C" { for (i = 0; i < data_make->cache_arguments.used; ++i) { if (i) { - data_make->setting->state.status = f_string_dynamic_append(f_string_space_s, &data_make->cache_1); + data_make->main->setting.state.status = f_string_dynamic_append(f_string_space_s, &data_make->cache_1); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -1811,78 +1816,78 @@ extern "C" { fake_make_operate_process_buffer_escape(data_make, data_make->cache_arguments.array[i], &data_make->cache_1); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_file_stream_open)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_file_stream_open)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } // for } - f_file_stream_lock(data_make->program->message.to); + f_file_stream_lock(data_make->main->program.message.to); - fll_print_dynamic_raw(data_make->cache_1, data_make->program->message.to); - fll_print_dynamic_raw(f_string_eol_s, data_make->program->message.to); + fll_print_dynamic_raw(data_make->cache_1, data_make->main->program.message.to); + fll_print_dynamic_raw(f_string_eol_s, data_make->main->program.message.to); - f_file_stream_unlock(data_make->program->message.to); + f_file_stream_unlock(data_make->main->program.message.to); - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_print_ #ifndef _di_fake_make_operate_process_type_skeleton_ void fake_make_operate_process_type_skeleton(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; fake_skeleton_operate(data_make->data); - if (F_status_set_fine(data_make->setting->state.status) == F_interrupt) return; + if (F_status_set_fine(data_make->main->setting.state.status) == F_interrupt) return; - fake_make_operate_process_return(data_make, F_status_is_error(data_make->setting->state.status) ? 1 : 0); + fake_make_operate_process_return(data_make, F_status_is_error(data_make->main->setting.state.status) ? 1 : 0); } #endif // _di_fake_make_operate_process_type_skeleton_ #ifndef _di_fake_make_operate_process_type_to_ void fake_make_operate_process_type_to(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; fake_make_assure_inside_project(data_make, data_make->cache_arguments.array[0]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_operation_path_outside(data_make->setting, data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[0]); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_operation_path_outside(&data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[0]); - if (F_status_set_fine(data_make->setting->state.status) == F_false) { - data_make->setting->state.status = F_status_set_error(F_failure); + if (F_status_set_fine(data_make->main->setting.state.status) == F_false) { + data_make->main->setting.state.status = F_status_set_error(F_failure); } - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - data_make->setting->state.status = f_path_change(data_make->cache_arguments.array[0]); + data_make->main->setting.state.status = f_path_change(data_make->cache_arguments.array[0]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_operation_path_stack_max(data_make->setting, data_make->error, macro_fake_f(f_path_change), data_make->cache_arguments.array[0]); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_operation_path_stack_max(&data_make->error, macro_fake_f(f_path_change), data_make->cache_arguments.array[0]); } else { - data_make->setting->state.status = f_string_dynamics_increase_by(fake_allocation_small_d, &data_make->path.stack); + data_make->main->setting.state.status = f_string_dynamics_increase_by(fake_allocation_small_d, &data_make->path.stack); - if (F_status_is_error(data_make->setting->state.status)) { - if (F_status_set_fine(data_make->setting->state.status) == F_array_too_large) { - fake_print_error_operation_path_stack_max(data_make->setting, data_make->error, macro_fake_f(f_string_dynamics_increase_by), fake_common_file_path_stack_s); + if (F_status_is_error(data_make->main->setting.state.status)) { + if (F_status_set_fine(data_make->main->setting.state.status) == F_array_too_large) { + fake_print_error_operation_path_stack_max(&data_make->error, macro_fake_f(f_string_dynamics_increase_by), fake_common_file_path_stack_s); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamics_increase_by)); + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamics_increase_by)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -1890,55 +1895,55 @@ extern "C" { // Copy the entire real path, including the trailing NULL. ++data_make->cache_path.used; - data_make->setting->state.status = f_string_dynamic_append_nulless(data_make->cache_path, &data_make->path.stack.array[data_make->path.stack.used]); + data_make->main->setting.state.status = f_string_dynamic_append_nulless(data_make->cache_path, &data_make->path.stack.array[data_make->path.stack.used]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_nulless)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_nulless)); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - if (data_make->program->error.verbosity >= f_console_verbosity_verbose_e) { + if (data_make->main->program.error.verbosity >= f_console_verbosity_verbose_e) { fake_make_path_relative(data_make, data_make->path.stack.array[data_make->path.stack.used]); // The created relative path is for verbosity purposes and as such its failure to be processed should not be treated as a failure of the function. - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(fake_make_path_relative)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(fake_make_path_relative)); - fake_make_print_verbose_operate_set_path(data_make->setting, data_make->program->message, data_make->path.stack.array[data_make->path.stack.used]); + fake_make_print_verbose_operate_set_path(&data_make->main->program.message, data_make->path.stack.array[data_make->path.stack.used]); } else { - fake_make_print_verbose_operate_set_path(data_make->setting, data_make->program->message, data_make->cache_path); + fake_make_print_verbose_operate_set_path(&data_make->main->program.message, data_make->cache_path); } } ++data_make->path.stack.used; } - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_to_ #ifndef _di_fake_make_operate_process_type_top_ void fake_make_operate_process_type_top(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; { - data_make->setting->state.status = f_path_change_at(data_make->path.top.id); + data_make->main->setting.state.status = f_path_change_at(data_make->path.top.id); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_operation_path_stack_max(data_make->setting, data_make->error, macro_fake_f(f_path_change), data_make->cache_arguments.array[0]); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_operation_path_stack_max(&data_make->error, macro_fake_f(f_path_change), data_make->cache_arguments.array[0]); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } - fake_make_print_verbose_operate_set_path(data_make->setting, data_make->program->message, f_string_empty_s); + fake_make_print_verbose_operate_set_path(&data_make->main->program.message, f_string_empty_s); // Clear stack, except for the project root. for (f_array_length_t i = 1; i < data_make->path.stack.used; ++i) { @@ -1947,148 +1952,148 @@ extern "C" { data_make->path.stack.used = 1; - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_top_ #ifndef _di_fake_make_operate_process_type_touch_ void fake_make_operate_process_type_touch(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; f_mode_t mode = f_mode_t_initialize; - macro_f_mode_t_set_default_umask(mode, data_make->program->umask); + macro_f_mode_t_set_default_umask(mode, data_make->main->program.umask); for (f_array_length_t i = 1; i < data_make->cache_arguments.used; ++i) { if (fl_string_dynamic_compare(fake_make_operation_argument_file_s, data_make->cache_arguments.array[0]) == F_equal_to) { - data_make->setting->state.status = f_file_touch(data_make->cache_arguments.array[i], mode.regular, F_false); + data_make->main->setting.state.status = f_file_touch(data_make->cache_arguments.array[i], mode.regular, F_false); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { if (F_status_is_error_not(fl_path_canonical(data_make->cache_arguments.array[i], &data_make->cache_path))) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_touch), data_make->cache_path, f_file_operation_touch_s, fll_error_file_type_file_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_touch), data_make->cache_path, f_file_operation_touch_s, fll_error_file_type_file_e); } else { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_touch), data_make->cache_arguments.array[i], f_file_operation_touch_s, fll_error_file_type_file_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_touch), data_make->cache_arguments.array[i], f_file_operation_touch_s, fll_error_file_type_file_e); } - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } else if (fl_string_dynamic_compare(fake_make_operation_argument_directory_s, data_make->cache_arguments.array[0]) == F_equal_to) { - data_make->setting->state.status = f_directory_touch(data_make->cache_arguments.array[i], mode.directory); + data_make->main->setting.state.status = f_directory_touch(data_make->cache_arguments.array[i], mode.directory); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { if (F_status_is_error_not(fl_path_canonical(data_make->cache_arguments.array[i], &data_make->cache_path))) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_directory_touch), data_make->cache_path, f_file_operation_touch_s, fll_error_file_type_directory_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_directory_touch), data_make->cache_path, f_file_operation_touch_s, fll_error_file_type_directory_e); } else { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_directory_touch), data_make->cache_arguments.array[i], f_file_operation_touch_s, fll_error_file_type_directory_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_directory_touch), data_make->cache_arguments.array[i], f_file_operation_touch_s, fll_error_file_type_directory_e); } - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } - fake_make_print_verbose_operate_touch(data_make->setting, data_make->program->message, data_make->cache_arguments.array[i]); + fake_make_print_verbose_operate_touch(&data_make->main->program.message, data_make->cache_arguments.array[i]); } // for - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_process_type_touch_ #ifndef _di_fake_make_operate_process_type_write_ void fake_make_operate_process_type_write(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; f_file_t file = f_file_t_initialize; - data_make->setting->state.status = f_file_exists(data_make->cache_arguments.array[0], F_true); + data_make->main->setting.state.status = f_file_exists(data_make->cache_arguments.array[0], F_true); - if (data_make->cache_arguments.used == 1 || data_make->setting->state.status == F_false) { - data_make->setting->state.status = f_file_stream_open(data_make->cache_arguments.array[0], f_file_open_mode_truncate_s, &file); + if (data_make->cache_arguments.used == 1 || data_make->main->setting.state.status == F_false) { + data_make->main->setting.state.status = f_file_stream_open(data_make->cache_arguments.array[0], f_file_open_mode_truncate_s, &file); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { if (F_status_is_error_not(fl_path_canonical(data_make->cache_arguments.array[0], &data_make->cache_path))) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_stream_open), data_make->cache_path, f_file_operation_open_s, fll_error_file_type_file_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_stream_open), data_make->cache_path, f_file_operation_open_s, fll_error_file_type_file_e); } else { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_stream_open), data_make->cache_arguments.array[0], f_file_operation_open_s, fll_error_file_type_file_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_stream_open), data_make->cache_arguments.array[0], f_file_operation_open_s, fll_error_file_type_file_e); } - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } // Keep the stream open if there is a string to write to it. if (data_make->cache_arguments.used > 1) { - data_make->setting->state.status = F_false; + data_make->main->setting.state.status = F_false; } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; f_file_stream_flush(file); f_file_stream_close(&file); } } - if (F_status_is_error_not(data_make->setting->state.status) && data_make->cache_arguments.used > 1) { - if (data_make->setting->state.status != F_false) { - data_make->setting->state.status = f_file_stream_open(data_make->cache_arguments.array[0], f_file_open_mode_append_s, &file); + if (F_status_is_error_not(data_make->main->setting.state.status) && data_make->cache_arguments.used > 1) { + if (data_make->main->setting.state.status != F_false) { + data_make->main->setting.state.status = f_file_stream_open(data_make->cache_arguments.array[0], f_file_open_mode_append_s, &file); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { if (F_status_is_error_not(fl_path_canonical(data_make->cache_arguments.array[0], &data_make->cache_path))) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_stream_open), data_make->cache_path, f_file_operation_open_s, fll_error_file_type_file_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_stream_open), data_make->cache_path, f_file_operation_open_s, fll_error_file_type_file_e); } else { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_stream_open), data_make->cache_arguments.array[0], f_file_operation_open_s, fll_error_file_type_file_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_stream_open), data_make->cache_arguments.array[0], f_file_operation_open_s, fll_error_file_type_file_e); } } } - if (F_status_is_error_not(data_make->setting->state.status)) { + if (F_status_is_error_not(data_make->main->setting.state.status)) { for (f_array_length_t i = 1; i < data_make->cache_arguments.used; ++i) { data_make->cache_1.used = 0; fake_make_operate_process_buffer_escape(data_make, data_make->cache_arguments.array[i], &data_make->cache_1); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { if (F_status_is_error_not(fl_path_canonical(data_make->cache_arguments.array[0], &data_make->cache_path))) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(fake_make_operate_process_buffer_escape), data_make->cache_path, f_file_operation_write_s, fll_error_file_type_file_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(fake_make_operate_process_buffer_escape), data_make->cache_path, f_file_operation_write_s, fll_error_file_type_file_e); } else { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(fake_make_operate_process_buffer_escape), data_make->cache_arguments.array[0], f_file_operation_write_s, fll_error_file_type_file_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(fake_make_operate_process_buffer_escape), data_make->cache_arguments.array[0], f_file_operation_write_s, fll_error_file_type_file_e); } break; } - data_make->setting->state.status = f_file_stream_write(file, data_make->cache_1, 0); + data_make->main->setting.state.status = f_file_stream_write(file, data_make->cache_1, 0); - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { if (F_status_is_error_not(fl_path_canonical(data_make->cache_arguments.array[0], &data_make->cache_path))) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_stream_write), data_make->cache_path, f_file_operation_write_s, fll_error_file_type_file_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_stream_write), data_make->cache_path, f_file_operation_write_s, fll_error_file_type_file_e); } else { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_stream_write), data_make->cache_arguments.array[0], f_file_operation_write_s, fll_error_file_type_file_e); + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_stream_write), data_make->cache_arguments.array[0], f_file_operation_write_s, fll_error_file_type_file_e); } break; } if (i + 1 < data_make->cache_arguments.used) { - data_make->setting->state.status = f_file_stream_write(file, f_string_ascii_space_s, 0); + data_make->main->setting.state.status = f_file_stream_write(file, f_string_ascii_space_s, 0); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_file_stream_write)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_file_stream_write)); break; } @@ -2100,7 +2105,7 @@ extern "C" { f_file_stream_close(&file); } - data_make->setting->state.status = F_status_is_error(data_make->setting->state.status) ? F_status_set_error(F_failure) : F_none; + data_make->main->setting.state.status = F_status_is_error(data_make->main->setting.state.status) ? F_status_set_error(F_failure) : F_none; } #endif // _di_fake_make_operate_process_type_write_ diff --git a/level_3/fake/c/main/make/operate_process_type.h b/level_3/fake/c/main/make/operate_process_type.h index 805821f..83cda23 100644 --- a/level_3/fake/c/main/make/operate_process_type.h +++ b/level_3/fake/c/main/make/operate_process_type.h @@ -22,7 +22,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success but not breaking. * F_signal_abort on normal break * @@ -38,7 +38,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * Success from: fake_build_operate() * * Errors (with error bit) from: fake_build_operate() @@ -56,7 +56,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * Success from: fake_clean_operate() * * Errors (with error bit) from: fake_clean_operate() @@ -74,7 +74,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * Success from: fake_execute() * * Errors (with error bit) from: fake_execute() @@ -96,7 +96,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -131,7 +131,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -163,7 +163,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * Success from: f_environment_set(). @@ -182,7 +182,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -212,7 +212,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on unknown exit type (only success and failure are known). * F_signal_quit to designate exit on success. * @@ -236,7 +236,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This does not alter data_make.setting.state.status. + * This does not alter data_make.main.setting.state.status. */ #ifndef _di_fake_make_operate_process_type_fail_ extern void fake_make_operate_process_type_fail(fake_make_data_t * const data_make); @@ -248,7 +248,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -277,7 +277,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -297,7 +297,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -321,7 +321,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -342,7 +342,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -369,7 +369,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -393,7 +393,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -422,7 +422,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -449,7 +449,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -469,7 +469,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -495,7 +495,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -514,7 +514,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -545,7 +545,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -568,7 +568,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -592,7 +592,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -621,7 +621,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -647,7 +647,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -674,7 +674,7 @@ extern "C" { * All make related setting data, including data from the fakefile and the build settings file. * This resets and uses data_make.cache_1. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -700,7 +700,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -723,7 +723,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -751,7 +751,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -774,7 +774,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. @@ -798,7 +798,7 @@ extern "C" { * All make related setting data, including data from the fakefile and the build settings file. * This resets and uses data_make.cache_1. * - * This alters data_make.setting.state.status: + * This alters data_make.main->setting.state.status: * F_none on success. * * F_failure (with error bit) on any error. diff --git a/level_3/fake/c/main/make/operate_validate.c b/level_3/fake/c/main/make/operate_validate.c index 8887b0d..735e69e 100644 --- a/level_3/fake/c/main/make/operate_validate.c +++ b/level_3/fake/c/main/make/operate_validate.c @@ -7,16 +7,16 @@ extern "C" { #ifndef _di_fake_make_operate_validate_ void fake_make_operate_validate(fake_make_data_t * const data_make, const f_string_range_t section_name, fake_state_process_t * const state_process, f_array_lengths_t * const section_stack) { - if (!data_make || !data_make->program || !data_make->setting) return; - if (F_status_is_error(data_make->setting->state.status)) return; + if (!data_make || !data_make->main) return; + if (F_status_is_error(data_make->main->setting.state.status)) return; if (!section_stack) { - data_make->setting->state.status = F_status_set_error(F_parameter); + data_make->main->setting.state.status = F_status_set_error(F_parameter); return; } - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; if (state_process->operation == fake_make_operation_type_break_e) { fake_make_operate_validate_type_break(data_make); diff --git a/level_3/fake/c/main/make/operate_validate.h b/level_3/fake/c/main/make/operate_validate.h index 84ef657..0271b69 100644 --- a/level_3/fake/c/main/make/operate_validate.h +++ b/level_3/fake/c/main/make/operate_validate.h @@ -25,7 +25,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.status: + * This alters data_make.main->setting.status: * F_none on success. * * F_parameter (with error bit) on invalid parameter. diff --git a/level_3/fake/c/main/make/operate_validate_type.c b/level_3/fake/c/main/make/operate_validate_type.c index 72063e4..235ef28 100644 --- a/level_3/fake/c/main/make/operate_validate_type.c +++ b/level_3/fake/c/main/make/operate_validate_type.c @@ -7,12 +7,12 @@ extern "C" { #ifndef _di_fake_make_operate_validate_type_break_ void fake_make_operate_validate_type_break(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (data_make->cache_arguments.used > 1) { - fake_print_error_too_many_arguments(data_make->setting, data_make->program->error); + fake_print_error_too_many_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -20,23 +20,23 @@ extern "C" { if (data_make->cache_arguments.used) { if (fl_string_dynamic_compare(fake_make_operation_argument_success_s, data_make->cache_arguments.array[0]) == F_equal_to_not) { if (fl_string_dynamic_compare(fake_make_operation_argument_failure_s, data_make->cache_arguments.array[0]) == F_equal_to_not) { - fake_make_print_error_unsupported_type(data_make->setting, data_make->program->error, fake_make_operation_break_s, data_make->cache_arguments.array[0]); + fake_make_print_error_unsupported_type(&data_make->main->program.error, fake_make_operation_break_s, data_make->cache_arguments.array[0]); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } } - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_validate_type_break_ #ifndef _di_fake_make_operate_validate_type_build_ void fake_make_operate_validate_type_build(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (data_make->cache_arguments.used) { if (data_make->cache_arguments.array[0].used) { @@ -50,49 +50,49 @@ extern "C" { memcpy(path_file_string, data_make->data->path_data_build.string, sizeof(f_char_t) * data_make->data->path_data_build.used); memcpy(path_file_string + data_make->data->path_data_build.used, data_make->cache_arguments.array[0].string, sizeof(f_char_t) * data_make->cache_arguments.array[0].used); - data_make->setting->state.status = f_file_is(path_file, F_file_type_regular_d, F_false); + data_make->main->setting.state.status = f_file_is(path_file, F_file_type_regular_d, F_false); - if (data_make->setting->state.status == F_file_found_not || F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file_simple(data_make->setting, data_make->program->error, macro_fake_f(f_file_is), path_file, f_file_operation_find_s, fll_error_file_type_file_e); + if (data_make->main->setting.state.status == F_file_found_not || F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file_simple(&data_make->main->program.error, macro_fake_f(f_file_is), path_file, f_file_operation_find_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - if (!data_make->setting->state.status) { - fake_make_print_error_file_type(data_make->setting, data_make->program->message, f_file_type_name_regular_s, path_file); + if (!data_make->main->setting.state.status) { + fake_make_print_error_file_type(&data_make->main->program.message, f_file_type_name_regular_s, path_file); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } else { - fake_make_print_error_file_name_empty(data_make->setting, data_make->program->error); + fake_make_print_error_file_name_empty(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_validate_type_build_ #ifndef _di_fake_make_operate_validate_type_clean_top_skeleton_ void fake_make_operate_validate_type_clean_top_skeleton(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (data_make->cache_arguments.used) { - fake_print_error_too_many_arguments(data_make->setting, data_make->program->error); + fake_print_error_too_many_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } } #endif // _di_fake_make_operate_validate_type_clean_top_skeleton_ @@ -100,7 +100,7 @@ extern "C" { #ifndef _di_fake_make_operate_validate_type_clone_ void fake_make_operate_validate_type_clone(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (data_make->cache_arguments.used > 1) { f_status_t status = F_none; @@ -109,17 +109,17 @@ extern "C" { fake_make_assure_inside_project(data_make, data_make->cache_arguments.array[i]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_operation_path_outside(data_make->setting, data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[i]); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_operation_path_outside(&data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[i]); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } // for for (f_array_length_t i = 0; i < data_make->cache_arguments.used - 1; ++i) { if (f_file_exists(data_make->cache_arguments.array[i], F_true) != F_true) { - fake_print_error_file_simple(data_make->setting, data_make->program->error, macro_fake_f(f_file_is), data_make->cache_arguments.array[i], f_file_operation_find_s, fll_error_file_type_file_e); + fake_print_error_file_simple(&data_make->main->program.error, macro_fake_f(f_file_is), data_make->cache_arguments.array[i], f_file_operation_find_s, fll_error_file_type_file_e); status = F_status_set_error(F_failure); } @@ -128,16 +128,16 @@ extern "C" { if (data_make->cache_arguments.used > 2) { // The last file must be a directory. - data_make->setting->state.status = f_directory_is(data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); + data_make->main->setting.state.status = f_directory_is(data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); - if (data_make->setting->state.status == F_false || data_make->setting->state.status == F_file_found_not) { - fake_make_print_error_content_not_directory(data_make->setting, data_make->program->error, "last", data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); + if (data_make->main->setting.state.status == F_false || data_make->main->setting.state.status == F_file_found_not) { + fake_make_print_error_content_not_directory(&data_make->main->program.error, "last", data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); status = F_status_set_error(F_failure); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_directory_is), data_make->cache_arguments.array[data_make->cache_arguments.used - 1], f_file_operation_find_s, fll_error_file_type_directory_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_directory_is), data_make->cache_arguments.array[data_make->cache_arguments.used - 1], f_file_operation_find_s, fll_error_file_type_directory_e); status = F_status_set_error(F_failure); } @@ -145,47 +145,47 @@ extern "C" { else { // When the first file is a directory, then the second, if it exists, must also be a directory. - data_make->setting->state.status = f_directory_is(data_make->cache_arguments.array[0]); + data_make->main->setting.state.status = f_directory_is(data_make->cache_arguments.array[0]); - if (data_make->setting->state.status == F_true) { - data_make->setting->state.status = f_directory_is(data_make->cache_arguments.array[1]); + if (data_make->main->setting.state.status == F_true) { + data_make->main->setting.state.status = f_directory_is(data_make->cache_arguments.array[1]); - if (data_make->setting->state.status == F_false) { - fake_make_print_error_content_not_directory(data_make->setting, data_make->program->error, "second", data_make->cache_arguments.array[1]); + if (data_make->main->setting.state.status == F_false) { + fake_make_print_error_content_not_directory(&data_make->main->program.error, "second", data_make->cache_arguments.array[1]); status = F_status_set_error(F_failure); } } } - data_make->setting->state.status = status; + data_make->main->setting.state.status = status; return; } - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } #endif // _di_fake_make_operate_validate_type_clone_ #ifndef _di_fake_make_operate_validate_type_compile_ void fake_make_operate_validate_type_compile(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (!data_make->cache_arguments.used) { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } else if (data_make->setting_build.build_compiler.used) { - fake_make_print_error_compiler_not_specified(data_make->setting, data_make->program->error, fake_make_operation_compile_s); + fake_make_print_error_compiler_not_specified(&data_make->main->program.error, fake_make_operation_compile_s); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } } #endif // _di_fake_make_operate_validate_type_compile_ @@ -193,22 +193,22 @@ extern "C" { #ifndef _di_fake_make_operate_validate_type_condition_ void fake_make_operate_validate_type_condition(fake_make_data_t * const data_make, fake_state_process_t * const state_process) { - if (!data_make || !data_make->program || !data_make->setting || !state_process) return; + if (!data_make || !data_make->main || !state_process) return; if (state_process->operation == fake_make_operation_type_if_e) { if (state_process->operation_previous == fake_make_operation_type_if_e) { - fake_make_print_error_after_condition_must_not(data_make->setting, data_make->program->error); + fake_make_print_error_after_condition_must_not(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } else { if (!(state_process->operation_previous == fake_make_operation_type_if_e || state_process->operation_previous == fake_make_operation_type_and_e || state_process->operation_previous == fake_make_operation_type_or_e)) { - fake_make_print_error_after_condition_may_only(data_make->setting, data_make->program->error); + fake_make_print_error_after_condition_may_only(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -357,9 +357,9 @@ extern "C" { } // for if (i == 23) { - fake_make_print_error_unsupported_type(data_make->setting, data_make->program->error, if_and_or, data_make->cache_arguments.array[k]); + fake_make_print_error_unsupported_type(&data_make->main->program.error, if_and_or, data_make->cache_arguments.array[k]); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -371,9 +371,9 @@ extern "C" { // Identify and convert to the appropriate if not condition. if (state_process->condition == fake_make_operation_if_type_if_not_e) { if (data_make->cache_arguments.used < 1 + k) { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -388,9 +388,9 @@ extern "C" { } // for if (j == 7) { - fake_make_print_error_unsupported_type(data_make->setting, data_make->program->error, if_and_or, data_make->cache_arguments.array[k]); + fake_make_print_error_unsupported_type(&data_make->main->program.error, if_and_or, data_make->cache_arguments.array[k]); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -404,12 +404,12 @@ extern "C" { // The success and failure operations minimum is also the maximum. if (data_make->cache_arguments.used > if_type_minimum[i]) { - fake_print_error_too_many_arguments(data_make->setting, data_make->program->error); + fake_print_error_too_many_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } return; @@ -417,19 +417,19 @@ extern "C" { if (state_process->condition == fake_make_operation_if_type_if_equal_e || state_process->condition == fake_make_operation_if_type_if_equal_not_e) { if (data_make->cache_arguments.used < 2 + k) { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } return; } if (state_process->condition == fake_make_operation_if_type_if_exist_e || state_process->condition == fake_make_operation_if_type_if_not_exist_e) { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; return; } @@ -441,7 +441,7 @@ extern "C" { if (fl_string_dynamic_compare(fake_make_operation_argument_has_s, data_make->cache_arguments.array[k]) == F_equal_to_not) { if (j == 6) { - fake_make_print_error_unsupported_type(data_make->setting, data_make->program->error, fake_make_operation_mode_s, data_make->cache_arguments.array[k]); + fake_make_print_error_unsupported_type(&data_make->main->program.error, fake_make_operation_mode_s, data_make->cache_arguments.array[k]); } else { f_char_t message[4 + fake_make_operation_mode_s.used + 1]; @@ -451,10 +451,10 @@ extern "C" { f_string_static_t message_s = macro_f_string_static_t_initialize(message, 0, 4 + fake_make_operation_mode_s.used); - fake_make_print_error_unsupported_type(data_make->setting, data_make->program->error, message_s, data_make->cache_arguments.array[k]); + fake_make_print_error_unsupported_type(&data_make->main->program.error, message_s, data_make->cache_arguments.array[k]); } - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -465,8 +465,8 @@ extern "C" { fake_make_get_id_mode(data_make, data_make->cache_arguments.array[++k], &mode_rule, &replace); - if (F_status_is_error(data_make->setting->state.status)) { - data_make->setting->state.status = F_status_set_error(F_failure); + if (F_status_is_error(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -476,8 +476,8 @@ extern "C" { else if (state_process->condition == fake_make_operation_if_type_if_group_e || state_process->condition == fake_make_operation_if_type_if_not_group_e) { fake_make_get_id(data_make, F_false, data_make->cache_arguments.array[k++]); - if (F_status_is_error(data_make->setting->state.status)) { - data_make->setting->state.status = F_status_set_error(F_failure); + if (F_status_is_error(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -522,14 +522,14 @@ extern "C" { type_file |= 0x40; } else { - fake_make_print_error_unsupported_type(data_make->setting, data_make->program->error, f_file_type_name_file_s, data_make->cache_arguments.array[i]); + fake_make_print_error_unsupported_type(&data_make->main->program.error, f_file_type_name_file_s, data_make->cache_arguments.array[i]); type_file |= 0x80; } } // for if (type_file & 0x80) { - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -537,8 +537,8 @@ extern "C" { else if (state_process->condition == fake_make_operation_if_type_if_owner_e || state_process->condition == fake_make_operation_if_type_if_not_owner_e) { fake_make_get_id(data_make, F_true, data_make->cache_arguments.array[k++]); - if (F_status_is_error(data_make->setting->state.status)) { - data_make->setting->state.status = F_status_set_error(F_failure); + if (F_status_is_error(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -553,32 +553,32 @@ extern "C" { fake_make_assure_inside_project(data_make, data_make->cache_arguments.array[i]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_operation_path_outside(data_make->setting, data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[i]); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_operation_path_outside(&data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[i]); status = F_status_set_error(F_failure); } else if (state_process->condition != fake_make_operation_if_type_if_exist_e && state_process->condition != fake_make_operation_if_type_if_is_e) { // The existence tests do not need to happen here for *_if_exists and *_if_is as those two types will handle performing them during the process stage. - data_make->setting->state.status = f_file_exists(data_make->cache_arguments.array[i], dereference); + data_make->main->setting.state.status = f_file_exists(data_make->cache_arguments.array[i], dereference); - if (data_make->setting->state.status == F_false) { - data_make->setting->state.status = F_status_set_error(F_file_found_not); + if (data_make->main->setting.state.status == F_false) { + data_make->main->setting.state.status = F_status_set_error(F_file_found_not); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_exists), data_make->cache_arguments.array[i], f_file_operation_find_s, fll_error_file_type_file_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_exists), data_make->cache_arguments.array[i], f_file_operation_find_s, fll_error_file_type_file_e); status = F_status_set_error(F_failure); } } } // for - data_make->setting->state.status = status; + data_make->main->setting.state.status = status; } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } return; @@ -586,9 +586,9 @@ extern "C" { if (state_process->condition == fake_make_operation_if_type_if_greater_e || state_process->condition == fake_make_operation_if_type_if_greater_equal_e || state_process->condition == fake_make_operation_if_type_if_less_e || state_process->condition == fake_make_operation_if_type_if_less_equal_e) { if (data_make->cache_arguments.used < 2 + k) { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -597,7 +597,7 @@ extern "C" { f_string_range_t range = f_string_range_t_initialize; f_number_unsigned_t number = 0; - for (i = k; i < data_make->cache_arguments.used; ++i, data_make->setting->state.status = F_none) { + for (i = k; i < data_make->cache_arguments.used; ++i, data_make->main->setting.state.status = F_none) { if (data_make->cache_arguments.array[i].used) { range.start = 0; @@ -611,41 +611,41 @@ extern "C" { } if (range.start > range.stop) { - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } else { - data_make->setting->state.status = fl_conversion_dynamic_partial_to_unsigned_detect(fl_conversion_data_base_10_c, data_make->cache_arguments.array[i], range, &number); + data_make->main->setting.state.status = fl_conversion_dynamic_partial_to_unsigned_detect(fl_conversion_data_base_10_c, data_make->cache_arguments.array[i], range, &number); } } else { - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } - if (F_status_is_error(data_make->setting->state.status)) { + if (F_status_is_error(data_make->main->setting.state.status)) { status = F_status_set_error(F_failure); if (number > F_number_t_size_unsigned_d) { - fake_make_print_error_out_of_range_number(data_make->setting, data_make->program->error, data_make->cache_arguments.array[i], F_number_t_size_unsigned_d, F_number_t_size_unsigned_d); + fake_make_print_error_out_of_range_number(&data_make->main->program.error, data_make->cache_arguments.array[i], F_number_t_size_unsigned_d, F_number_t_size_unsigned_d); } else { - fake_make_print_error_unsupported_number(data_make->setting, data_make->program->error, data_make->cache_arguments.array[i]); + fake_make_print_error_unsupported_number(&data_make->main->program.error, data_make->cache_arguments.array[i]); } } } // for - data_make->setting->state.status = status; + data_make->main->setting.state.status = status; } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } return; } } else { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } #endif // _di_fake_make_operate_validate_type_condition_ @@ -653,7 +653,7 @@ extern "C" { #ifndef _di_fake_make_operate_validate_type_copy_ void fake_make_operate_validate_type_copy(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (data_make->cache_arguments.used > 1) { f_status_t status = F_none; @@ -663,8 +663,8 @@ extern "C" { fake_make_assure_inside_project(data_make, data_make->cache_arguments.array[i]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_operation_path_outside(data_make->setting, data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[i]); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_operation_path_outside(&data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[i]); status = F_status_set_error(F_failure); } @@ -673,7 +673,7 @@ extern "C" { for (i = 0; i < data_make->cache_arguments.used - 1; ++i) { if (f_file_exists(data_make->cache_arguments.array[i], F_true) != F_true) { - fake_print_error_file_simple(data_make->setting, data_make->program->error, macro_fake_f(f_file_is), data_make->cache_arguments.array[i], f_file_operation_find_s, fll_error_file_type_file_e); + fake_print_error_file_simple(&data_make->main->program.error, macro_fake_f(f_file_is), data_make->cache_arguments.array[i], f_file_operation_find_s, fll_error_file_type_file_e); status = F_status_set_error(F_failure); } @@ -682,16 +682,16 @@ extern "C" { if (data_make->cache_arguments.used > 2) { // The last file must be a directory. - data_make->setting->state.status = f_directory_is(data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); + data_make->main->setting.state.status = f_directory_is(data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); - if (data_make->setting->state.status == F_false || data_make->setting->state.status == F_file_found_not) { - fake_make_print_error_content_not_directory(data_make->setting, data_make->program->error, "last", data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); + if (data_make->main->setting.state.status == F_false || data_make->main->setting.state.status == F_file_found_not) { + fake_make_print_error_content_not_directory(&data_make->main->program.error, "last", data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); status = F_status_set_error(F_failure); } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_directory_is), data_make->cache_arguments.array[data_make->cache_arguments.used - 1], f_file_operation_identify_s, fll_error_file_type_directory_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_directory_is), data_make->cache_arguments.array[data_make->cache_arguments.used - 1], f_file_operation_identify_s, fll_error_file_type_directory_e); status = F_status_set_error(F_failure); } @@ -699,25 +699,25 @@ extern "C" { else { // When the first file is a directory, then the second, if it exists, must also be a directory. - data_make->setting->state.status = f_directory_is(data_make->cache_arguments.array[0]); + data_make->main->setting.state.status = f_directory_is(data_make->cache_arguments.array[0]); - if (data_make->setting->state.status == F_true) { - data_make->setting->state.status = f_directory_is(data_make->cache_arguments.array[1]); + if (data_make->main->setting.state.status == F_true) { + data_make->main->setting.state.status = f_directory_is(data_make->cache_arguments.array[1]); - if (data_make->setting->state.status == F_false) { - fake_make_print_error_content_not_directory(data_make->setting, data_make->program->error, "second", data_make->cache_arguments.array[1]); + if (data_make->main->setting.state.status == F_false) { + fake_make_print_error_content_not_directory(&data_make->main->program.error, "second", data_make->cache_arguments.array[1]); status = F_status_set_error(F_failure); } } } - data_make->setting->state.status = status; + data_make->main->setting.state.status = status; } else { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } #endif // _di_fake_make_operate_validate_type_copy_ @@ -725,36 +725,36 @@ extern "C" { #ifndef _di_fake_make_operate_validate_type_define_ void fake_make_operate_validate_type_define(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (data_make->cache_arguments.used) { fake_make_operate_validate_define_name(data_make->cache_arguments.array[0]); - if (data_make->setting->state.status == F_true) { - data_make->setting->state.status = F_none; + if (data_make->main->setting.state.status == F_true) { + data_make->main->setting.state.status = F_none; return; } - if (data_make->setting->state.status == F_none) { - fake_make_print_error_define_name_empty(data_make->setting, data_make->program->error); + if (data_make->main->setting.state.status == F_none) { + fake_make_print_error_define_name_empty(&data_make->main->program.error); } else { - fake_make_print_error_define_invalid_character(data_make->setting, data_make->program->error, data_make->cache_arguments.array[0]); + fake_make_print_error_define_invalid_character(&data_make->main->program.error, data_make->cache_arguments.array[0]); } } else { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); } - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } #endif // _di_fake_make_operate_validate_type_define_ #ifndef _di_fake_make_operate_validate_type_delete_ void fake_make_operate_validate_type_delete(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (data_make->cache_arguments.used) { f_status_t status = F_none; @@ -763,19 +763,19 @@ extern "C" { fake_make_assure_inside_project(data_make, data_make->cache_arguments.array[i]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_operation_path_outside(data_make->setting, data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[i]); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_operation_path_outside(&data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[i]); status = F_status_set_error(F_failure); } } // for - data_make->setting->state.status = status; + data_make->main->setting.state.status = status; } else { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } #endif // _di_fake_make_operate_validate_type_delete_ @@ -783,53 +783,53 @@ extern "C" { #ifndef _di_fake_make_operate_validate_type_else_ void fake_make_operate_validate_type_else(fake_make_data_t * const data_make, fake_state_process_t * const state_process) { - if (!data_make || !data_make->program || !data_make->setting || !state_process) return; + if (!data_make || !data_make->main || !state_process) return; if (state_process->operation_previous == fake_make_operation_type_else_e) { - fake_make_print_error_after_condition_must_not(data_make->setting, data_make->program->error); + fake_make_print_error_after_condition_must_not(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } if (state_process->operation_previous == fake_make_operation_type_if_e || state_process->operation_previous == fake_make_operation_type_and_e || state_process->operation_previous == fake_make_operation_type_or_e) { - fake_make_print_error_after_condition_must_not(data_make->setting, data_make->program->error); + fake_make_print_error_after_condition_must_not(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } if (!state_process->block) { - fake_make_print_error_after_condition_no_preceding(data_make->setting, data_make->program->error); + fake_make_print_error_after_condition_no_preceding(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } if (data_make->cache_arguments.used) { - fake_print_error_too_many_arguments(data_make->setting, data_make->program->error); + fake_print_error_too_many_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_validate_type_else_ #ifndef _di_fake_make_operate_validate_type_exit_ void fake_make_operate_validate_type_exit(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (data_make->cache_arguments.used > 1) { - fake_print_error_too_many_arguments(data_make->setting, data_make->program->error); + fake_print_error_too_many_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -837,43 +837,43 @@ extern "C" { if (data_make->cache_arguments.used) { if (fl_string_dynamic_compare(fake_make_operation_argument_success_s, data_make->cache_arguments.array[0]) == F_equal_to_not) { if (fl_string_dynamic_compare(fake_make_operation_argument_failure_s, data_make->cache_arguments.array[0]) == F_equal_to_not) { - fake_make_print_error_unsupported_type(data_make->setting, data_make->program->error, fake_make_operation_exit_s, data_make->cache_arguments.array[0]); + fake_make_print_error_unsupported_type(&data_make->main->program.error, fake_make_operation_exit_s, data_make->cache_arguments.array[0]); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } } - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } #endif // _di_fake_make_operate_validate_type_exit_ #ifndef _di_fake_make_operate_validate_type_fail_ void fake_make_operate_validate_type_fail(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (data_make->cache_arguments.used) { if (fl_string_dynamic_compare(fake_make_operation_argument_exit_s, data_make->cache_arguments.array[0]) == F_equal_to_not) { if (fl_string_dynamic_compare(fake_make_operation_argument_warn_s, data_make->cache_arguments.array[0]) == F_equal_to_not) { if (fl_string_dynamic_compare(fake_make_operation_argument_ignore_s, data_make->cache_arguments.array[0]) == F_equal_to_not) { - fake_make_print_error_unsupported_type(data_make->setting, data_make->program->error, fake_make_operation_fail_s, data_make->cache_arguments.array[0]); + fake_make_print_error_unsupported_type(&data_make->main->program.error, fake_make_operation_fail_s, data_make->cache_arguments.array[0]); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } } - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } else { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } #endif // _di_fake_make_operate_validate_type_fail_ @@ -881,20 +881,20 @@ extern "C" { #ifndef _di_fake_make_operate_validate_type_index_ void fake_make_operate_validate_type_index(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (!data_make->cache_arguments.used) { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } else if (!data_make->setting_build.build_indexer.used) { - fake_make_print_error_indexer_not_specified(data_make->setting, data_make->program->error, fake_make_operation_index_s); + fake_make_print_error_indexer_not_specified(&data_make->main->program.error, fake_make_operation_index_s); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } } #endif // _di_fake_make_operate_validate_type_index_ @@ -902,12 +902,12 @@ extern "C" { #ifndef _di_fake_make_operate_validate_type_link_ void fake_make_operate_validate_type_link(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (data_make->cache_arguments.used > 4) { - fake_print_error_too_many_arguments(data_make->setting, data_make->program->error); + fake_print_error_too_many_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -926,7 +926,7 @@ extern "C" { flag |= 0x2; } else { - fake_print_error_operation_link_argument_unknown(data_make->setting, data_make->error, data_make->cache_arguments.array[0]); + fake_print_error_operation_link_argument_unknown(&data_make->error, data_make->cache_arguments.array[0]); status = F_status_set_error(F_failure); } @@ -939,7 +939,7 @@ extern "C" { flag |= 0x2; } else { - fake_print_error_operation_link_argument_unknown(data_make->setting, data_make->error, data_make->cache_arguments.array[1]); + fake_print_error_operation_link_argument_unknown(&data_make->error, data_make->cache_arguments.array[1]); status = F_status_set_error(F_failure); } @@ -948,15 +948,15 @@ extern "C" { fake_make_assure_inside_project(data_make, data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_operation_path_outside(data_make->setting, data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_operation_path_outside(&data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); status = F_status_set_error(F_failure); } else { if (!(flag & 0x1)) { if (!data_make->cache_path.used || f_file_exists(data_make->cache_path, F_false) == F_true) { - fake_print_error_operation_link_point_exists(data_make->setting, data_make->error, data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); + fake_print_error_operation_link_point_exists(&data_make->error, data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); status = F_status_set_error(F_failure); } @@ -965,15 +965,15 @@ extern "C" { if (f_path_is_absolute(data_make->cache_arguments.array[data_make->cache_arguments.used - 2]) == F_true) { fake_make_assure_inside_project(data_make, data_make->cache_arguments.array[data_make->cache_arguments.used - 2]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_operation_path_outside(data_make->setting, data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_arguments.array[data_make->cache_arguments.used - 2]); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_operation_path_outside(&data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_arguments.array[data_make->cache_arguments.used - 2]); status = F_status_set_error(F_failure); } - if ((flag & 0x2) && F_status_is_error_not(data_make->setting->state.status)) { + if ((flag & 0x2) && F_status_is_error_not(data_make->main->setting.state.status)) { if (f_file_exists(data_make->cache_arguments.array[data_make->cache_arguments.used - 2], F_false) != F_true) { - fake_print_error_operation_link_target_exists_not(data_make->setting, data_make->error, data_make->cache_arguments.array[data_make->cache_arguments.used - 2]); + fake_print_error_operation_link_target_exists_not(&data_make->error, data_make->cache_arguments.array[data_make->cache_arguments.used - 2]); status = F_status_set_error(F_failure); } @@ -992,33 +992,33 @@ extern "C" { data_make->cache_path.used = 0; - data_make->setting->state.status = f_file_name_directory(full, &data_make->cache_path); + data_make->main->setting.state.status = f_file_name_directory(full, &data_make->cache_path); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_name_directory), full, f_file_operation_analyze_s, fll_error_file_type_path_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_name_directory), full, f_file_operation_analyze_s, fll_error_file_type_path_e); status = F_status_set_error(F_failure); } - if (F_status_is_error_not(data_make->setting->state.status)) { - data_make->setting->state.status = f_string_dynamic_append_assure(f_path_separator_s, &data_make->cache_path); + if (F_status_is_error_not(data_make->main->setting.state.status)) { + data_make->main->setting.state.status = f_string_dynamic_append_assure(f_path_separator_s, &data_make->cache_path); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append_assure)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append_assure)); status = F_status_set_error(F_failure); } else { - data_make->setting->state.status = f_string_dynamic_append(data_make->cache_arguments.array[data_make->cache_arguments.used - 2], &data_make->cache_path); + data_make->main->setting.state.status = f_string_dynamic_append(data_make->cache_arguments.array[data_make->cache_arguments.used - 2], &data_make->cache_path); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error(&data_make->program->error, macro_fake_f(f_string_dynamic_append)); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error(&data_make->main->program.error, macro_fake_f(f_string_dynamic_append)); status = F_status_set_error(F_failure); } } - if (F_status_is_error_not(data_make->setting->state.status)) { + if (F_status_is_error_not(data_make->main->setting.state.status)) { // The cache_path is used by fake_make_assure_inside_project(), so copy the contents into another buffer. f_char_t target_string[data_make->cache_path.used + 1]; @@ -1029,15 +1029,15 @@ extern "C" { fake_make_assure_inside_project(data_make, target); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_operation_path_outside(data_make->setting, data_make->error, macro_fake_f(fake_make_assure_inside_project), target); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_operation_path_outside(&data_make->error, macro_fake_f(fake_make_assure_inside_project), target); status = F_status_set_error(F_failure); } - if ((flag & 0x2) && F_status_is_error_not(data_make->setting->state.status)) { + if ((flag & 0x2) && F_status_is_error_not(data_make->main->setting.state.status)) { if (f_file_exists(target, F_false) != F_true) { - fake_print_error_operation_link_target_exists_not(data_make->setting, data_make->error, target); + fake_print_error_operation_link_target_exists_not(&data_make->error, target); status = F_status_set_error(F_failure); } @@ -1046,18 +1046,18 @@ extern "C" { } } else { - fake_make_print_error_target_file_name_empty(data_make->setting, data_make->program->error); + fake_make_print_error_target_file_name_empty(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } - data_make->setting->state.status = status; + data_make->main->setting.state.status = status; } else { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } #endif // _di_fake_make_operate_validate_type_link_ @@ -1065,7 +1065,7 @@ extern "C" { #ifndef _di_fake_make_operate_validate_type_move_ void fake_make_operate_validate_type_move(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (data_make->cache_arguments.used > 1) { { @@ -1075,8 +1075,8 @@ extern "C" { fake_make_assure_inside_project(data_make, data_make->cache_arguments.array[i]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_operation_path_outside(data_make->setting, data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[i]); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_operation_path_outside(&data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[i]); status = F_status_set_error(F_failure); } @@ -1086,35 +1086,35 @@ extern "C" { for (f_array_length_t i = 0; i < data_make->cache_arguments.used - 1; ++i) { if (f_file_exists(data_make->cache_arguments.array[i], F_true) != F_true) { - fake_print_error_file_simple(data_make->setting, data_make->program->error, macro_fake_f(f_file_is), data_make->cache_arguments.array[i], f_file_operation_find_s, fll_error_file_type_file_e); + fake_print_error_file_simple(&data_make->main->program.error, macro_fake_f(f_file_is), data_make->cache_arguments.array[i], f_file_operation_find_s, fll_error_file_type_file_e); status = F_status_set_error(F_failure); } } // for } - data_make->setting->state.status = status; + data_make->main->setting.state.status = status; - if (F_status_is_error(data_make->setting->state.status)) return; + if (F_status_is_error(data_make->main->setting.state.status)) return; } if (data_make->cache_arguments.used > 2) { // The last file must be a directory. - data_make->setting->state.status = f_directory_is(data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); + data_make->main->setting.state.status = f_directory_is(data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); - if (data_make->setting->state.status == F_false || data_make->setting->state.status == F_file_found_not) { - fake_make_print_error_content_not_directory(data_make->setting, data_make->program->error, "last", data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); + if (data_make->main->setting.state.status == F_false || data_make->main->setting.state.status == F_file_found_not) { + fake_make_print_error_content_not_directory(&data_make->main->program.error, "last", data_make->cache_arguments.array[data_make->cache_arguments.used - 1]); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_directory_is), data_make->cache_arguments.array[data_make->cache_arguments.used - 1], f_file_operation_identify_s, fll_error_file_type_directory_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_directory_is), data_make->cache_arguments.array[data_make->cache_arguments.used - 1], f_file_operation_identify_s, fll_error_file_type_directory_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -1122,27 +1122,27 @@ extern "C" { else { // When the first file is a directory, then the second, if it exists, must also be a directory. - data_make->setting->state.status = f_directory_is(data_make->cache_arguments.array[0]); + data_make->main->setting.state.status = f_directory_is(data_make->cache_arguments.array[0]); - if (data_make->setting->state.status == F_true) { - data_make->setting->state.status = f_directory_is(data_make->cache_arguments.array[1]); + if (data_make->main->setting.state.status == F_true) { + data_make->main->setting.state.status = f_directory_is(data_make->cache_arguments.array[1]); - if (data_make->setting->state.status == F_false) { - fake_make_print_error_content_not_directory(data_make->setting, data_make->program->error, "second", data_make->cache_arguments.array[1]); + if (data_make->main->setting.state.status == F_false) { + fake_make_print_error_content_not_directory(&data_make->main->program.error, "second", data_make->cache_arguments.array[1]); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } } - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } else { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } #endif // _di_fake_make_operate_validate_type_move_ @@ -1150,12 +1150,12 @@ extern "C" { #ifndef _di_fake_make_operate_validate_type_operate_ void fake_make_operate_validate_type_operate(fake_make_data_t * const data_make, f_array_lengths_t * const section_stack) { - if (!data_make || !data_make->program || !data_make->setting || !section_stack) return; + if (!data_make || !data_make->main || !section_stack) return; if (data_make->cache_arguments.used > 1) { - fake_print_error_too_many_arguments(data_make->setting, data_make->program->error); + fake_print_error_too_many_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -1171,9 +1171,9 @@ extern "C" { } // for if (id_section == data_make->fakefile.used) { - fake_make_print_error_operation_section_not_found(data_make->setting, data_make->program->error, data_make->cache_arguments.array[0]); + fake_make_print_error_operation_section_not_found(&data_make->main->program.error, data_make->cache_arguments.array[0]); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } @@ -1181,20 +1181,20 @@ extern "C" { for (f_array_length_t i = 0; i < section_stack->used; ++i) { if (section_stack->array[i] == id_section) { - fake_make_print_error_operation_recursion(data_make->setting, data_make->program->error, data_make->buffer, data_make->fakefile.array[id_section].name); + fake_make_print_error_operation_recursion(&data_make->main->program.error, data_make->buffer, data_make->fakefile.array[id_section].name); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } } // for - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } else { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } #endif // _di_fake_make_operate_validate_type_operate_ @@ -1202,7 +1202,7 @@ extern "C" { #ifndef _di_fake_make_operate_validate_type_parameter_ void fake_make_operate_validate_type_parameter(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (data_make->cache_arguments.used) { const f_string_static_t reserved_name[] = { @@ -1246,18 +1246,18 @@ extern "C" { for (f_array_length_t i = 0; i < 33; ++i) { if (fl_string_dynamic_compare(reserved_name[i], data_make->cache_arguments.array[0]) == F_equal_to) { - fake_make_print_error_reserved_parameter_name(data_make->setting, data_make->program->error, reserved_name[i]); + fake_make_print_error_reserved_parameter_name(&data_make->main->program.error, reserved_name[i]); status = F_status_set_error(F_failure); } } // for - data_make->setting->state.status = status; + data_make->main->setting.state.status = status; } else { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } #endif // _di_fake_make_operate_validate_type_parameter_ @@ -1265,7 +1265,7 @@ extern "C" { #ifndef _di_fake_make_operate_validate_type_permission_ void fake_make_operate_validate_type_permission(fake_make_data_t * const data_make, fake_state_process_t * const state_process) { - if (!data_make || !data_make->program || !data_make->setting || !state_process) return; + if (!data_make || !data_make->main || !state_process) return; if (data_make->cache_arguments.used) { f_array_length_t i = 1; @@ -1281,30 +1281,30 @@ extern "C" { for (; i < data_make->cache_arguments.used; ++i) { - data_make->setting->state.status = f_file_is(data_make->cache_arguments.array[i], F_file_type_regular_d, F_false); + data_make->main->setting.state.status = f_file_is(data_make->cache_arguments.array[i], F_file_type_regular_d, F_false); - if (data_make->setting->state.status == F_file_found_not) { - fake_print_error_file_simple(data_make->setting, data_make->program->error, macro_fake_f(f_file_is), data_make->cache_arguments.array[i], f_file_operation_find_s, fll_error_file_type_file_e); + if (data_make->main->setting.state.status == F_file_found_not) { + fake_print_error_file_simple(&data_make->main->program.error, macro_fake_f(f_file_is), data_make->cache_arguments.array[i], f_file_operation_find_s, fll_error_file_type_file_e); status = F_status_set_error(F_failure); } - if (F_status_is_error(data_make->setting->state.status)) { - if (data_make->error.verbosity != f_console_verbosity_quiet_e && data_make->program->error.to.stream) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_is), data_make->cache_arguments.array[i], f_file_operation_find_s, fll_error_file_type_directory_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + if (data_make->error.verbosity != f_console_verbosity_quiet_e && data_make->main->program.error.to.stream) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_is), data_make->cache_arguments.array[i], f_file_operation_find_s, fll_error_file_type_directory_e); } status = F_status_set_error(F_failure); } } // for - data_make->setting->state.status = status; + data_make->main->setting.state.status = status; } } else { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } #endif // _di_fake_make_operate_validate_type_permission_ @@ -1312,23 +1312,23 @@ extern "C" { #ifndef _di_fake_make_operate_validate_type_pop_ void fake_make_operate_validate_type_pop(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (data_make->cache_arguments.used) { - fake_print_error_too_many_arguments(data_make->setting, data_make->program->error); + fake_print_error_too_many_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } if (data_make->path.stack.used == 1) { - fake_make_print_error_pop_last_path(data_make->setting, data_make->program->error); + fake_make_print_error_pop_last_path(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } } #endif // _di_fake_make_operate_validate_type_pop_ @@ -1336,15 +1336,15 @@ extern "C" { #ifndef _di_fake_make_operate_validate_type_run_ void fake_make_operate_validate_type_run(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (!data_make->cache_arguments.used) { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } } #endif // _di_fake_make_operate_validate_type_run_ @@ -1352,57 +1352,57 @@ extern "C" { #ifndef _di_fake_make_operate_validate_type_to_ void fake_make_operate_validate_type_to(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (data_make->cache_arguments.used > 1) { - fake_print_error_too_many_arguments(data_make->setting, data_make->program->error); + fake_print_error_too_many_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } if (data_make->cache_arguments.used) { if (data_make->cache_arguments.array[0].used) { - data_make->setting->state.status = f_file_is(data_make->cache_arguments.array[0], F_file_type_directory_d, F_false); + data_make->main->setting.state.status = f_file_is(data_make->cache_arguments.array[0], F_file_type_directory_d, F_false); - if (data_make->setting->state.status == F_file_found_not) { - fake_print_error_file_simple(data_make->setting, data_make->program->error, macro_fake_f(f_file_is), data_make->cache_arguments.array[0], f_file_operation_find_s, fll_error_file_type_file_e); + if (data_make->main->setting.state.status == F_file_found_not) { + fake_print_error_file_simple(&data_make->main->program.error, macro_fake_f(f_file_is), data_make->cache_arguments.array[0], f_file_operation_find_s, fll_error_file_type_file_e); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - if (F_status_is_error(data_make->setting->state.status)) { - if (data_make->error.verbosity != f_console_verbosity_quiet_e && data_make->program->error.to.stream) { - fake_print_error_file(data_make->setting, data_make->program->error, macro_fake_f(f_file_is), data_make->data->file_data_build_fakefile, f_file_operation_find_s, fll_error_file_type_file_e); + if (F_status_is_error(data_make->main->setting.state.status)) { + if (data_make->error.verbosity != f_console_verbosity_quiet_e && data_make->main->program.error.to.stream) { + fake_print_error_file(&data_make->main->program.error, macro_fake_f(f_file_is), data_make->data->file_data_build_fakefile, f_file_operation_find_s, fll_error_file_type_file_e); } - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } - if (data_make->setting->state.status) { - data_make->setting->state.status = F_none; + if (data_make->main->setting.state.status) { + data_make->main->setting.state.status = F_none; } else { - fake_make_print_error_content_not_directory(data_make->setting, data_make->program->error, 0, data_make->cache_arguments.array[0]); + fake_make_print_error_content_not_directory(&data_make->main->program.error, 0, data_make->cache_arguments.array[0]); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } else { - fake_make_print_error_file_name_empty(data_make->setting, data_make->program->error); + fake_make_print_error_file_name_empty(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } else { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } #endif // _di_fake_make_operate_validate_type_to_ @@ -1410,14 +1410,14 @@ extern "C" { #ifndef _di_fake_make_operate_validate_type_touch_ void fake_make_operate_validate_type_touch(fake_make_data_t * const data_make) { - if (!data_make || !data_make->program || !data_make->setting) return; + if (!data_make || !data_make->main) return; if (data_make->cache_arguments.used > 1) { if (fl_string_dynamic_compare(fake_make_operation_argument_file_s, data_make->cache_arguments.array[0]) == F_equal_to_not) { if (fl_string_dynamic_compare(fake_make_operation_argument_directory_s, data_make->cache_arguments.array[0]) == F_equal_to_not) { - fake_make_print_error_unsupported_type(data_make->setting, data_make->program->error, f_file_type_name_file_s, data_make->cache_arguments.array[0]); + fake_make_print_error_unsupported_type(&data_make->main->program.error, f_file_type_name_file_s, data_make->cache_arguments.array[0]); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } @@ -1427,19 +1427,19 @@ extern "C" { fake_make_assure_inside_project(data_make, data_make->cache_arguments.array[i]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_operation_path_outside(data_make->setting, data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[i]); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_operation_path_outside(&data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[i]); status = F_status_set_error(F_failure); } } // for - data_make->setting->state.status = status; + data_make->main->setting.state.status = status; } else { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } #endif // _di_fake_make_operate_validate_type_touch_ @@ -1449,28 +1449,28 @@ extern "C" { if (data_make->cache_arguments.used) { if (!data_make->cache_arguments.array[0].used) { - fake_print_error_argument_empty(data_make->setting, data_make->error, 1); + fake_print_error_argument_empty(&data_make->error, 1); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); return; } fake_make_assure_inside_project(data_make, data_make->cache_arguments.array[0]); - if (F_status_is_error(data_make->setting->state.status)) { - fake_print_error_operation_path_outside(data_make->setting, data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[0]); + if (F_status_is_error(data_make->main->setting.state.status)) { + fake_print_error_operation_path_outside(&data_make->error, macro_fake_f(fake_make_assure_inside_project), data_make->cache_path.used ? data_make->cache_path : data_make->cache_arguments.array[0]); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } else { - data_make->setting->state.status = F_none; + data_make->main->setting.state.status = F_none; } } else { - fake_print_error_requires_more_arguments(data_make->setting, data_make->program->error); + fake_print_error_requires_more_arguments(&data_make->main->program.error); - data_make->setting->state.status = F_status_set_error(F_failure); + data_make->main->setting.state.status = F_status_set_error(F_failure); } } #endif // _di_fake_make_operate_validate_type_write_ diff --git a/level_3/fake/c/main/make/operate_validate_type.h b/level_3/fake/c/main/make/operate_validate_type.h index f4436da..ff4948d 100644 --- a/level_3/fake/c/main/make/operate_validate_type.h +++ b/level_3/fake/c/main/make/operate_validate_type.h @@ -22,7 +22,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -37,7 +37,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -52,7 +52,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -67,7 +67,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -86,7 +86,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -104,7 +104,7 @@ extern "C" { * The operation and if-condition operation states. * This condition will be updated by this as appropriate. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -125,7 +125,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -145,7 +145,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -162,7 +162,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -182,7 +182,7 @@ extern "C" { * The operation and if-condition operation states. * This condition will be updated by this as appropriate. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -197,7 +197,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -212,7 +212,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -227,7 +227,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -242,7 +242,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -257,7 +257,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -280,7 +280,7 @@ extern "C" { * @param section_stack * The current operation stack. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -295,7 +295,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -313,7 +313,7 @@ extern "C" { * The operation and if-condition operation states. * This condition will be updated by this as appropriate. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -330,7 +330,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -345,7 +345,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -360,7 +360,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -377,7 +377,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. @@ -394,7 +394,7 @@ extern "C" { * @param data_make * All make related setting data, including data from the fakefile and the build settings file. * - * This alters data_make.setting.state: + * This alters data_make.main->setting.state: * F_none on success. * * F_failure (with error bit) on any error. diff --git a/level_3/fake/c/main/make/print.c b/level_3/fake/c/main/make/print.c deleted file mode 100644 index 11ae808..0000000 --- a/level_3/fake/c/main/make/print.c +++ /dev/null @@ -1,59 +0,0 @@ -#include "../fake.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _di_fake_make_print_now_making_ - f_status_t fake_make_print_now_making(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile) { - - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_normal_e) return F_output_not; - - f_file_stream_lock(print.to); - - fl_print_format("%[Now making using '%]", print.to, print.set->important, print.set->important); - fl_print_format("%[%Q%]", print.to, print.set->notable, fakefile, print.set->notable); - - if (setting->modes.used) { - fl_print_format("%[' with modes '%]", print.to, print.set->important, print.set->important); - - for (f_array_length_t i = 0; i < setting->modes.used; ) { - - fl_print_format("%[%Q%]", print.to, print.set->notable, setting->modes.array[i], print.set->notable); - - if (++i < setting->modes.used) { - fl_print_format("%[', '%]", print.to, print.set->important, print.set->important); - } - } // for - } - - fl_print_format("%['.%]%r", print.to, print.set->important, print.set->important, f_string_eol_s); - - f_file_stream_unlock(print.to); - - return F_none; - } -#endif // _di_fake_make_print_now_making_ - -#ifndef _di_fake_make_print_processing_section_ - f_status_t fake_make_print_processing_section(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t buffer, const f_fss_named_t section) { - - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_normal_e) return F_output_not; - - f_file_stream_lock(print.to); - - fl_print_format("%r%[Processing Section '%]", print.to, f_string_eol_s, print.set->important, print.set->important); - fl_print_format("%[%/Q%]", print.to, print.set->notable, buffer, section.name, print.set->notable); - fl_print_format("%['.%]%r", print.to, print.set->important, print.set->important, f_string_eol_s); - - f_file_stream_unlock(print.to); - - return F_none; - } -#endif // _di_fake_make_print_processing_section_ - -#ifdef __cplusplus -} // extern "C" -#endif diff --git a/level_3/fake/c/main/make/print/common.c b/level_3/fake/c/main/make/print/common.c new file mode 100644 index 0000000..e69de29 diff --git a/level_3/fake/c/main/make/print/common.h b/level_3/fake/c/main/make/print/common.h new file mode 100644 index 0000000..e69de29 diff --git a/level_3/fake/c/main/make/print/error.c b/level_3/fake/c/main/make/print/error.c index 8e0a087..c51be3a 100644 --- a/level_3/fake/c/main/make/print/error.c +++ b/level_3/fake/c/main/make/print/error.c @@ -5,346 +5,346 @@ extern "C" { #endif #ifndef _di_fake_make_print_error_argument_invalid_section_ - f_status_t fake_make_print_error_argument_invalid_section(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name) { + f_status_t fake_make_print_error_argument_invalid_section(fl_print_t * const print, const f_string_static_t name) { - if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "The argument ", name, " is not a valid section name"); + fake_print_context_wrapped_variable(print, "The argument ", name, " is not a valid section name"); return F_none; } #endif // _di_fake_make_print_error_argument_invalid_section_ #ifndef _di_fake_make_print_error_compiler_not_specified_ - f_status_t fake_make_print_error_compiler_not_specified(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t action) { + f_status_t fake_make_print_error_compiler_not_specified(fl_print_t * const print, const f_string_static_t action) { - if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "No compiler has been specified, cannot perform ", action, " section operation"); + fake_print_context_wrapped_variable(print, "No compiler has been specified, cannot perform ", action, " section operation"); return F_none; } #endif // _di_fake_make_print_error_compiler_not_specified_ #ifndef _di_fake_make_print_error_content_not_directory_ - f_status_t fake_make_print_error_content_not_directory(fake_setting_t * const setting, const fl_print_t print, const f_string_t content, const f_string_static_t file) { + f_status_t fake_make_print_error_content_not_directory(fl_print_t * const print, const f_string_t content, const f_string_static_t file) { - if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QThe %S%rcontent '%]", print.to, print.context, print.prefix, content, content ? f_string_space_s : f_string_empty_s, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, file, print.notable); - fl_print_format("%[' must be a valid directory.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[%QThe %S%rcontent '%]", print->to, print->context, print->prefix, content, content ? f_string_space_s : f_string_empty_s, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, file, print->notable); + fl_print_format("%[' must be a valid directory.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_error_content_not_directory_ #ifndef _di_fake_make_print_error_define_name_empty_ - f_status_t fake_make_print_error_define_name_empty(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_make_print_error_define_name_empty(fl_print_t * const print) { - if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_simple(setting, print, "Define name must not be an empty string"); + fake_print_context_simple(print, "Define name must not be an empty string"); return F_none; } #endif // _di_fake_make_print_error_define_name_empty_ #ifndef _di_fake_make_print_error_define_invalid_character_ - f_status_t fake_make_print_error_define_invalid_character(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name) { + f_status_t fake_make_print_error_define_invalid_character(fl_print_t * const print, const f_string_static_t name) { - if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "Invalid characters in the define name ", name, ", only alpha-numeric ASCII characters and underscore (without a leading digit) are allowed"); + fake_print_context_wrapped_variable(print, "Invalid characters in the define name ", name, ", only alpha-numeric ASCII characters and underscore (without a leading digit) are allowed"); return F_none; } #endif // _di_fake_make_print_error_define_invalid_character_ #ifndef _di_fake_make_print_error_fakefile_section_missing_ - f_status_t fake_make_print_error_fakefile_section_missing(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_static_t section) { + f_status_t fake_make_print_error_fakefile_section_missing(fl_print_t * const print, const f_string_static_t fakefile, const f_string_static_t section) { - if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QThe fakefile '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, fakefile, print.notable); - fl_print_format("%[' is missing the required '%]", print.to, print.context, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, section, print.notable); - fl_print_format("%[' section.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[%QThe fakefile '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, fakefile, print->notable); + fl_print_format("%[' is missing the required '%]", print->to, print->context, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, section, print->notable); + fl_print_format("%[' section.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_error_fakefile_section_missing_ #ifndef _di_fake_make_print_error_file_name_empty_ - f_status_t fake_make_print_error_file_name_empty(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_make_print_error_file_name_empty(fl_print_t * const print) { - if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_simple(setting, print, "File name argument must not be an empty string"); + fake_print_context_simple(print, "File name argument must not be an empty string"); return F_none; } #endif // _di_fake_make_print_error_file_name_empty_ #ifndef _di_fake_make_print_error_file_type_ - f_status_t fake_make_print_error_file_type(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t type, const f_string_static_t file) { + f_status_t fake_make_print_error_file_type(fl_print_t * const print, const f_string_static_t type, const f_string_static_t file) { - if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QThe file '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, file, print.notable); - fl_print_format("%[' must be a %Q file.%]%r", print.to, print.context, print.context, type, f_string_eol_s); + fl_print_format("%[%QThe file '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, file, print->notable); + fl_print_format("%[' must be a %Q file.%]%r", print->to, print->context, print->context, type, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_error_file_type_ #ifndef _di_fake_make_print_error_indexer_not_specified_ - f_status_t fake_make_print_error_indexer_not_specified(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t action) { + f_status_t fake_make_print_error_indexer_not_specified(fl_print_t * const print, const f_string_static_t action) { - if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "No indexer has been specified, cannot perform ", action, " section operation"); + fake_print_context_wrapped_variable(print, "No indexer has been specified, cannot perform ", action, " section operation"); return F_none; } #endif // _di_fake_make_print_error_indexer_not_specified_ #ifndef _di_fake_make_print_error_after_condition_ - f_status_t fake_make_print_error_after_condition(fake_setting_t * const setting, const fl_print_t print, const f_string_t message) { + f_status_t fake_make_print_error_after_condition(fl_print_t * const print, const f_string_t message) { - if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%Q%S '%]", print.to, print.context, print.prefix, message, print.context); - fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_if_s, print.notable); - fl_print_format("%[', '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_and_s, print.notable); - fl_print_format("%[', or '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_or_s, print.notable); - fl_print_format("%[' section operation.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[%Q%S '%]", print->to, print->context, print->prefix, message, print->context); + fl_print_format("%[%r%]", print->to, print->notable, fake_make_operation_if_s, print->notable); + fl_print_format("%[', '%]", print->to, print->context, print->context); + fl_print_format("%[%r%]", print->to, print->notable, fake_make_operation_and_s, print->notable); + fl_print_format("%[', or '%]", print->to, print->context, print->context); + fl_print_format("%[%r%]", print->to, print->notable, fake_make_operation_or_s, print->notable); + fl_print_format("%[' section operation.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_error_after_condition_ #ifndef _di_fake_make_print_error_after_condition_may_only_ - f_status_t fake_make_print_error_after_condition_may_only(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_make_print_error_after_condition_may_only(fl_print_t * const print) { - if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_make_print_error_after_condition(setting, print, "May only be used immediately after"); + fake_make_print_error_after_condition(print, "May only be used immediately after"); return F_none; } #endif // _di_fake_make_print_error_after_condition_may_only_ #ifndef _di_fake_make_print_error_after_condition_must_not_ - f_status_t fake_make_print_error_after_condition_must_not(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_make_print_error_after_condition_must_not(fl_print_t * const print) { - if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_make_print_error_after_condition(setting, print, "Must not be used immediately after"); + fake_make_print_error_after_condition(print, "Must not be used immediately after"); return F_none; } #endif // _di_fake_make_print_error_after_condition_must_not_ #ifndef _di_fake_make_print_error_after_condition_no_preceding_ - f_status_t fake_make_print_error_after_condition_no_preceding(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_make_print_error_after_condition_no_preceding(fl_print_t * const print) { - if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_make_print_error_after_condition(setting, print, "Has no preceding"); + fake_make_print_error_after_condition(print, "Has no preceding"); return F_none; } #endif // _di_fake_make_print_error_after_condition_no_preceding_ #ifndef _di_fake_make_print_error_operation_incomplete_ - f_status_t fake_make_print_error_operation_incomplete(fake_setting_t * const setting, const fl_print_t print, const uint8_t operation) { + f_status_t fake_make_print_error_operation_incomplete(fl_print_t * const print, const uint8_t operation) { - if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QIncomplete '%]", print.to, print.context, print.prefix, print.context); + fl_print_format("%[%QIncomplete '%]", print->to, print->context, print->prefix, print->context); if (operation == fake_make_operation_type_and_e) { - fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_and_s, print.notable); + fl_print_format("%[%r%]", print->to, print->notable, fake_make_operation_and_s, print->notable); } else if (operation == fake_make_operation_type_else_e) { - fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_else_s, print.notable); + fl_print_format("%[%r%]", print->to, print->notable, fake_make_operation_else_s, print->notable); } else if (operation == fake_make_operation_type_if_e) { - fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_if_s, print.notable); + fl_print_format("%[%r%]", print->to, print->notable, fake_make_operation_if_s, print->notable); } else { - fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_or_s, print.notable); + fl_print_format("%[%r%]", print->to, print->notable, fake_make_operation_or_s, print->notable); } - fl_print_format("%[' at end of the section.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[' at end of the section.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_error_operation_incomplete_ #ifndef _di_fake_make_print_error_operation_recursion_ - f_status_t fake_make_print_error_operation_recursion(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t range) { + f_status_t fake_make_print_error_operation_recursion(fl_print_t * const print, const f_string_static_t buffer, const f_string_range_t range) { - if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QThe section operation '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%/Q%]", print.to, print.notable, buffer, range, print.notable); - fl_print_format("%[' is already in the operation stack, recursion is not allowed.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[%QThe section operation '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%/Q%]", print->to, print->notable, buffer, range, print->notable); + fl_print_format("%[' is already in the operation stack, recursion is not allowed.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_error_operation_recursion_ #ifndef _di_fake_make_print_error_operation_section_not_found_ - f_status_t fake_make_print_error_operation_section_not_found(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name) { + f_status_t fake_make_print_error_operation_section_not_found(fl_print_t * const print, const f_string_static_t name) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "No operation section named ", name, " is found"); + fake_print_context_wrapped_variable(print, "No operation section named ", name, " is found"); return F_none; } #endif // _di_fake_make_print_error_operation_section_not_found_ #ifndef _di_fake_make_print_error_out_of_range_number_ - f_status_t fake_make_print_error_out_of_range_number(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t number, const f_number_unsigned_t minimum, const f_number_unsigned_t maximum) { + f_status_t fake_make_print_error_out_of_range_number(fl_print_t * const print, const f_string_static_t number, const f_number_unsigned_t minimum, const f_number_unsigned_t maximum) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QThe number '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, number, print.notable); - fl_print_format("%[' may only be between the ranges -%un to %un.%]%r", print.to, print.context, minimum, maximum, print.context, f_string_eol_s); + fl_print_format("%[%QThe number '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, number, print->notable); + fl_print_format("%[' may only be between the ranges -%un to %un.%]%r", print->to, print->context, minimum, maximum, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_error_out_of_range_number_ #ifndef _di_fake_make_print_error_pop_last_path_ - f_status_t fake_make_print_error_pop_last_path(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_make_print_error_pop_last_path(fl_print_t * const print) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_simple(setting, print, "Must not attempt to pop project root off of path stack"); + fake_print_context_simple(print, "Must not attempt to pop project root off of path stack"); return F_none; } #endif // _di_fake_make_print_error_pop_last_path_ #ifndef _di_fake_make_print_error_program_failed_ - f_status_t fake_make_print_error_program_failed(fake_setting_t * const setting, const fl_print_t print, const int return_code) { + f_status_t fake_make_print_error_program_failed(fl_print_t * const print, const int return_code) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QFailed with return code %]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%i%]", print.to, print.notable, return_code, print.notable); - fl_print_format("%[.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[%QFailed with return code %]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%i%]", print->to, print->notable, return_code, print->notable); + fl_print_format("%[.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_error_program_failed_ #ifndef _di_fake_make_print_error_program_not_found_ - f_status_t fake_make_print_error_program_not_found(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t program) { + f_status_t fake_make_print_error_program_not_found(fl_print_t * const print, const f_string_static_t program) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "Failed to find program ", program, " for executing"); + fake_print_context_wrapped_variable(print, "Failed to find program ", program, " for executing"); return F_none; } #endif // _di_fake_make_print_error_program_not_found_ #ifndef _di_fake_make_print_error_reserved_parameter_name_ - f_status_t fake_make_print_error_reserved_parameter_name(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name) { + f_status_t fake_make_print_error_reserved_parameter_name(fl_print_t * const print, const f_string_static_t name) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "Cannot assign a value to the parameter name ", name, " because it is a reserved parameter name"); + fake_print_context_wrapped_variable(print, "Cannot assign a value to the parameter name ", name, " because it is a reserved parameter name"); return F_none; } #endif // _di_fake_make_print_error_reserved_parameter_name_ #ifndef _di_fake_make_print_error_target_file_name_empty_ - f_status_t fake_make_print_error_target_file_name_empty(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_make_print_error_target_file_name_empty(fl_print_t * const print) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_simple(setting, print, "Target file name argument must not be an empty string"); + fake_print_context_simple(print, "Target file name argument must not be an empty string"); return F_none; } #endif // _di_fake_make_print_error_target_file_name_empty_ #ifndef _di_fake_make_print_error_unsupported_number_ - f_status_t fake_make_print_error_unsupported_number(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t number) { + f_status_t fake_make_print_error_unsupported_number(fl_print_t * const print, const f_string_static_t number) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "Invalid or unsupported number provided ", number, 0); + fake_print_context_wrapped_variable(print, "Invalid or unsupported number provided ", number, 0); return F_none; } #endif // _di_fake_make_print_error_unsupported_number_ #ifndef _di_fake_make_print_error_unsupported_type_ - f_status_t fake_make_print_error_unsupported_type(fake_setting_t * const setting, const fl_print_t print, f_string_static_t type, const f_string_static_t value) { + f_status_t fake_make_print_error_unsupported_type(fl_print_t * const print, f_string_static_t type, const f_string_static_t value) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QUnsupported %Q type '%]", print.to, print.context, print.prefix, type, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, value, print.notable); - fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[%QUnsupported %Q type '%]", print->to, print->context, print->prefix, type, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, value, print->notable); + fl_print_format("%['.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } diff --git a/level_3/fake/c/main/make/print/error.h b/level_3/fake/c/main/make/print/error.h index 9788f64..09bc8f2 100644 --- a/level_3/fake/c/main/make/print/error.h +++ b/level_3/fake/c/main/make/print/error.h @@ -21,13 +21,12 @@ extern "C" { * * These only allow valid characters in an environment variable name. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param name * The invalid section name. * @@ -38,19 +37,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_argument_invalid_section_ - extern f_status_t fake_make_print_error_argument_invalid_section(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name); + extern f_status_t fake_make_print_error_argument_invalid_section(fl_print_t * const print, const f_string_static_t name); #endif // _di_fake_make_print_error_argument_invalid_section_ /** * Print error about a compiler not being specified. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param action * The action that cannot be performed due to a lack of a compiler. * @@ -61,7 +59,7 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_compiler_not_specified_ - extern f_status_t fake_make_print_error_compiler_not_specified(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t action); + extern f_status_t fake_make_print_error_compiler_not_specified(fl_print_t * const print, const f_string_static_t action); #endif // _di_fake_make_print_error_compiler_not_specified_ /** @@ -69,13 +67,12 @@ extern "C" { * * These only allow valid characters in an environment variable name. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param name * The name of the variable containing one or more invalid characters. * @@ -86,19 +83,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_define_invalid_character_ - extern f_status_t fake_make_print_error_define_invalid_character(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name); + extern f_status_t fake_make_print_error_define_invalid_character(fl_print_t * const print, const f_string_static_t name); #endif // _di_fake_make_print_error_define_invalid_character_ /** * Print error about a given fakefile missing a section. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param fakefile * The name or path of the file that is empty. * @param section @@ -111,20 +107,19 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_fakefile_section_missing_ - extern f_status_t fake_make_print_error_fakefile_section_missing(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_static_t section); + extern f_status_t fake_make_print_error_fakefile_section_missing(fl_print_t * const print, const f_string_static_t fakefile, const f_string_static_t section); #endif // _di_fake_make_print_error_fakefile_section_missing_ /** * Print error about a file name being an empty string. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * * @return * F_none on success. * F_output_not on success, but no printing is performed. @@ -132,19 +127,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_file_name_empty_ - extern f_status_t fake_make_print_error_file_name_empty(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_make_print_error_file_name_empty(fl_print_t * const print); #endif // _di_fake_make_print_error_file_name_empty_ /** * Print error about the second file not being of a directory. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param content * A string representing which content. * @param file @@ -157,20 +151,19 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_content_not_directory_ - extern f_status_t fake_make_print_error_content_not_directory(fake_setting_t * const setting, const fl_print_t print, const f_string_t content, const f_string_static_t file); + extern f_status_t fake_make_print_error_content_not_directory(fl_print_t * const print, const f_string_t content, const f_string_static_t file); #endif // _di_fake_make_print_error_content_not_directory_ /** * Print error about a define name being an empty string. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * * @return * F_none on success. * F_output_not on success, but no printing is performed. @@ -178,19 +171,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_define_name_empty_ - extern f_status_t fake_make_print_error_define_name_empty(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_make_print_error_define_name_empty(fl_print_t * const print); #endif // _di_fake_make_print_error_define_name_empty_ /** * Print error about a file not being of a specific type. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param type * The expected type of the file. * @param file @@ -203,19 +195,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_file_type_ - extern f_status_t fake_make_print_error_file_type(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t type, const f_string_static_t file); + extern f_status_t fake_make_print_error_file_type(fl_print_t * const print, const f_string_static_t type, const f_string_static_t file); #endif // _di_fake_make_print_error_file_type_ /** * Print error about a indexer not being specified. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param action * The action that cannot be performed due to a lack of a compiler. * @@ -226,19 +217,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_indexer_not_specified_ - extern f_status_t fake_make_print_error_indexer_not_specified(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t action); + extern f_status_t fake_make_print_error_indexer_not_specified(fl_print_t * const print, const f_string_static_t action); #endif // _di_fake_make_print_error_indexer_not_specified_ /** * Print error about how using something after a condition statement. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param message * The message describing how in relation to the after condition. * @@ -249,20 +239,19 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_after_condition_ - extern f_status_t fake_make_print_error_after_condition(fake_setting_t * const setting, const fl_print_t print, const f_string_t message); + extern f_status_t fake_make_print_error_after_condition(fl_print_t * const print, const f_string_t message); #endif // _di_fake_make_print_error_after_condition_ /** * Print error about how using something after a condition statement, for the "may only" case. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * * @return * F_none on success. * F_output_not on success, but no printing is performed. @@ -270,20 +259,19 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_after_condition_may_only_ - extern f_status_t fake_make_print_error_after_condition_may_only(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_make_print_error_after_condition_may_only(fl_print_t * const print); #endif // _di_fake_make_print_error_after_condition_may_only_ /** * Print error about how using something after a condition statement, for the "must not" case. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * * @return * F_none on success. * F_output_not on success, but no printing is performed. @@ -291,20 +279,19 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_after_condition_must_not_ - extern f_status_t fake_make_print_error_after_condition_must_not(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_make_print_error_after_condition_must_not(fl_print_t * const print); #endif // _di_fake_make_print_error_after_condition_must_not_ /** * Print error about how using something after a condition statement, for the "no preceding" case. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * * @return * F_none on success. * F_output_not on success, but no printing is performed. @@ -312,19 +299,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_after_condition_no_preceding_ - extern f_status_t fake_make_print_error_after_condition_no_preceding(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_make_print_error_after_condition_no_preceding(fl_print_t * const print); #endif // _di_fake_make_print_error_after_condition_no_preceding_ /** * Print error about an incomplete operation at the end of a section. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param operation * The code of the operation. * @@ -335,7 +321,7 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_operation_incomplete_ - extern f_status_t fake_make_print_error_operation_incomplete(fake_setting_t * const setting, const fl_print_t print, const uint8_t operation); + extern f_status_t fake_make_print_error_operation_incomplete(fl_print_t * const print, const uint8_t operation); #endif // _di_fake_make_print_error_operation_incomplete_ /** @@ -343,7 +329,6 @@ extern "C" { * * @param setting * The main program settings. - * (Must be of type fake_setting_t.) * * This does not alter setting.state.status. * @param buffer @@ -358,19 +343,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_operation_recursion_ - extern f_status_t fake_make_print_error_operation_recursion(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t range); + extern f_status_t fake_make_print_error_operation_recursion(fl_print_t * const print, const f_string_static_t buffer, const f_string_range_t range); #endif // _di_fake_make_print_error_operation_recursion_ /** * Print error about an operation section not being found. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param name * The name of the operation. * @@ -381,19 +365,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_operation_section_not_found_ - extern f_status_t fake_make_print_error_operation_section_not_found(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name); + extern f_status_t fake_make_print_error_operation_section_not_found(fl_print_t * const print, const f_string_static_t name); #endif // _di_fake_make_print_error_operation_section_not_found_ /** * Print error about number being out of range. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param number * The string representing the number. * @param minimum @@ -408,20 +391,19 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_out_of_range_number_ - extern f_status_t fake_make_print_error_out_of_range_number(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t number, const f_number_unsigned_t minimum, const f_number_unsigned_t maximum); + extern f_status_t fake_make_print_error_out_of_range_number(fl_print_t * const print, const f_string_static_t number, const f_number_unsigned_t minimum, const f_number_unsigned_t maximum); #endif // _di_fake_make_print_error_out_of_range_number_ /** * Print error about attempting to pop last path off the project path stack. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * * @return * F_none on success. * F_output_not on success, but no printing is performed. @@ -429,19 +411,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_pop_last_path_ - extern f_status_t fake_make_print_error_pop_last_path(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_make_print_error_pop_last_path(fl_print_t * const print); #endif // _di_fake_make_print_error_pop_last_path_ /** * Print error about program failed. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param return_code * The return code from the program. * @@ -452,19 +433,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_program_failed_ - extern f_status_t fake_make_print_error_program_failed(fake_setting_t * const setting, const fl_print_t print, const int return_code); + extern f_status_t fake_make_print_error_program_failed(fl_print_t * const print, const int return_code); #endif // _di_fake_make_print_error_program_failed_ /** * Print error about program not being found. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param program * The program name. * @@ -475,19 +455,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_program_not_found_ - extern f_status_t fake_make_print_error_program_not_found(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t program); + extern f_status_t fake_make_print_error_program_not_found(fl_print_t * const print, const f_string_static_t program); #endif // _di_fake_make_print_error_program_not_found_ /** * Print error about attempting to assign to a reserved parameter name. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param name * The reserved parameter name. * @@ -498,20 +477,19 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_reserved_parameter_name_ - extern f_status_t fake_make_print_error_reserved_parameter_name(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name); + extern f_status_t fake_make_print_error_reserved_parameter_name(fl_print_t * const print, const f_string_static_t name); #endif // _di_fake_make_print_error_reserved_parameter_name_ /** * Print error about a target file name being an empty string. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * * @return * F_none on success. * F_output_not on success, but no printing is performed. @@ -519,19 +497,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_target_file_name_empty_ - extern f_status_t fake_make_print_error_target_file_name_empty(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_make_print_error_target_file_name_empty(fl_print_t * const print); #endif // _di_fake_make_print_error_target_file_name_empty_ /** * Print error about number not being supported. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param number * The string representing the number. * @@ -542,19 +519,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_unsupported_number_ - extern f_status_t fake_make_print_error_unsupported_number(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t number); + extern f_status_t fake_make_print_error_unsupported_number(fl_print_t * const print, const f_string_static_t number); #endif // _di_fake_make_print_error_unsupported_number_ /** * Print error about type not being supported. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param type * The string representing the type. * @param value @@ -567,7 +543,7 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_error_unsupported_type_ - extern f_status_t fake_make_print_error_unsupported_type(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t type, const f_string_static_t value); + extern f_status_t fake_make_print_error_unsupported_type(fl_print_t * const print, const f_string_static_t type, const f_string_static_t value); #endif // _di_fake_make_print_error_unsupported_type_ #ifdef __cplusplus diff --git a/level_3/fake/c/main/make/print/message.c b/level_3/fake/c/main/make/print/message.c new file mode 100644 index 0000000..71f72f9 --- /dev/null +++ b/level_3/fake/c/main/make/print/message.c @@ -0,0 +1,61 @@ +#include "../../fake.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _di_fake_make_print_message_now_making_ + f_status_t fake_make_print_message_now_making(fl_print_t * const print, const f_string_static_t fakefile) { + + if (!print || !print->custom) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_normal_e) return F_output_not; + + fake_main_t * const main = (fake_main_t *) print->custom; + + f_file_stream_lock(print->to); + + fl_print_format("%[Now making using '%]", print->to, print->set->important, print->set->important); + fl_print_format("%[%Q%]", print->to, print->set->notable, fakefile, print->set->notable); + + if (main->setting.modes.used) { + fl_print_format("%[' with modes '%]", print->to, print->set->important, print->set->important); + + for (f_array_length_t i = 0; i < main->setting.modes.used; ) { + + fl_print_format("%[%Q%]", print->to, print->set->notable, main->setting.modes.array[i], print->set->notable); + + if (++i < main->setting.modes.used) { + fl_print_format("%[', '%]", print->to, print->set->important, print->set->important); + } + } // for + } + + fl_print_format("%['.%]%r", print->to, print->set->important, print->set->important, f_string_eol_s); + + f_file_stream_unlock(print->to); + + return F_none; + } +#endif // _di_fake_make_print_message_now_making_ + +#ifndef _di_fake_make_print_message_processing_section_ + f_status_t fake_make_print_message_processing_section(fl_print_t * const print, const f_string_static_t buffer, const f_fss_named_t section) { + + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_normal_e) return F_output_not; + + f_file_stream_lock(print->to); + + fl_print_format("%r%[Processing Section '%]", print->to, f_string_eol_s, print->set->important, print->set->important); + fl_print_format("%[%/Q%]", print->to, print->set->notable, buffer, section.name, print->set->notable); + fl_print_format("%['.%]%r", print->to, print->set->important, print->set->important, f_string_eol_s); + + f_file_stream_unlock(print->to); + + return F_none; + } +#endif // _di_fake_make_print_message_processing_section_ + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_3/fake/c/main/make/print.h b/level_3/fake/c/main/make/print/message.h similarity index 57% rename from level_3/fake/c/main/make/print.h rename to level_3/fake/c/main/make/print/message.h index 676f54c..96646d6 100644 --- a/level_3/fake/c/main/make/print.h +++ b/level_3/fake/c/main/make/print/message.h @@ -5,12 +5,12 @@ * API Version: 0.7 * Licenses: lgpl-2.1-or-later * - * Provides make print functionality. + * Provides make print message functionality. * * This is auto-included and should not need to be explicitly included. */ -#ifndef _fake_make_print_h -#define _fake_make_print_h +#ifndef _fake_make_print_message_h +#define _fake_make_print_message_h #ifdef __cplusplus extern "C" { @@ -19,13 +19,12 @@ extern "C" { /** * Print the now making message. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param fakefile * The name or path of the file that is empty. * @@ -39,20 +38,19 @@ extern "C" { * @see f_file_stream_unlock() * @see fl_print_format() */ -#ifndef _di_fake_make_print_now_making_ - extern f_status_t fake_make_print_now_making(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile); -#endif // _di_fake_make_print_now_making_ +#ifndef _di_fake_make_print_message_now_making_ + extern f_status_t fake_make_print_message_now_making(fl_print_t * const print, const f_string_static_t fakefile); +#endif // _di_fake_make_print_message_now_making_ /** * Print the processing section message. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param buffer * The string containing the section name. * @param section @@ -68,12 +66,12 @@ extern "C" { * @see f_file_stream_unlock() * @see fl_print_format() */ -#ifndef _di_fake_make_print_processing_section_ - extern f_status_t fake_make_print_processing_section(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t buffer, const f_fss_named_t section); -#endif // _di_fake_make_print_processing_section_ +#ifndef _di_fake_make_print_message_processing_section_ + extern f_status_t fake_make_print_message_processing_section(fl_print_t * const print, const f_string_static_t buffer, const f_fss_named_t section); +#endif // _di_fake_make_print_message_processing_section_ #ifdef __cplusplus } // extern "C" #endif -#endif // _fake_make_print_h +#endif // _fake_make_print_message_h diff --git a/level_3/fake/c/main/make/print/verbose.c b/level_3/fake/c/main/make/print/verbose.c index 0cac365..6a65020 100644 --- a/level_3/fake/c/main/make/print/verbose.c +++ b/level_3/fake/c/main/make/print/verbose.c @@ -5,213 +5,213 @@ extern "C" { #endif #ifndef _di_fake_make_print_verbose_operate_break_ - f_status_t fake_make_print_verbose_operate_break(fake_setting_t * const setting, const fl_print_t print, const f_string_statics_t arguments) { + f_status_t fake_make_print_verbose_operate_break(fl_print_t * const print, const f_string_statics_t arguments) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_context_simple_variable(setting, print, "Breaking as", arguments.used ? arguments.array[0] : fake_make_operation_argument_success_s, 0); + fake_print_context_simple_variable(print, "Breaking as", arguments.used ? arguments.array[0] : fake_make_operation_argument_success_s, 0); return F_none; } #endif // _di_fake_make_print_verbose_operate_break_ #ifndef _di_fake_make_print_verbose_operate_copy_ - f_status_t fake_make_print_verbose_operate_copy(fake_setting_t * const setting, const fl_print_t print, const bool clone, const f_string_static_t source, const f_string_static_t destination) { + f_status_t fake_make_print_verbose_operate_copy(fl_print_t * const print, const bool clone, const f_string_static_t source, const f_string_static_t destination) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%s '%[%Q%]' to '", print.to, clone ? "Cloned" : "Copied", print.set->notable, source, print.set->notable); - fl_print_format("%[%Q%]'.%r", print.to, print.set->notable, destination, print.set->notable, f_string_eol_s); + fl_print_format("%s '%[%Q%]' to '", print->to, clone ? "Cloned" : "Copied", print->set->notable, source, print->set->notable); + fl_print_format("%[%Q%]'.%r", print->to, print->set->notable, destination, print->set->notable, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_verbose_operate_copy_ #ifndef _di_fake_make_print_verbose_operate_define_ - f_status_t fake_make_print_verbose_operate_define(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t variable) { + f_status_t fake_make_print_verbose_operate_define(fl_print_t * const print, const f_string_static_t variable) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_context_simple_variable(setting, print, "Defined environment variable", variable, 0); + fake_print_context_simple_variable(print, "Defined environment variable", variable, 0); return F_none; } #endif // _di_fake_make_print_verbose_operate_define_ #ifndef _di_fake_make_print_verbose_operate_delete_ - f_status_t fake_make_print_verbose_operate_delete(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + f_status_t fake_make_print_verbose_operate_delete(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_context_simple_variable(setting, print, "Removed", path, 0); + fake_print_context_simple_variable(print, "Removed", path, 0); return F_none; } #endif // _di_fake_make_print_verbose_operate_delete_ #ifndef _di_fake_make_print_verbose_operate_exiting_as_ - f_status_t fake_make_print_verbose_operate_exiting_as(fake_setting_t * const setting, const fl_print_t print, const f_string_statics_t arguments) { + f_status_t fake_make_print_verbose_operate_exiting_as(fl_print_t * const print, const f_string_statics_t arguments) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_context_simple_variable(setting, print, "Exiting as", arguments.used ? arguments.array[0] : fake_make_operation_argument_success_s, 0); + fake_print_context_simple_variable(print, "Exiting as", arguments.used ? arguments.array[0] : fake_make_operation_argument_success_s, 0); return F_none; } #endif // _di_fake_make_print_verbose_operate_exiting_as_ #ifndef _di_fake_make_print_verbose_operate_file_not_found_ - f_status_t fake_make_print_verbose_operate_file_not_found(fake_setting_t * const setting, const fl_print_t print, const bool is_directory, const f_string_static_t file) { + f_status_t fake_make_print_verbose_operate_file_not_found(fl_print_t * const print, const bool is_directory, const f_string_static_t file) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fll_print_format("The %Q '%[%Q%]' is not found.%]%r", print.to, print.set->notable, is_directory ? f_file_type_name_directory_s : f_file_type_name_file_s, file, print.set->notable, f_string_eol_s); + fll_print_format("The %Q '%[%Q%]' is not found.%]%r", print->to, print->set->notable, is_directory ? f_file_type_name_directory_s : f_file_type_name_file_s, file, print->set->notable, f_string_eol_s); return F_none; } #endif // _di_fake_make_print_verbose_operate_file_not_found_ #ifndef _di_fake_make_print_verbose_operate_program_ - f_status_t fake_make_print_verbose_operate_program(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t program, const f_string_statics_t arguments) { + f_status_t fake_make_print_verbose_operate_program(fl_print_t * const print, const f_string_static_t program, const f_string_statics_t arguments) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); f_array_length_t i = 0; if (program.used) { - f_print_dynamic_safely(program, print.to); + f_print_dynamic_safely(program, print->to); } else { i = 1; - f_print_dynamic_safely(arguments.array[0], print.to); + f_print_dynamic_safely(arguments.array[0], print->to); } for (; i < arguments.used; ++i) { - if (arguments.array[i].used) fll_print_format(" %Q", print.to, arguments.array[i]); + if (arguments.array[i].used) fll_print_format(" %Q", print->to, arguments.array[i]); } // for - f_print_dynamic_raw(f_string_eol_s, print.to); + f_print_dynamic_raw(f_string_eol_s, print->to); // Flush to stdout before executing command. - f_file_stream_flush(print.to); + f_file_stream_flush(print->to); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_verbose_operate_program_ #ifndef _di_fake_make_print_verbose_operate_set_failure_state_ - f_status_t fake_make_print_verbose_operate_set_failure_state(fake_setting_t * const setting, const fl_print_t print, const uint8_t fail) { + f_status_t fake_make_print_verbose_operate_set_failure_state(fl_print_t * const print, const uint8_t fail) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - f_print_terminated("Set failure state to '", print.to); + f_print_terminated("Set failure state to '", print->to); if (fail == fake_make_operation_fail_exit_e) { - fl_print_format("%[%r%]", print.to, print.set->notable, fake_make_operation_argument_exit_s, print.set->notable); + fl_print_format("%[%r%]", print->to, print->set->notable, fake_make_operation_argument_exit_s, print->set->notable); } else if (fail == fake_make_operation_fail_warn_e) { - fl_print_format("%[%r%]", print.to, print.set->notable, fake_make_operation_argument_warn_s, print.set->notable); + fl_print_format("%[%r%]", print->to, print->set->notable, fake_make_operation_argument_warn_s, print->set->notable); } else { - fl_print_format("%[%r%]", print.to, print.set->notable, fake_make_operation_argument_ignore_s, print.set->notable); + fl_print_format("%[%r%]", print->to, print->set->notable, fake_make_operation_argument_ignore_s, print->set->notable); } - fl_print_format("'.%r", print.to, f_string_eol_s); + fl_print_format("'.%r", print->to, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_verbose_operate_set_failure_state_ #ifndef _di_fake_make_print_verbose_operate_set_mode_ - f_status_t fake_make_print_verbose_operate_set_mode(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path, const mode_t mode) { + f_status_t fake_make_print_verbose_operate_set_mode(fl_print_t * const print, const f_string_static_t path, const mode_t mode) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fll_print_format("Changed mode of '%[%Q%]' to %[%#@u%].%r", print.to, print.set->notable, path, print.set->notable, print.set->notable, mode, print.set->notable, f_string_eol_s); + fll_print_format("Changed mode of '%[%Q%]' to %[%#@u%].%r", print->to, print->set->notable, path, print->set->notable, print->set->notable, mode, print->set->notable, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_verbose_operate_set_mode_ #ifndef _di_fake_make_print_verbose_operate_set_path_ - f_status_t fake_make_print_verbose_operate_set_path(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + f_status_t fake_make_print_verbose_operate_set_path(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_context_simple_variable(setting, print, "Changed project path to", path, 0); + fake_print_context_simple_variable(print, "Changed project path to", path, 0); return F_none; } #endif // _di_fake_make_print_verbose_operate_set_path_ #ifndef _di_fake_make_print_verbose_operate_set_role_ - f_status_t fake_make_print_verbose_operate_set_role(fake_setting_t * const setting, const fl_print_t print, const uint8_t what, f_string_static_t role, f_number_unsigned_t id) { + f_status_t fake_make_print_verbose_operate_set_role(fl_print_t * const print, const uint8_t what, f_string_static_t role, f_number_unsigned_t id) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%r %r of '%[%r%]'", print.to, (what & 0x1) ? "Recursively changed" : "Changed", (what & 0x2) ? "owner" : "group", print.set->notable, role, print.set->notable); - fl_print_format(" to %[%ul%].%r", print.to, print.set->notable, id, print.set->notable, f_string_eol_s); + fl_print_format("%r %r of '%[%r%]'", print->to, (what & 0x1) ? "Recursively changed" : "Changed", (what & 0x2) ? "owner" : "group", print->set->notable, role, print->set->notable); + fl_print_format(" to %[%ul%].%r", print->to, print->set->notable, id, print->set->notable, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_verbose_operate_set_role_ #ifndef _di_fake_make_print_verbose_operate_symbolic_link_ - f_status_t fake_make_print_verbose_operate_symbolic_link(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t source, const f_string_static_t destination) { + f_status_t fake_make_print_verbose_operate_symbolic_link(fl_print_t * const print, const f_string_static_t source, const f_string_static_t destination) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("Created symbolic link from '%[%Q%]", print.to, print.set->notable, source, print.set->notable); - fl_print_format("' to %[%Q%].%r", print.to, print.set->notable, destination, print.set->notable, f_string_eol_s); + fl_print_format("Created symbolic link from '%[%Q%]", print->to, print->set->notable, source, print->set->notable); + fl_print_format("' to %[%Q%].%r", print->to, print->set->notable, destination, print->set->notable, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_verbose_operate_symbolic_link_ #ifndef _di_fake_make_print_verbose_operate_touch_ - f_status_t fake_make_print_verbose_operate_touch(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + f_status_t fake_make_print_verbose_operate_touch(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_context_simple_variable(setting, print, "Touched", path, 0); + fake_print_context_simple_variable(print, "Touched", path, 0); return F_none; } diff --git a/level_3/fake/c/main/make/print/verbose.h b/level_3/fake/c/main/make/print/verbose.h index 99f5140..89f096c 100644 --- a/level_3/fake/c/main/make/print/verbose.h +++ b/level_3/fake/c/main/make/print/verbose.h @@ -19,13 +19,12 @@ extern "C" { /** * Print operate break verbose message. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param arguments * The arguments where the first argument, if defined, is the exiting as string. * Set arguments.used to 0 to use the default "success" exiting as string. @@ -37,19 +36,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_verbose_operate_break_ - extern f_status_t fake_make_print_verbose_operate_break(fake_setting_t * const setting, const fl_print_t print, const f_string_statics_t arguments); + extern f_status_t fake_make_print_verbose_operate_break(fl_print_t * const print, const f_string_statics_t arguments); #endif // _di_fake_make_print_verbose_operate_break_ /** * Print operate copy verbose message. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param clone * If TRUE, then this is a clone operation. * If FALSE< then this is a copy operation. @@ -65,19 +63,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_verbose_operate_copy_ - extern f_status_t fake_make_print_verbose_operate_copy(fake_setting_t * const setting, const fl_print_t print, const bool clone, const f_string_static_t source, const f_string_static_t destination); + extern f_status_t fake_make_print_verbose_operate_copy(fl_print_t * const print, const bool clone, const f_string_static_t source, const f_string_static_t destination); #endif // _di_fake_make_print_verbose_operate_copy_ /** * Print operate define verbose message. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param variable * The environment variable name. * @@ -88,19 +85,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_verbose_operate_define_ - extern f_status_t fake_make_print_verbose_operate_define(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t variable); + extern f_status_t fake_make_print_verbose_operate_define(fl_print_t * const print, const f_string_static_t variable); #endif // _di_fake_make_print_verbose_operate_define_ /** * Print operate delete verbose message. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param path * The path or file that is deleted. * @@ -111,19 +107,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_verbose_operate_delete_ - extern f_status_t fake_make_print_verbose_operate_delete(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern f_status_t fake_make_print_verbose_operate_delete(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_make_print_verbose_operate_delete_ /** * Print operate exiting as verbose message. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param arguments * The arguments where the first argument, if defined, is the exiting as string. * Set arguments.used to 0 to use the default "success" exiting as string. @@ -135,19 +130,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_verbose_operate_exiting_as_ - extern f_status_t fake_make_print_verbose_operate_exiting_as(fake_setting_t * const setting, const fl_print_t print, const f_string_statics_t arguments); + extern f_status_t fake_make_print_verbose_operate_exiting_as(fl_print_t * const print, const f_string_statics_t arguments); #endif // _di_fake_make_print_verbose_operate_exiting_as_ /** * Print operate file or directory not found verbose message. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param is_directory * If TRUE, then the file is type directory. * If FALSE, then the file is type regular. @@ -161,19 +155,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_verbose_operate_file_not_found_ - extern f_status_t fake_make_print_verbose_operate_file_not_found(fake_setting_t * const setting, const fl_print_t print, const bool is_directory, const f_string_static_t file); + extern f_status_t fake_make_print_verbose_operate_file_not_found(fl_print_t * const print, const bool is_directory, const f_string_static_t file); #endif // _di_fake_make_print_verbose_operate_file_not_found_ /** * Print verbose program message. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param program * The program name. * @param arguments @@ -186,19 +179,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_verbose_operate_program_ - extern f_status_t fake_make_print_verbose_operate_program(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t program, const f_string_statics_t arguments); + extern f_status_t fake_make_print_verbose_operate_program(fl_print_t * const print, const f_string_static_t program, const f_string_statics_t arguments); #endif // _di_fake_make_print_verbose_operate_program_ /** * Print verbose message about setting failure state. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param fail * The failure state code being set to. * @@ -209,19 +201,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_verbose_operate_set_failure_state_ - extern f_status_t fake_make_print_verbose_operate_set_failure_state(fake_setting_t * const setting, const fl_print_t print, const uint8_t fail); + extern f_status_t fake_make_print_verbose_operate_set_failure_state(fl_print_t * const print, const uint8_t fail); #endif // _di_fake_make_print_verbose_operate_set_failure_state_ /** * Print verbose message about setting the file mode. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param path * The file path having the mode changed. * @param mode @@ -234,19 +225,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_verbose_operate_set_mode_ - extern f_status_t fake_make_print_verbose_operate_set_mode(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path, const mode_t mode); + extern f_status_t fake_make_print_verbose_operate_set_mode(fl_print_t * const print, const f_string_static_t path, const mode_t mode); #endif // _di_fake_make_print_verbose_operate_set_mode_ /** * Print verbose message about changing the project path. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param path * The path being changed to. * @@ -257,19 +247,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_verbose_operate_set_path_ - extern f_status_t fake_make_print_verbose_operate_set_path(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern f_status_t fake_make_print_verbose_operate_set_path(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_make_print_verbose_operate_set_path_ /** * Print verbose message about setting owner or group. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param what * Bitwise flags tweaking the message printed. * - 0x1 = When set, print as recursive; When not set, print as non-recursive. @@ -286,19 +275,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_verbose_operate_set_role_ - extern f_status_t fake_make_print_verbose_operate_set_role(fake_setting_t * const setting, const fl_print_t print, const uint8_t what, f_string_static_t role, f_number_unsigned_t id); + extern f_status_t fake_make_print_verbose_operate_set_role(fl_print_t * const print, const uint8_t what, f_string_static_t role, f_number_unsigned_t id); #endif // _di_fake_make_print_verbose_operate_set_role_ /** * Print verbose message about create a symbolic link. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param source * A string the symbolic link is from. * @param destination @@ -311,19 +299,18 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_verbose_operate_symbolic_link_ - extern f_status_t fake_make_print_verbose_operate_symbolic_link(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t source, const f_string_static_t destination); + extern f_status_t fake_make_print_verbose_operate_symbolic_link(fl_print_t * const print, const f_string_static_t source, const f_string_static_t destination); #endif // _di_fake_make_print_verbose_operate_symbolic_link_ /** * Print verbose message about touching a file. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param path * The file path being touched. * @@ -334,7 +321,7 @@ extern "C" { * F_output_not (with error bit) if setting is NULL. */ #ifndef _di_fake_make_print_verbose_operate_touch_ - extern f_status_t fake_make_print_verbose_operate_touch(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern f_status_t fake_make_print_verbose_operate_touch(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_make_print_verbose_operate_touch_ #ifdef __cplusplus diff --git a/level_3/fake/c/main/make/print/warning.c b/level_3/fake/c/main/make/print/warning.c index a2b3e5a..25ad4b9 100644 --- a/level_3/fake/c/main/make/print/warning.c +++ b/level_3/fake/c/main/make/print/warning.c @@ -5,138 +5,140 @@ extern "C" { #endif #ifndef _di_fake_make_print_warning_cannot_change_back_ - f_status_t fake_make_print_warning_cannot_change_back(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + f_status_t fake_make_print_warning_cannot_change_back(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print || !print->custom) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - f_file_stream_lock(print.to); + fake_main_t * const main = (fake_main_t *) print->custom; - fl_print_format("%[%QFailed change back to original path '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable); - fl_print_format("%[', status code =%] ", print.to, print.context, print.context); - fl_print_format("%[%ui%]", print.to, print.notable, setting->state.status, print.notable); - fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s); + f_file_stream_lock(print->to); - f_file_stream_unlock(print.to); + fl_print_format("%[%QFailed change back to original path '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, path, print->notable); + fl_print_format("%[', status code =%] ", print->to, print->context, print->context); + fl_print_format("%[%ui%]", print->to, print->notable, main->setting.state.status, print->notable); + fl_print_format("%['.%]%r", print->to, print->context, print->context, f_string_eol_s); + + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_warning_cannot_change_back_ #ifndef _di_fake_make_print_warning_environment_name_already_added_ - f_status_t fake_make_print_warning_environment_name_already_added(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name) { + f_status_t fake_make_print_warning_environment_name_already_added(fl_print_t * const print, const f_string_static_t name) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_context_simple_variable(setting, print, "The environment name", name, "is already added, replacing previous value"); + fake_print_context_simple_variable(print, "The environment name", name, "is already added, replacing previous value"); return F_none; } #endif // _di_fake_make_print_warning_environment_name_already_added_ #ifndef _di_fake_make_print_warning_environment_name_invalid_ - f_status_t fake_make_print_warning_environment_name_invalid(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name) { + f_status_t fake_make_print_warning_environment_name_invalid(fl_print_t * const print, const f_string_static_t name) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_context_simple_variable(setting, print, "The environment name", name, "is invalid, ignoring"); + fake_print_context_simple_variable(print, "The environment name", name, "is invalid, ignoring"); return F_none; } #endif // _di_fake_make_print_warning_environment_name_invalid_ #ifndef _di_fake_make_print_warning_fakefile_empty_ - f_status_t fake_make_print_warning_fakefile_empty(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile) { + f_status_t fake_make_print_warning_fakefile_empty(fl_print_t * const print, const f_string_static_t fakefile) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_context_simple_variable(setting, print, "The fakefile", fakefile, "is empty"); + fake_print_context_simple_variable(print, "The fakefile", fakefile, "is empty"); return F_none; } #endif // _di_fake_make_print_warning_fakefile_empty_ #ifndef _di_fake_make_print_warning_file_not_found_ - f_status_t fake_make_print_warning_file_not_found(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t file) { + f_status_t fake_make_print_warning_file_not_found(fl_print_t * const print, const f_string_static_t file) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_context_simple_variable(setting, print, "The file", file, "cannot be found"); + fake_print_context_simple_variable(print, "The file", file, "cannot be found"); return F_none; } #endif // _di_fake_make_print_warning_file_not_found_ #ifndef _di_fake_make_print_warning_setting_content_empty_ - f_status_t fake_make_print_warning_setting_content_empty(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_dynamic_t buffer, const f_string_range_t range, const f_string_static_t name) { + f_status_t fake_make_print_warning_setting_content_empty(fl_print_t * const print, const f_string_static_t fakefile, const f_string_dynamic_t buffer, const f_string_range_t range, const f_string_static_t name) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QThe fakefile '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, fakefile, print.notable); - fl_print_format("%[' has empty content for the '%]", print.to, print.context, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, name, print.notable); - fl_print_format("%[' object '%]", print.to, print.context, print.context); - fl_print_format("%[%/Q%]", print.to, print.notable, buffer, range, print.notable); - fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[%QThe fakefile '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, fakefile, print->notable); + fl_print_format("%[' has empty content for the '%]", print->to, print->context, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, name, print->notable); + fl_print_format("%[' object '%]", print->to, print->context, print->context); + fl_print_format("%[%/Q%]", print->to, print->notable, buffer, range, print->notable); + fl_print_format("%['.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_warning_setting_content_empty_ #ifndef _di_fake_make_print_warning_setting_content_invalid_ - f_status_t fake_make_print_warning_setting_content_invalid(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_dynamic_t buffer, const f_string_range_t object, const f_string_range_t content, const f_string_static_t name) { + f_status_t fake_make_print_warning_setting_content_invalid(fl_print_t * const print, const f_string_static_t fakefile, const f_string_dynamic_t buffer, const f_string_range_t object, const f_string_range_t content, const f_string_static_t name) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QThe fakefile '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, fakefile, print.notable); - fl_print_format("%[' has invalid content '%]", print.to, print.context, print.context); - fl_print_format("%[%/Q%]", print.to, print.notable, buffer, content, print.notable); - fl_print_format("%[' for the '%]", print.to, print.context, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, name, print.notable); - fl_print_format("%[' object '%]", print.to, print.context, print.context); - fl_print_format("%[%/Q%]", print.to, print.notable, buffer, object, print.notable); - fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[%QThe fakefile '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, fakefile, print->notable); + fl_print_format("%[' has invalid content '%]", print->to, print->context, print->context); + fl_print_format("%[%/Q%]", print->to, print->notable, buffer, content, print->notable); + fl_print_format("%[' for the '%]", print->to, print->context, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, name, print->notable); + fl_print_format("%[' object '%]", print->to, print->context, print->context); + fl_print_format("%[%/Q%]", print->to, print->notable, buffer, object, print->notable); + fl_print_format("%['.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_make_print_warning_setting_content_invalid_ #ifndef _di_fake_make_print_warning_setting_content_multiple_ - f_status_t fake_make_print_warning_setting_content_multiple(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_static_t name) { + f_status_t fake_make_print_warning_setting_content_multiple(fl_print_t * const print, const f_string_static_t fakefile, const f_string_static_t name) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_context_wrapped_variables(setting, print, "The fakefile ", fakefile, " may only have a single content for the object ", name, ", only using the first"); + fake_print_context_wrapped_variables(print, "The fakefile ", fakefile, " may only have a single content for the object ", name, ", only using the first"); return F_none; } #endif // _di_fake_make_print_warning_setting_content_multiple_ #ifndef _di_fake_make_print_warning_setting_object_multiple_ - f_status_t fake_make_print_warning_setting_object_multiple(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_static_t name) { + f_status_t fake_make_print_warning_setting_object_multiple(fl_print_t * const print, const f_string_static_t fakefile, const f_string_static_t name) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_context_wrapped_variables(setting, print, "The object ", name, " in the fakefile ", fakefile, " may only be specified once, only using the first"); + fake_print_context_wrapped_variables(print, "The object ", name, " in the fakefile ", fakefile, " may only be specified once, only using the first"); return F_none; } diff --git a/level_3/fake/c/main/make/print/warning.h b/level_3/fake/c/main/make/print/warning.h index d52e08f..081ad3f 100644 --- a/level_3/fake/c/main/make/print/warning.h +++ b/level_3/fake/c/main/make/print/warning.h @@ -19,13 +19,12 @@ extern "C" { /** * Print warning message when unable to change back to original path. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param path * The path that cannot be changed back to. * @@ -40,19 +39,18 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_make_print_warning_cannot_change_back_ - extern f_status_t fake_make_print_warning_cannot_change_back(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern f_status_t fake_make_print_warning_cannot_change_back(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_make_print_warning_cannot_change_back_ /** * Print warning about a setting name being already added. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param name * The name of the environment variable that is already added. * @@ -65,19 +63,18 @@ extern "C" { * @see fake_print_context_simple_variable() */ #ifndef _di_fake_make_print_warning_environment_name_already_added_ - extern f_status_t fake_make_print_warning_environment_name_already_added(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name); + extern f_status_t fake_make_print_warning_environment_name_already_added(fl_print_t * const print, const f_string_static_t name); #endif // _di_fake_make_print_warning_environment_name_already_added_ /** * Print warning about a given environment name being invalid. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param name * The name of the environment variable that is invalid. * @@ -90,19 +87,18 @@ extern "C" { * @see fake_print_context_simple_variable() */ #ifndef _di_fake_make_print_warning_environment_name_invalid_ - extern f_status_t fake_make_print_warning_environment_name_invalid(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name); + extern f_status_t fake_make_print_warning_environment_name_invalid(fl_print_t * const print, const f_string_static_t name); #endif // _di_fake_make_print_warning_environment_name_invalid_ /** * Print warning about a given fakefile being empty. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param fakefile * The name or path of the file that is empty. * @@ -115,19 +111,18 @@ extern "C" { * @see fake_print_context_simple_variable() */ #ifndef _di_fake_make_print_warning_fakefile_empty_ - extern f_status_t fake_make_print_warning_fakefile_empty(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile); + extern f_status_t fake_make_print_warning_fakefile_empty(fl_print_t * const print, const f_string_static_t fakefile); #endif // _di_fake_make_print_warning_fakefile_empty_ /** * Print warning about a file not being found. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param file * The name or path of the file that is not found. * @@ -140,19 +135,18 @@ extern "C" { * @see fake_print_context_simple_variable() */ #ifndef _di_fake_make_print_warning_file_not_found_ - extern f_status_t fake_make_print_warning_file_not_found(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t file); + extern f_status_t fake_make_print_warning_file_not_found(fl_print_t * const print, const f_string_static_t file); #endif // _di_fake_make_print_warning_file_not_found_ /** * Print message when fake settings content is empty. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param fakefile * The name or path of the file that is empty. * @param buffer @@ -173,19 +167,18 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_make_print_warning_setting_content_empty_ - extern f_status_t fake_make_print_warning_setting_content_empty(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_dynamic_t buffer, const f_string_range_t range, const f_string_static_t name); + extern f_status_t fake_make_print_warning_setting_content_empty(fl_print_t * const print, const f_string_static_t fakefile, const f_string_dynamic_t buffer, const f_string_range_t range, const f_string_static_t name); #endif // _di_fake_make_print_warning_setting_content_empty_ /** * Print warning message when fake settings content is invalid. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param fakefile * The name or path of the file that is empty. * @param buffer @@ -208,19 +201,18 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_make_print_warning_setting_content_invalid_ - extern f_status_t fake_make_print_warning_setting_content_invalid(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_dynamic_t buffer, const f_string_range_t object, const f_string_range_t content, const f_string_static_t name); + extern f_status_t fake_make_print_warning_setting_content_invalid(fl_print_t * const print, const f_string_static_t fakefile, const f_string_dynamic_t buffer, const f_string_range_t object, const f_string_range_t content, const f_string_static_t name); #endif // _di_fake_make_print_warning_setting_content_invalid_ /** * Print warning message when settings content has too many values. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param fakefile * The name or path of the file that is empty. * @param name @@ -235,19 +227,18 @@ extern "C" { * @see fake_print_context_wrapped_variables() */ #ifndef _di_fake_make_print_warning_setting_content_multiple_ - extern f_status_t fake_make_print_warning_setting_content_multiple(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_static_t name); + extern f_status_t fake_make_print_warning_setting_content_multiple(fl_print_t * const print, const f_string_static_t fakefile, const f_string_static_t name); #endif // _di_fake_make_print_warning_setting_content_multiple_ /** * Print warning message when fakefile has too many objects with the same name. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param fakefile * The name or path of the file that is empty. * @param name @@ -262,7 +253,7 @@ extern "C" { * @see fake_print_context_wrapped_variables() */ #ifndef _di_fake_make_print_warning_setting_object_multiple_ - extern f_status_t fake_make_print_warning_setting_object_multiple(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_static_t name); + extern f_status_t fake_make_print_warning_setting_object_multiple(fl_print_t * const print, const f_string_static_t fakefile, const f_string_static_t name); #endif // _di_fake_make_print_warning_setting_object_multiple_ #ifdef __cplusplus diff --git a/level_3/fake/c/main/print.c b/level_3/fake/c/main/print.c deleted file mode 100644 index 025b99d..0000000 --- a/level_3/fake/c/main/print.c +++ /dev/null @@ -1,191 +0,0 @@ -#include "fake.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _di_fake_print_building_ - f_status_t fake_print_building(fake_setting_t * const setting, const fl_print_t print, const f_string_statics_t * const build_arguments, fake_build_setting_t * const setting_build) { - - if (!setting || !setting_build) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_normal_e) return F_output_not; - - f_file_stream_lock(print.to); - - fl_print_format("%r%[Building%] ", print.to, f_string_eol_s, print.set->important, print.set->important); - fl_print_format("%[%Q%]", print.to, print.set->notable, setting_build->build_name, print.set->notable); - fl_print_format("%[ using '%]", print.to, print.set->important, print.set->important); - fl_print_format("%[%Q%]", print.to, print.set->notable, setting->settings, print.set->notable); - - fl_print_format("%[' with modes '%]", print.to, print.set->important, print.set->important); - - f_string_statics_t modes_custom = f_string_statics_t_initialize; - modes_custom.used = build_arguments && build_arguments->used > 1 ? build_arguments->used - 1 : 0; - modes_custom.size = 0; - - f_string_static_t modes_custom_array[modes_custom.used]; - modes_custom.array = modes_custom_array; - - for (f_array_length_t i = 0; i < modes_custom.used; ++i) { - modes_custom.array[i] = build_arguments->array[i + 1]; - } // for - - // Custom modes are always used if provided, otherwise if any mode is specified, the entire defaults is replaced. - const f_string_statics_t * const modes = modes_custom.used - ? &modes_custom - : setting->modes.used - ? &setting->modes - : &setting_build->modes_default; - - for (f_array_length_t i = 0; i < modes->used; ) { - - fl_print_format("%[%Q%]", print.to, print.set->notable, modes->array[i], print.set->notable); - - if (++i < modes->used) { - fl_print_format("%[', '%]", print.to, print.set->important, print.set->important); - } - } // for - - fl_print_format("%['.%]%r", print.to, print.set->important, print.set->important, f_string_eol_s); - - f_file_stream_unlock(print.to); - - return F_none; - } -#endif // _di_fake_print_building_ - -#ifndef _di_fake_print_generating_skeleton_ - f_status_t fake_print_generating_skeleton(fake_setting_t * const setting, const fl_print_t print) { - - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_normal_e) return F_output_not; - - fake_print_simple(setting, print, "Generating skeleton structure"); - - return F_none; - } -#endif // _di_fake_print_generating_skeleton_ - -#ifndef _di_fake_print_help_ - f_status_t fake_print_help(fake_setting_t * const setting, const fl_print_t print) { - - if (!setting) return F_status_set_error(F_output_not); - - f_file_stream_lock(print.to); - - fll_program_print_help_header(print, fake_program_name_long_s, fake_program_version_s); - - fll_program_print_help_option_standard(print); - - f_print_dynamic_raw(f_string_eol_s, print.to); - - fll_program_print_help_option(print, fake_short_define_s, fake_long_define_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Append an additional define after defines from settings file."); - fll_program_print_help_option(print, fake_short_fakefile_s, fake_long_fakefile_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Use this fakefile."); - fll_program_print_help_option(print, fake_short_mode_s, fake_long_mode_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Use this mode when processing the build settings."); - fll_program_print_help_option(print, fake_short_process_s, fake_long_process_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Process name for storing build states."); - fll_program_print_help_option(print, fake_short_settings_s, fake_long_settings_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Use this settings file."); - - f_print_dynamic_raw(f_string_eol_s, print.to); - - 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); - - fll_program_print_help_option_long(print, fake_long_documents_disabled_s, f_console_symbol_long_normal_s, " Forcibly do not build documents files."); - fll_program_print_help_option_long(print, fake_long_documents_enabled_s, f_console_symbol_long_normal_s, " Forcibly do build documents files."); - fll_program_print_help_option_long(print, fake_long_shared_disabled_s, f_console_symbol_long_normal_s, "Forcibly do not build shared files."); - fll_program_print_help_option_long(print, fake_long_shared_enabled_s, f_console_symbol_long_normal_s, " Forcibly do build shared files."); - fll_program_print_help_option_long(print, fake_long_static_disabled_s, f_console_symbol_long_normal_s, "Forcibly do not build static files."); - fll_program_print_help_option_long(print, fake_long_static_enabled_s, f_console_symbol_long_normal_s, " Forcibly do build static files."); - - fl_print_format("%r%r %[Operations:%] ", print.to, f_string_eol_s, f_string_eol_s, print.set->important, print.set->important); - - fll_program_print_help_option_other(print, fake_other_operation_build_s, " Build or compile the code based on build settings file."); - fll_program_print_help_option_other(print, fake_other_operation_clean_s, " Delete all build files."); - fll_program_print_help_option_other(print, fake_other_operation_make_s, " Build or compile the code based on fakefile (default)."); - fll_program_print_help_option_other(print, fake_other_operation_skeleton_s, "Build a skeleton directory structure."); - - f_print_dynamic_raw(f_string_eol_s, print.to); - f_print_dynamic_raw(f_string_eol_s, print.to); - - fll_program_print_help_usage(print, fake_program_name_s, fake_program_help_parameters_s); - - fl_print_format("%r When performing the %[%r%] operation, the", print.to, f_string_eol_s, print.set->notable, fake_other_operation_build_s, print.set->notable); - fl_print_format(" %[%r%r%] parameter specifies a name (limited to alpha-numeric, underscore, and dash) to be used in addition to the global.%r", print.to, print.set->notable, f_console_symbol_long_normal_s, fake_long_mode_s, print.set->notable, f_string_eol_s); - - fl_print_format(" For example, when a %[%r%]", print.to, print.set->notable, fake_make_parameter_variable_mode_s, print.set->notable); - fl_print_format(" of 'fll_monolithic' is specified, build libraries from both 'build_libraries' and 'build_libraries-fll_monolithic' are used (but not 'build_libraries-fll_level').%r%r", print.to, f_string_eol_s, f_string_eol_s); - - fl_print_format(" When specifying the %[%r%] or the %[%r%]", print.to, print.set->notable, fake_make_parameter_variable_fakefile_s, print.set->notable, print.set->notable, fake_make_parameter_variable_settings_s, print.set->notable); - fl_print_format(" parameters, the project root is seached first and then the build data director is searched when the given file does not contain a directory separator.%r", print.to, f_string_eol_s); - - fl_print_format(" For example, with '%[%r%r my_fakefile%]' the fakefile at", print.to, print.set->notable, f_console_symbol_long_normal_s, fake_long_fakefile_s, print.set->notable); - fl_print_format(" '%[./my_fakefile%]' is used if found, but if it is not found then", print.to, print.set->notable, print.set->notable); - fl_print_format(" '%[./%r%rmy_fakefile%]' is used if found.%r", print.to, print.set->notable, fake_default_data_s, fake_default_build_s, print.set->notable, f_string_eol_s); - fl_print_format(" For example, with '%[%r%r ./my_fakefile%]' the fakefile at", print.to, print.set->notable, f_console_symbol_long_normal_s, fake_long_fakefile_s, print.set->notable); - fl_print_format(" '%[./my_fakefile%]' is used if found, but if it is not found then no other paths are attempted.%r%r", print.to, print.set->notable, print.set->notable, f_string_eol_s, f_string_eol_s); - - fl_print_format(" When piping data to this program, the piped data is treated as if it were prepended to the %[%r%]", print.to, print.set->notable, fake_make_parameter_variable_fakefile_s, print.set->notable); - fl_print_format(" or the %[%r%], depending on the operation.%r", print.to, print.set->notable, fake_make_parameter_variable_settings_s, print.set->notable, f_string_eol_s); - - fl_print_format(" A section name from the fakefile that does not conflict with an operation name may be specified when performing the %[%r%] operation.%r", print.to, print.set->notable, fake_other_operation_make_s, print.set->notable, f_string_eol_s); - - f_file_stream_flush(print.to); - f_file_stream_unlock(print.to); - - return F_none; - } -#endif // _di_fake_print_help_ - -#ifndef _di_fake_print_simple_ - void fake_print_simple(fake_setting_t * const setting, const fl_print_t print, const f_string_t message) { - - if (!setting) return; - - fll_print_format("%S.%r", print.to, message, f_string_eol_s); - } -#endif // _di_fake_print_simple_ - -#ifndef _di_fake_print_simple_variable_ - void fake_print_simple_variable(fake_setting_t * const setting, const fl_print_t print, const f_string_t message, const f_string_static_t variable) { - - if (!setting) return; - - fll_print_format("%S'%[%Q%]'.%r", print.to, message, print.set->notable, variable, print.set->notable, f_string_eol_s); - } -#endif // _di_fake_print_simple_variable_ - -#ifndef _di_fake_print_wrapped_variable_ - void fake_print_wrapped_variable(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t variable, const f_string_t after) { - - if (!setting) return; - - fll_print_format("%S'%[%Q%]'%S.%r", print.to, before, print.set->notable, variable, print.set->notable, after, f_string_eol_s); - } -#endif // _di_fake_print_wrapped_variable_ - -#ifndef _di_fake_print_wrapped_variables_ - void fake_print_wrapped_variables(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t first, const f_string_t between, const f_string_static_t second, const f_string_t after) { - - if (!setting) return; - - f_file_stream_lock(print.to); - - fl_print_format("%S'", print.to, before); - fl_print_format("%[%Q%]", print.to, print.notable, first, print.notable); - fl_print_format("'%S'", print.to, between); - fl_print_format("%[%Q%]", print.to, print.notable, second, print.notable); - fl_print_format("'%S.%r", print.to, after, f_string_eol_s); - - f_file_stream_unlock(print.to); - } -#endif // _di_fake_print_wrapped_variables_ - -#ifdef __cplusplus -} // extern "C" -#endif diff --git a/level_3/fake/c/main/print.h b/level_3/fake/c/main/print.h deleted file mode 100644 index eae2aa7..0000000 --- a/level_3/fake/c/main/print.h +++ /dev/null @@ -1,211 +0,0 @@ -/** - * FLL - Level 3 - * - * Project: UTF8 - * API Version: 0.7 - * Licenses: lgpl-2.1-or-later - * - * Provides print functionality. - * - * This is auto-included and should not need to be explicitly included. - */ -#ifndef _fake_print_h -#define _fake_print_h - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Print a message about building. - * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. - * @param print - * The output structure to print to. - * @param build_arguments - * (optional) The build arguments. - * @param setting_build - * The build setting data. - * - * @return - * F_none on success. - * F_output_not on success, but no printing is performed. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - */ -#ifndef _di_fake_print_building_ - extern f_status_t fake_print_building(fake_setting_t * const setting, const fl_print_t print, const f_string_statics_t * const build_arguments, fake_build_setting_t * const setting_build); -#endif // _di_fake_print_building_ - -/** - * Print a message about generating skeleton. - * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. - * @param print - * The output structure to print to. - * - * @return - * F_none on success. - * F_output_not on success, but no printing is performed. - * - * @see fake_print_simple() - */ -#ifndef _di_fake_print_generating_skeleton_ - extern f_status_t fake_print_generating_skeleton(fake_setting_t * const setting, const fl_print_t print); -#endif // _di_fake_print_generating_skeleton_ - -/** - * Print help. - * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. - * @param print - * The output structure to print to. - * - * @return - * F_none on success. - * F_output_not on success, but no printing is performed. - * - * F_output_not (with error bit) if setting is NULL. - * - * @see f_file_stream_flush() - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see f_print_dynamic_raw() - * @see fl_print_format() - * @see fll_program_print_help_header() - * @see fll_program_print_help_option() - * @see fll_program_print_help_option_other() - * @see fll_program_print_help_option_standard() - * @see fll_program_print_help_usage() - */ -#ifndef _di_fake_print_help_ - extern f_status_t fake_print_help(fake_setting_t * const setting, const fl_print_t print); -#endif // _di_fake_print_help_ - -/** - * Print simple message. - * - * This is primarily used by numerous print functions to reduce code. - * This is not used for any print functions that has complex format structures. - * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. - * @param print - * The output structure to print to. - * @param message - * The message to print. - * - * @see fll_print_format() - */ -#ifndef _di_fake_print_simple_ - extern void fake_print_simple(fake_setting_t * const setting, const fl_print_t print, const f_string_t message); -#endif // _di_fake_print_simple_ - -/** - * Print simple verbose message with a value. - * - * This is primarily used by numerous print functions to reduce code. - * This is not used for any print functions that has complex format structures. - * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. - * @param print - * The output structure to print to. - * @param message - * The message to print. - * @param variable - * The string representing the variable. - * - * @see fll_print_format() - */ -#ifndef _di_fake_print_simple_variable_ - extern void fake_print_simple_variable(fake_setting_t * const setting, const fl_print_t print, const f_string_t message, const f_string_static_t variable); -#endif // _di_fake_print_simple_variable_ - -/** - * Print wrapped message with a value. - * - * This is primarily used by numerous print functions to reduce code. - * This is not used for any print functions that has complex format structures. - * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. - * @param print - * The output structure to print to. - * @param before - * The string being printed before the variable. - * Likely should have a space added at the end of the string. - * Set to NULL to disable. - * @param variable - * The string representing the variable. - * @param after - * The string being printed after the variable. - * Likely should have a space added at the start of the string. - * Set to NULL to disable. - * - * @see fll_print_format() - */ -#ifndef _di_fake_print_wrapped_variable_ - extern void fake_print_wrapped_variable(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t variable, const f_string_t after); -#endif // _di_fake_print_wrapped_variable_ - -/** - * Print a wrapped message with a before string, a middle strng, an after string, and two string variables. - * - * This is primarily used by numerous print functions to reduce code. - * This is not used for any print functions that has complex format structures. - * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. - * @param print - * The output structure to print to. - * @param before - * The string being printed before the variable. - * Likely should have a space added at the end of the string. - * @param first - * The string representing the first variable. - * @param between - * The string being printed before the variable. - * Likely should have a space added at the start and end of the string. - * @param second - * The string representing the second variable. - * @param after - * The string being printed after the variable. - * Likely should have a space added at the start of the string. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - */ -#ifndef _di_fake_print_wrapped_variables_ - extern void fake_print_wrapped_variables(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t first, const f_string_t between, const f_string_static_t second, const f_string_t after); -#endif // _di_fake_print_wrapped_variables_ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // _fake_print_h diff --git a/level_3/fake/c/main/print/common.c b/level_3/fake/c/main/print/common.c new file mode 100644 index 0000000..ae6ef1a --- /dev/null +++ b/level_3/fake/c/main/print/common.c @@ -0,0 +1,53 @@ +#include "../fake.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _di_fake_print_common_simple_ + void fake_print_common_simple(fl_print_t * const print, const f_string_t message) { + + if (!print) return; + + fll_print_format("%S.%r", print->to, message, f_string_eol_s); + } +#endif // _di_fake_print_common_simple_ + +#ifndef _di_fake_print_common_simple_variable_ + void fake_print_common_simple_variable(fl_print_t * const print, const f_string_t message, const f_string_static_t variable) { + + if (!print) return; + + fll_print_format("%S'%[%Q%]'.%r", print->to, message, print->set->notable, variable, print->set->notable, f_string_eol_s); + } +#endif // _di_fake_print_common_simple_variable_ + +#ifndef _di_fake_print_common_wrapped_variable_ + void fake_print_common_wrapped_variable(fl_print_t * const print, const f_string_t before, const f_string_static_t variable, const f_string_t after) { + + if (!print) return; + + fll_print_format("%S'%[%Q%]'%S.%r", print->to, before, print->set->notable, variable, print->set->notable, after, f_string_eol_s); + } +#endif // _di_fake_print_common_wrapped_variable_ + +#ifndef _di_fake_print_common_wrapped_variables_ + void fake_print_common_wrapped_variables(fl_print_t * const print, const f_string_t before, const f_string_static_t first, const f_string_t between, const f_string_static_t second, const f_string_t after) { + + if (!print) return; + + f_file_stream_lock(print->to); + + fl_print_format("%S'", print->to, before); + fl_print_format("%[%Q%]", print->to, print->notable, first, print->notable); + fl_print_format("'%S'", print->to, between); + fl_print_format("%[%Q%]", print->to, print->notable, second, print->notable); + fl_print_format("'%S.%r", print->to, after, f_string_eol_s); + + f_file_stream_unlock(print->to); + } +#endif // _di_fake_print_common_wrapped_variables_ + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_3/fake/c/main/print/common.h b/level_3/fake/c/main/print/common.h new file mode 100644 index 0000000..2214b54 --- /dev/null +++ b/level_3/fake/c/main/print/common.h @@ -0,0 +1,130 @@ +/** + * FLL - Level 3 + * + * Project: Featureless Make + * API Version: 0.7 + * Licenses: lgpl-2.1-or-later + * + * Provides print common functionality. + * + * This is auto-included and should not need to be explicitly included. + */ +#ifndef _fake_print_common_h +#define _fake_print_common_h + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Print simple message. + * + * This is primarily used by numerous print functions to reduce code. + * This is not used for any print functions that has complex format structures. + * + * @param print + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * @param message + * The message to print. + * + * @see fll_print_format() + */ +#ifndef _di_fake_print_common_simple_ + extern void fake_print_common_simple(fl_print_t * const print, const f_string_t message); +#endif // _di_fake_print_common_simple_ + +/** + * Print simple verbose message with a value. + * + * This is primarily used by numerous print functions to reduce code. + * This is not used for any print functions that has complex format structures. + * + * @param print + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * @param message + * The message to print. + * @param variable + * The string representing the variable. + * + * @see fll_print_format() + */ +#ifndef _di_fake_print_common_simple_variable_ + extern void fake_print_common_simple_variable(fl_print_t * const print, const f_string_t message, const f_string_static_t variable); +#endif // _di_fake_print_common_simple_variable_ + +/** + * Print wrapped message with a value. + * + * This is primarily used by numerous print functions to reduce code. + * This is not used for any print functions that has complex format structures. + * + * @param print + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * @param before + * The string being printed before the variable. + * Likely should have a space added at the end of the string. + * Set to NULL to disable. + * @param variable + * The string representing the variable. + * @param after + * The string being printed after the variable. + * Likely should have a space added at the start of the string. + * Set to NULL to disable. + * + * @see fll_print_format() + */ +#ifndef _di_fake_print_common_wrapped_variable_ + extern void fake_print_common_wrapped_variable(fl_print_t * const print, const f_string_t before, const f_string_static_t variable, const f_string_t after); +#endif // _di_fake_print_common_wrapped_variable_ + +/** + * Print a wrapped message with a before string, a middle strng, an after string, and two string variables. + * + * This is primarily used by numerous print functions to reduce code. + * This is not used for any print functions that has complex format structures. + * + * @param print + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * @param before + * The string being printed before the variable. + * Likely should have a space added at the end of the string. + * @param first + * The string representing the first variable. + * @param between + * The string being printed before the variable. + * Likely should have a space added at the start and end of the string. + * @param second + * The string representing the second variable. + * @param after + * The string being printed after the variable. + * Likely should have a space added at the start of the string. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + */ +#ifndef _di_fake_print_common_wrapped_variables_ + extern void fake_print_common_wrapped_variables(fl_print_t * const print, const f_string_t before, const f_string_static_t first, const f_string_t between, const f_string_static_t second, const f_string_t after); +#endif // _di_fake_print_common_wrapped_variables_ + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _fake_print_common_h diff --git a/level_3/fake/c/main/print/context.c b/level_3/fake/c/main/print/context.c index 9148d5d..ae28833 100644 --- a/level_3/fake/c/main/print/context.c +++ b/level_3/fake/c/main/print/context.c @@ -5,133 +5,152 @@ extern "C" { #endif #ifndef _di_fake_print_context_important_simple_ - void fake_print_context_important_simple(fake_setting_t * const setting, const fl_print_t print, const f_string_t message) { + void fake_print_context_important_simple(fl_print_t * const print, const f_string_t message) { - const fl_print_t custom = macro_fl_print_t_initialize(print.to, print.verbosity, 0, f_string_empty_s, f_string_empty_s, print.set->important, print.set->notable, print.set, 0); + if (!print) return; - fake_print_context_simple(setting, custom, message); + // Swap the color context, whatever it may be, with the important context. + fl_print_t important = macro_fl_print_t_initialize(print->to, print->verbosity, print->flag, f_string_empty_s, f_string_empty_s, print->set->important, print->set->notable, print->set, print->custom); + + fake_print_context_simple(&important, message); + + print->flag = important.flag; } #endif // _di_fake_print_context_important_simple_ +#ifndef _di_fake_print_context_important_simple_variable_ + void fake_print_context_important_simple_variable(fl_print_t * const print, const f_string_t before, const f_string_static_t variable, const f_string_t after) { + + if (!print) return; + + // Swap the color context, whatever it may be, with the important context. + fl_print_t important = macro_fl_print_t_initialize(print->to, print->verbosity, print->flag, f_string_empty_s, f_string_empty_s, print->set->important, print->set->notable, print->set, print->custom); + + fake_print_context_simple_variable(&important, before, variable, after); + + print->flag = important.flag; + } +#endif // _di_fake_print_context_important_simple_variable_ + #ifndef _di_fake_print_context_simple_ - void fake_print_context_simple(fake_setting_t * const setting, const fl_print_t print, const f_string_t message) { + void fake_print_context_simple(fl_print_t * const print, const f_string_t message) { - if (!setting) return; + if (!print) return; - fll_print_format("%[%Q%S.%]%r", print.to, print.context, print.prefix, message, print.context, f_string_eol_s); + fll_print_format("%[%Q%S.%]%r", print->to, print->context, print->prefix, message, print->context, f_string_eol_s); } #endif // _di_fake_print_context_simple_ #ifndef _di_fake_print_context_simple_variable_ - void fake_print_context_simple_variable(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t variable, const f_string_t after) { + void fake_print_context_simple_variable(fl_print_t * const print, const f_string_t before, const f_string_static_t variable, const f_string_t after) { - if (!setting) return; + if (!print) return; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%Q%S'%]", print.to, print.context, print.prefix, before, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, variable, print.notable); - fl_print_format("%['%S.%]%r", print.to, print.context, after, print.context, f_string_eol_s); + fl_print_format("%[%Q%S'%]", print->to, print->context, print->prefix, before, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, variable, print->notable); + fl_print_format("%['%S.%]%r", print->to, print->context, after, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); } #endif // _di_fake_print_context_simple_variable_ #ifndef _di_fake_print_context_wrapped_number_ - void fake_print_context_wrapped_number(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_number_unsigned_t number, const f_string_t after) { + void fake_print_context_wrapped_number(fl_print_t * const print, const f_string_t before, const f_number_unsigned_t number, const f_string_t after) { - if (!setting) return; + if (!print) return; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%Q%S'%]", print.to, print.context, print.prefix, before, print.context); - fl_print_format("%[%un%]", print.to, print.notable, number, print.notable); - fl_print_format("%['%S.%]%r", print.to, print.context, after, print.context, f_string_eol_s); + fl_print_format("%[%Q%S'%]", print->to, print->context, print->prefix, before, print->context); + fl_print_format("%[%un%]", print->to, print->notable, number, print->notable); + fl_print_format("%['%S.%]%r", print->to, print->context, after, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); } #endif // _di_fake_print_context_wrapped_number_ #ifndef _di_fake_print_context_wrapped_parameter_ - void fake_print_context_wrapped_parameter(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t symbol, const f_string_static_t name, const f_string_t after) { + void fake_print_context_wrapped_parameter(fl_print_t * const print, const f_string_t before, const f_string_static_t symbol, const f_string_static_t name, const f_string_t after) { - if (!setting) return; + if (!print) return; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%Q%S'%]", print.to, print.context, print.prefix, before, print.context); - fl_print_format("%[%Q%Q%]", print.to, print.notable, symbol, name, print.notable); - fl_print_format("%['%S.%]%r", print.to, print.context, after, print.context, f_string_eol_s); + fl_print_format("%[%Q%S'%]", print->to, print->context, print->prefix, before, print->context); + fl_print_format("%[%Q%Q%]", print->to, print->notable, symbol, name, print->notable); + fl_print_format("%['%S.%]%r", print->to, print->context, after, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); } #endif // _di_fake_print_context_wrapped_parameter_ #ifndef _di_fake_print_context_wrapped_parameter_value_ - void fake_print_context_wrapped_parameter_value(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t symbol, const f_string_static_t name, const f_string_t between, const f_string_static_t value, const f_string_t after) { + void fake_print_context_wrapped_parameter_value(fl_print_t * const print, const f_string_t before, const f_string_static_t symbol, const f_string_static_t name, const f_string_t between, const f_string_static_t value, const f_string_t after) { - if (!setting) return; + if (!print) return; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%Q%S'%]", print.to, print.context, print.prefix, before, print.context); - fl_print_format("%[%Q%Q%]", print.to, print.notable, symbol, name, print.notable); - fl_print_format("%['%S'%]%r", print.to, print.context, between, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, value, print.notable); - fl_print_format("%['%S.%]%r", print.to, print.context, after, print.context, f_string_eol_s); + fl_print_format("%[%Q%S'%]", print->to, print->context, print->prefix, before, print->context); + fl_print_format("%[%Q%Q%]", print->to, print->notable, symbol, name, print->notable); + fl_print_format("%['%S'%]%r", print->to, print->context, between, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, value, print->notable); + fl_print_format("%['%S.%]%r", print->to, print->context, after, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); } #endif // _di_fake_print_context_wrapped_parameter_value_ #ifndef _di_fake_print_context_wrapped_parameters_ - void fake_print_context_wrapped_parameters(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t symbol_1, const f_string_static_t name_1, const f_string_t between_1, const f_string_static_t symbol_2, const f_string_static_t name_2, const f_string_t between_2, const f_string_static_t symbol_3, const f_string_static_t name_3, const f_string_t after) { + void fake_print_context_wrapped_parameters(fl_print_t * const print, const f_string_t before, const f_string_static_t symbol_1, const f_string_static_t name_1, const f_string_t between_1, const f_string_static_t symbol_2, const f_string_static_t name_2, const f_string_t between_2, const f_string_static_t symbol_3, const f_string_static_t name_3, const f_string_t after) { - if (!setting) return; + if (!print) return; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%Q%S'%]", print.to, print.context, print.prefix, before, print.context); - fl_print_format("%[%Q%Q%]", print.to, print.notable, symbol_1, name_1, print.notable); - fl_print_format("%['%S'%]%r", print.to, print.context, between_1, print.context); - fl_print_format("%[%Q%Q%]", print.to, print.notable, symbol_2, name_2, print.notable); - fl_print_format("%['%S'%]%r", print.to, print.context, between_2, print.context); - fl_print_format("%[%Q%Q%]", print.to, print.notable, symbol_3, name_3, print.notable); - fl_print_format("%['%S.%]%r", print.to, print.context, after, print.context, f_string_eol_s); + fl_print_format("%[%Q%S'%]", print->to, print->context, print->prefix, before, print->context); + fl_print_format("%[%Q%Q%]", print->to, print->notable, symbol_1, name_1, print->notable); + fl_print_format("%['%S'%]%r", print->to, print->context, between_1, print->context); + fl_print_format("%[%Q%Q%]", print->to, print->notable, symbol_2, name_2, print->notable); + fl_print_format("%['%S'%]%r", print->to, print->context, between_2, print->context); + fl_print_format("%[%Q%Q%]", print->to, print->notable, symbol_3, name_3, print->notable); + fl_print_format("%['%S.%]%r", print->to, print->context, after, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); } #endif // _di_fake_print_context_wrapped_parameters_ #ifndef _di_fake_print_context_wrapped_variable_ - void fake_print_context_wrapped_variable(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t variable, const f_string_t after) { + void fake_print_context_wrapped_variable(fl_print_t * const print, const f_string_t before, const f_string_static_t variable, const f_string_t after) { - if (!setting) return; + if (!print) return; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%Q%S'%]", print.to, print.context, print.prefix, before, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, variable, print.notable); - fl_print_format("%['%S.%]%r", print.to, print.context, after, print.context, f_string_eol_s); + fl_print_format("%[%Q%S'%]", print->to, print->context, print->prefix, before, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, variable, print->notable); + fl_print_format("%['%S.%]%r", print->to, print->context, after, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); } #endif // _di_fake_print_context_wrapped_variable_ #ifndef _di_fake_print_context_wrapped_variables_ - void fake_print_context_wrapped_variables(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t first, const f_string_t between, const f_string_static_t second, const f_string_t after) { + void fake_print_context_wrapped_variables(fl_print_t * const print, const f_string_t before, const f_string_static_t first, const f_string_t between, const f_string_static_t second, const f_string_t after) { - if (!setting) return; + if (!print) return; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%Q%S'%]", print.to, print.context, print.prefix, before, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, first, print.notable); - fl_print_format("%['%S'%]", print.to, print.context, between, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, second, print.notable); - fl_print_format("%['%S.%]%r", print.to, print.context, after, print.context, f_string_eol_s); + fl_print_format("%[%Q%S'%]", print->to, print->context, print->prefix, before, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, first, print->notable); + fl_print_format("%['%S'%]", print->to, print->context, between, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, second, print->notable); + fl_print_format("%['%S.%]%r", print->to, print->context, after, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); } #endif // _di_fake_print_context_wrapped_variables_ diff --git a/level_3/fake/c/main/print/context.h b/level_3/fake/c/main/print/context.h index ec5a2cb..c3eb527 100644 --- a/level_3/fake/c/main/print/context.h +++ b/level_3/fake/c/main/print/context.h @@ -22,35 +22,64 @@ extern "C" { * This is primarily used by numerous print functions to reduce code. * This is not used for any print functions that has complex format structures. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param message * The string to print. * * @see fake_print_context_simple() */ #ifndef _di_fake_print_context_important_simple_ - extern void fake_print_context_important_simple(fake_setting_t * const setting, const fl_print_t print, const f_string_t message); + extern void fake_print_context_important_simple(fl_print_t * const print, const f_string_t message); #endif // _di_fake_print_context_important_simple_ /** - * Print a simple context message with prefix and a single string message. + * Print a variable context message with a before string, an after string, and a string variable with context set to important but without prefix and suffix. * * This is primarily used by numerous print functions to reduce code. * This is not used for any print functions that has complex format structures. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) + * @param print + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * @param before + * The string being printed before the variable. + * Likely should have a space added at the end of the string. + * Set to NULL to disable. + * @param variable + * The string representing the variable. + * @param after + * The string being printed after the variable. + * Likely should have a space added at the start of the string. + * Set to NULL to disable. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + */ +#ifndef _di_fake_print_context_important_simple_variable_ + extern void fake_print_context_important_simple_variable(fl_print_t * const print, const f_string_t before, const f_string_static_t variable, const f_string_t after); +#endif // _di_fake_print_context_important_simple_variable_ + +/** + * Print a simple context message with prefix and a single string message. + * + * This is primarily used by numerous print functions to reduce code. + * This is not used for any print functions that has complex format structures. * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param message * The string to print. * @@ -59,7 +88,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_context_simple_ - extern void fake_print_context_simple(fake_setting_t * const setting, const fl_print_t print, const f_string_t message); + extern void fake_print_context_simple(fl_print_t * const print, const f_string_t message); #endif // _di_fake_print_context_simple_ /** @@ -68,13 +97,12 @@ extern "C" { * This is primarily used by numerous print functions to reduce code. * This is not used for any print functions that has complex format structures. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param before * The string being printed before the variable. * Likely should have a space added at the end of the string. @@ -91,7 +119,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_context_simple_variable_ - extern void fake_print_context_simple_variable(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t variable, const f_string_t after); + extern void fake_print_context_simple_variable(fl_print_t * const print, const f_string_t before, const f_string_static_t variable, const f_string_t after); #endif // _di_fake_print_context_simple_variable_ /** @@ -100,13 +128,12 @@ extern "C" { * This is primarily used by numerous print functions to reduce code. * This is not used for any print functions that has complex format structures. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param before * The string being printed before the variable. * Likely should have a space added at the end of the string. @@ -123,7 +150,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_context_wrapped_number_ - extern void fake_print_context_wrapped_number(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_number_unsigned_t number, const f_string_t after); + extern void fake_print_context_wrapped_number(fl_print_t * const print, const f_string_t before, const f_number_unsigned_t number, const f_string_t after); #endif // _di_fake_print_context_wrapped_number_ /** @@ -132,13 +159,12 @@ extern "C" { * This is primarily used by numerous print functions to reduce code. * This is not used for any print functions that has complex format structures. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param before * The string being printed before the variable. * Likely should have a space added at the end of the string. @@ -158,7 +184,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_context_wrapped_parameter_ - extern void fake_print_context_wrapped_parameter(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t symbol, const f_string_static_t name, const f_string_t after); + extern void fake_print_context_wrapped_parameter(fl_print_t * const print, const f_string_t before, const f_string_static_t symbol, const f_string_static_t name, const f_string_t after); #endif // _di_fake_print_context_wrapped_parameter_ /** @@ -167,13 +193,12 @@ extern "C" { * This is primarily used by numerous print functions to reduce code. * This is not used for any print functions that has complex format structures. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param before * The string being printed before the variable. * Likely should have a space added at the end of the string. @@ -197,7 +222,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_context_wrapped_parameter_value_ - extern void fake_print_context_wrapped_parameter_value(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t symbol, const f_string_static_t name, const f_string_t between, const f_string_static_t value, const f_string_t after); + extern void fake_print_context_wrapped_parameter_value(fl_print_t * const print, const f_string_t before, const f_string_static_t symbol, const f_string_static_t name, const f_string_t between, const f_string_static_t value, const f_string_t after); #endif // _di_fake_print_context_wrapped_parameter_value_ /** @@ -206,13 +231,12 @@ extern "C" { * This is primarily used by numerous print functions to reduce code. * This is not used for any print functions that has complex format structures. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param before * The string being printed before the variable. * Likely should have a space added at the end of the string. @@ -250,7 +274,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_context_wrapped_parameter_ - extern void fake_print_context_wrapped_parameters(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t symbol_1, const f_string_static_t name_1, const f_string_t between_1, const f_string_static_t symbol_2, const f_string_static_t name_2, const f_string_t between_2, const f_string_static_t symbol_3, const f_string_static_t name_3, const f_string_t after); + extern void fake_print_context_wrapped_parameters(fl_print_t * const print, const f_string_t before, const f_string_static_t symbol_1, const f_string_static_t name_1, const f_string_t between_1, const f_string_static_t symbol_2, const f_string_static_t name_2, const f_string_t between_2, const f_string_static_t symbol_3, const f_string_static_t name_3, const f_string_t after); #endif // _di_fake_print_context_wrapped_parameter_ /** @@ -259,13 +283,12 @@ extern "C" { * This is primarily used by numerous print functions to reduce code. * This is not used for any print functions that has complex format structures. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param before * The string being printed before the variable. * Likely should have a space added at the end of the string. @@ -282,7 +305,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_context_wrapped_variable_ - extern void fake_print_context_wrapped_variable(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t variable, const f_string_t after); + extern void fake_print_context_wrapped_variable(fl_print_t * const print, const f_string_t before, const f_string_static_t variable, const f_string_t after); #endif // _di_fake_print_context_wrapped_variable_ /** @@ -291,13 +314,12 @@ extern "C" { * This is primarily used by numerous print functions to reduce code. * This is not used for any print functions that has complex format structures. * - * @param setting - * The main program settings. - * (Must be of type fake_setting_t.) - * - * This does not alter setting.state.status. * @param print * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param before * The string being printed before the variable. * Likely should have a space added at the end of the string. @@ -317,7 +339,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_context_wrapped_variables_ - extern void fake_print_context_wrapped_variables(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t first, const f_string_t between, const f_string_static_t second, const f_string_t after); + extern void fake_print_context_wrapped_variables(fl_print_t * const print, const f_string_t before, const f_string_static_t first, const f_string_t between, const f_string_static_t second, const f_string_t after); #endif // _di_fake_print_context_wrapped_variables_ #ifdef __cplusplus diff --git a/level_3/fake/c/main/print/error.c b/level_3/fake/c/main/print/error.c index a44e337..a3d232d 100644 --- a/level_3/fake/c/main/print/error.c +++ b/level_3/fake/c/main/print/error.c @@ -7,169 +7,170 @@ extern "C" { #ifndef _di_fake_print_error_ f_status_t fake_print_error(fl_print_t * const print, const f_string_t function) { - if (!print) return F_status_set_error(F_output_not); + if (!print || !print->custom) return F_status_set_error(F_output_not); if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_setting_t * const setting = (fake_setting_t *) print->custom; + fake_main_t * const main = (fake_main_t *) print->custom; - if (setting) { - fll_error_print(*print, F_status_set_fine(setting->state.status), function, fll_error_file_flag_fallback_e); - } + fll_error_print(*print, F_status_set_fine(main->setting.state.status), function, fll_error_file_flag_fallback_e); return F_none; } #endif // _di_fake_print_error_ #ifndef _di_fake_print_error_argument_empty_ - f_status_t fake_print_error_argument_empty(fake_setting_t * const setting, const fl_print_t print, const f_array_length_t index) { + f_status_t fake_print_error_argument_empty(fl_print_t * const print, const f_array_length_t index) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity == f_console_verbosity_quiet_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity == f_console_verbosity_quiet_e) return F_output_not; - fake_print_context_wrapped_number(setting, print, "The ", (f_number_unsigned_t) index, " argument must not be an empty string"); + fake_print_context_wrapped_number(print, "The ", (f_number_unsigned_t) index, " argument must not be an empty string"); return F_none; } #endif // _di_fake_print_error_argument_empty_ #ifndef _di_fake_print_error_build_operation_file_ - f_status_t fake_print_error_build_operation_file(fake_setting_t * const setting, const fl_print_t print, const f_string_t function, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how, const bool fallback) { + f_status_t fake_print_error_build_operation_file(fl_print_t * const print, const f_string_t function, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how, const bool fallback) { + + if (!print->custom) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - if (!setting) return F_status_set_error(F_output_not); + fake_main_t * const main = (fake_main_t *) print->custom; - if (F_status_set_fine(setting->state.status) == F_file_found_not) { - if (print.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(print.to); + if (F_status_set_fine(main->setting.state.status) == F_file_found_not) { + if (print->verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(print->to); - fl_print_format("%[%QFailed to find '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, source, print.notable); - fl_print_format("%[' ", print.to, print.context); + fl_print_format("%[%QFailed to find '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, source, print->notable); + fl_print_format("%[' ", print->to, print->context); - fake_print_error_build_operation_file_partial(setting, print, operation, source, destination, how); + fake_print_error_build_operation_file_partial(print, operation, source, destination, how); - fl_print_format(".%]%r", print.to, print.context, f_string_eol_s); + fl_print_format(".%]%r", print->to, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); } return F_false; } - if (F_status_set_fine(setting->state.status) == F_parameter) { - if (print.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(print.to); + if (F_status_set_fine(main->setting.state.status) == F_parameter) { + if (print->verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(print->to); - fl_print_format("%[%QInvalid parameter when calling '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, function, print.notable); - fl_print_format("%[() ", print.to, print.context); + fl_print_format("%[%QInvalid parameter when calling '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, function, print->notable); + fl_print_format("%[() ", print->to, print->context); - fake_print_error_build_operation_file_partial(setting, print, operation, source, destination, how); + fake_print_error_build_operation_file_partial(print, operation, source, destination, how); - fl_print_format(".%]%r", print.to, print.context, f_string_eol_s); + fl_print_format(".%]%r", print->to, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); } return F_false; } - if (F_status_set_fine(setting->state.status) == F_name) { - if (print.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(print.to); + if (F_status_set_fine(main->setting.state.status) == F_name) { + if (print->verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(print->to); - fl_print_format("%[%QInvalid name for '%]", print.to, print.context, print.prefix, print.context); + fl_print_format("%[%QInvalid name for '%]", print->to, print->context, print->prefix, print->context); if (source.used) { - fl_print_format("%[%Q%]", print.to, print.notable, source, print.notable); + fl_print_format("%[%Q%]", print->to, print->notable, source, print->notable); } if (destination.used) { - fl_print_format("%[' or '%]", print.to, print.context, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, destination, print.notable); + fl_print_format("%[' or '%]", print->to, print->context, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, destination, print->notable); } - fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%['.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); } return F_false; } - if (F_status_set_fine(setting->state.status) == F_memory_not) { - if (print.verbosity > f_console_verbosity_quiet_e) { - fake_print_error_build_operation_file_full(setting, print, "Unable to allocate memory, ", operation, source, destination, how, 0); + if (F_status_set_fine(main->setting.state.status) == F_memory_not) { + if (print->verbosity > f_console_verbosity_quiet_e) { + fake_print_error_build_operation_file_full(print, "Unable to allocate memory, ", operation, source, destination, how, 0); } return F_false; } - if (F_status_set_fine(setting->state.status) == F_number_overflow) { - if (print.verbosity > f_console_verbosity_quiet_e) { - fake_print_error_build_operation_file_full(setting, print, "Overflow ", operation, source, destination, how, 0); + if (F_status_set_fine(main->setting.state.status) == F_number_overflow) { + if (print->verbosity > f_console_verbosity_quiet_e) { + fake_print_error_build_operation_file_full(print, "Overflow ", operation, source, destination, how, 0); } return F_false; } - if (F_status_set_fine(setting->state.status) == F_directory) { - if (print.verbosity > f_console_verbosity_quiet_e) { - fake_print_error_build_operation_file_full(setting, print, "Invalid directory ", operation, source, destination, how, 0); + if (F_status_set_fine(main->setting.state.status) == F_directory) { + if (print->verbosity > f_console_verbosity_quiet_e) { + fake_print_error_build_operation_file_full(print, "Invalid directory ", operation, source, destination, how, 0); } return F_false; } - if (F_status_set_fine(setting->state.status) == F_access_denied) { - if (print.verbosity > f_console_verbosity_quiet_e) { - fake_print_error_build_operation_file_full(setting, print, "Access denied ", operation, source, destination, how, 0); + if (F_status_set_fine(main->setting.state.status) == F_access_denied) { + if (print->verbosity > f_console_verbosity_quiet_e) { + fake_print_error_build_operation_file_full(print, "Access denied ", operation, source, destination, how, 0); } return F_false; } - if (F_status_set_fine(setting->state.status) == F_loop) { - if (print.verbosity > f_console_verbosity_quiet_e) { - fake_print_error_build_operation_file_full(setting, print, "Loop ", operation, source, destination, how, 0); + if (F_status_set_fine(main->setting.state.status) == F_loop) { + if (print->verbosity > f_console_verbosity_quiet_e) { + fake_print_error_build_operation_file_full(print, "Loop ", operation, source, destination, how, 0); } return F_false; } - if (F_status_set_fine(setting->state.status) == F_prohibited) { - if (print.verbosity > f_console_verbosity_quiet_e) { - fake_print_error_build_operation_file_full(setting, print, "Prohibited by system ", operation, source, destination, how, 0); + if (F_status_set_fine(main->setting.state.status) == F_prohibited) { + if (print->verbosity > f_console_verbosity_quiet_e) { + fake_print_error_build_operation_file_full(print, "Prohibited by system ", operation, source, destination, how, 0); } return F_false; } - if (F_status_set_fine(setting->state.status) == F_directory_found_not) { - fake_print_error_build_operation_file_full(setting, print, "Failed ", operation, source, destination, how, "due to an invalid directory in the path"); + if (F_status_set_fine(main->setting.state.status) == F_directory_found_not) { + fake_print_error_build_operation_file_full(print, "Failed ", operation, source, destination, how, "due to an invalid directory in the path"); return F_false; } - if (F_status_set_fine(setting->state.status) == F_failure) { - if (print.verbosity > f_console_verbosity_quiet_e) { - fake_print_error_build_operation_file_full(setting, print, "Failed ", operation, source, destination, how, 0); + if (F_status_set_fine(main->setting.state.status) == F_failure) { + if (print->verbosity > f_console_verbosity_quiet_e) { + fake_print_error_build_operation_file_full(print, "Failed ", operation, source, destination, how, 0); } return F_false; } - if (fll_error_print(print, F_status_set_fine(setting->state.status), function, fll_error_file_flag_none_e) == F_known_not && fallback && print.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(print.to); + if (fll_error_print(*print, F_status_set_fine(main->setting.state.status), function, fll_error_file_flag_none_e) == F_known_not && fallback && print->verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(print->to); - fl_print_format("%[UNKNOWN %Q(%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%ui%]", print.to, print.notable, F_status_set_fine(setting->state.status), print.notable); - fl_print_format("%[) occurred ", print.to, print.context); + fl_print_format("%[UNKNOWN %Q(%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%ui%]", print->to, print->notable, F_status_set_fine(main->setting.state.status), print->notable); + fl_print_format("%[) occurred ", print->to, print->context); - fake_print_error_build_operation_file_partial(setting, print, operation, source, destination, how); + fake_print_error_build_operation_file_partial(print, operation, source, destination, how); - fl_print_format(".%]%r", print.to, print.context, f_string_eol_s); + fl_print_format(".%]%r", print->to, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); } return F_true; @@ -177,207 +178,215 @@ extern "C" { #endif // _di_fake_print_error_build_operation_file_ #ifndef _di_fake_print_error_build_operation_file_full_ - f_status_t fake_print_error_build_operation_file_full(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how, const f_string_t after) { + f_status_t fake_print_error_build_operation_file_full(fl_print_t * const print, const f_string_t before, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how, const f_string_t after) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%Q%S", print.to, print.context, print.prefix, before); + fl_print_format("%[%Q%S", print->to, print->context, print->prefix, before); if (source.used) { - fake_print_error_build_operation_file_partial(setting, print, operation, source, destination, how); + fake_print_error_build_operation_file_partial(print, operation, source, destination, how); } else { - fl_print_format("%[", print.to, print.context); + fl_print_format("%[", print->to, print->context); } - fl_print_format("%S.%]%r", print.to, print.context, after, print.context, f_string_eol_s); + fl_print_format("%S.%]%r", print->to, print->context, after, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_print_error_build_operation_file_full_ #ifndef _di_fake_print_error_build_operation_file_partial_ - void fake_print_error_build_operation_file_partial(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how) { + void fake_print_error_build_operation_file_partial(fl_print_t * const print, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how) { - if (!setting) return; - if (print.verbosity < f_console_verbosity_error_e || !source.used) return; + if (print->verbosity < f_console_verbosity_error_e || !source.used) return; - fl_print_format("%[while trying to %Q '%]", print.to, print.context, operation, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, source, print.notable); + fl_print_format("%[while trying to %Q '%]", print->to, print->context, operation, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, source, print->notable); if (destination.used) { - fl_print_format("%[' %Q '%]", print.to, print.context, how, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, destination, print.notable); + fl_print_format("%[' %Q '%]", print->to, print->context, how, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, destination, print->notable); } - fl_print_format("%['", print.to, print.context, print.context); + fl_print_format("%['", print->to, print->context, print->context); } #endif // _di_fake_print_error_build_operation_file_partial_ #ifndef _di_fake_print_error_directory_create_parent_missing_ - f_status_t fake_print_error_directory_create_parent_missing(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + f_status_t fake_print_error_directory_create_parent_missing(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "The directory ", path, " could not be created, a parent directory is missing or invalid"); + fake_print_context_wrapped_variable(print, "The directory ", path, " could not be created, a parent directory is missing or invalid"); return F_none; } #endif // _di_fake_print_error_directory_create_parent_missing_ #ifndef _di_fake_print_error_execute_program_not_found_ - f_status_t fake_print_error_execute_program_not_found(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t program) { + f_status_t fake_print_error_execute_program_not_found(fl_print_t * const print, const f_string_static_t program) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_simple_variable(setting, print, "Failed to find program ", program, " for executing"); + fake_print_context_simple_variable(print, "Failed to find program ", program, " for executing"); return F_none; } #endif // _di_fake_print_error_execute_program_not_found_ #ifndef _di_fake_print_error_failure_operation_ - f_status_t fake_print_error_failure_operation(fake_setting_t * const setting, const fl_print_t print, const uint8_t operation) { + f_status_t fake_print_error_failure_operation(fl_print_t * const print, const uint8_t operation) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QThe operation '%]%[", print.to, print.context, print.prefix, print.context, print.notable); + fl_print_format("%[%QThe operation '%]%[", print->to, print->context, print->prefix, print->context, print->notable); if (operation == fake_operation_build_e) { - f_print_dynamic(fake_other_operation_build_s, print.to); + f_print_dynamic(fake_other_operation_build_s, print->to); } else if (operation == fake_operation_clean_e) { - f_print_dynamic(fake_other_operation_clean_s, print.to); + f_print_dynamic(fake_other_operation_clean_s, print->to); } else if (operation == fake_operation_make_e) { - f_print_dynamic(fake_other_operation_make_s, print.to); + f_print_dynamic(fake_other_operation_make_s, print->to); } else if (operation == fake_operation_skeleton_e) { - f_print_dynamic(fake_other_operation_skeleton_s, print.to); + f_print_dynamic(fake_other_operation_skeleton_s, print->to); } - fl_print_format("%]%[' failed.%]%r", print.to, print.notable, print.context, print.context, f_string_eol_s); + fl_print_format("%]%[' failed.%]%r", print->to, print->notable, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_print_error_failure_operation_ #ifndef _di_fake_print_error_failure_script_ - f_status_t fake_print_error_failure_script(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t script) { + f_status_t fake_print_error_failure_script(fl_print_t * const print, const f_string_static_t script) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "Failed to execute script ", script, ""); + fake_print_context_wrapped_variable(print, "Failed to execute script ", script, ""); return F_none; } #endif // _di_fake_print_error_failure_script_ #ifndef _di_fake_print_error_fallback_ - f_status_t fake_print_error_fallback(fake_setting_t * const setting, const fl_print_t print, const f_string_t function) { + f_status_t fake_print_error_fallback(fl_print_t * const print, const f_string_t function) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print || !print->custom) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - if (fll_error_print(print, F_status_set_fine(setting->state.status), function, fll_error_file_flag_none_e) == F_known_not) return F_false; + fake_main_t * const main = (fake_main_t *) print->custom; + + if (fll_error_print(*print, F_status_set_fine(main->setting.state.status), function, fll_error_file_flag_none_e) == F_known_not) return F_false; return F_true; } #endif // _di_fake_print_error_fallback_ #ifndef _di_fake_print_error_file_ - f_status_t fake_print_error_file(fake_setting_t * const setting, const fl_print_t print, const f_string_t function, const f_string_static_t name, const f_string_static_t operation, const uint8_t type) { + f_status_t fake_print_error_file(fl_print_t * const print, const f_string_t function, const f_string_static_t name, const f_string_static_t operation, const uint8_t type) { + + if (!print || !print->custom) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + fake_main_t * const main = (fake_main_t *) print->custom; - fll_error_file_print(print, F_status_set_fine(setting->state.status), function, fll_error_file_flag_fallback_e, name, operation, type); + fll_error_file_print(*print, F_status_set_fine(main->setting.state.status), function, fll_error_file_flag_fallback_e, name, operation, type); return F_none; } #endif // _di_fake_print_error_file_ #ifndef _di_fake_print_error_file_create_parent_missing_ - f_status_t fake_print_error_file_create_parent_missing(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + f_status_t fake_print_error_file_create_parent_missing(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "The file ", path, " could not be created, a parent directory is missing or invalid"); + fake_print_context_wrapped_variable(print, "The file ", path, " could not be created, a parent directory is missing or invalid"); return F_none; } #endif // _di_fake_print_error_file_create_parent_missing_ #ifndef _di_fake_print_error_file_simple_ - f_status_t fake_print_error_file_simple(fake_setting_t * const setting, const fl_print_t print, const f_string_t function, const f_string_static_t name, const f_string_static_t operation, const uint8_t type) { + f_status_t fake_print_error_file_simple(fl_print_t * const print, const f_string_t function, const f_string_static_t name, const f_string_static_t operation, const uint8_t type) { + + if (!print || !print->custom) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + fake_main_t * const main = (fake_main_t *) print->custom; - fll_error_file_print(print, F_status_set_fine(setting->state.status), function, fll_error_file_flag_simple_e, name, operation, type); + fll_error_file_print(*print, F_status_set_fine(main->setting.state.status), function, fll_error_file_flag_simple_e, name, operation, type); return F_none; } #endif // _di_fake_print_error_file_simple_ #ifndef _di_fake_print_error_fss_ - f_status_t fake_print_error_fss(fake_setting_t * const setting, const fl_print_t print, const f_string_t function, const f_string_static_t path_file, const f_string_range_t range, const bool fallback) { + f_status_t fake_print_error_fss(fl_print_t * const print, const f_string_t function, const f_string_static_t path_file, const f_string_range_t range, const bool fallback) { - if (!setting) return F_status_set_error(F_output_not); + if (!print->custom) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - if (setting->state.status == F_file_found_not) { - if (print.verbosity > f_console_verbosity_quiet_e) { - fake_print_error_fss_message(setting, print, 0, "Occurred on invalid UTF-8 character at stop position (at ", range.start, " of the setting file ", path_file, ")"); + fake_main_t * const main = (fake_main_t *) print->custom; + + if (main->setting.state.status == F_file_found_not) { + if (print->verbosity > f_console_verbosity_quiet_e) { + fake_print_error_fss_message(print, 0, "Occurred on invalid UTF-8 character at stop position (at ", range.start, " of the setting file ", path_file, ")"); } return F_false; } - if (setting->state.status == F_complete_not_utf || setting->state.status == F_complete_not_utf_eos || setting->state.status == F_complete_not_utf_stop) { - if (print.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(print.to); + if (main->setting.state.status == F_complete_not_utf || main->setting.state.status == F_complete_not_utf_eos || main->setting.state.status == F_complete_not_utf_stop) { + if (print->verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(print->to); - fl_print_format("%[%QOccurred on invalid UTF-8 character at %s (at '%]", print.to, print.context, print.prefix, setting->state.status == F_complete_not_utf_eos ? "end of string" : "stop point of string", print.context); - fl_print_format("%[%un%]", print.to, print.notable, range.start, print.notable); - fl_print_format("%[ of the setting file '%]", print.to, print.context, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, path_file, print.notable); - fl_print_format("%[').%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[%QOccurred on invalid UTF-8 character at %s (at '%]", print->to, print->context, print->prefix, main->setting.state.status == F_complete_not_utf_eos ? "end of string" : "stop point of string", print->context); + fl_print_format("%[%un%]", print->to, print->notable, range.start, print->notable); + fl_print_format("%[ of the setting file '%]", print->to, print->context, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, path_file, print->notable); + fl_print_format("%[').%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); } return F_false; } - if (setting->state.status == F_complete_not_utf_stop) { - if (print.verbosity > f_console_verbosity_quiet_e) { - fake_print_error_fss_message(setting, print, 0, "Occurred on invalid UTF-8 character at stop point of string (at ", range.start, " of the setting file ", path_file, ")"); + if (main->setting.state.status == F_complete_not_utf_stop) { + if (print->verbosity > f_console_verbosity_quiet_e) { + fake_print_error_fss_message(print, 0, "Occurred on invalid UTF-8 character at stop point of string (at ", range.start, " of the setting file ", path_file, ")"); } return F_false; } - if (fll_error_print(print, setting->state.status, function, fll_error_file_flag_none_e) == F_known_not && fallback) { - if (print.verbosity > f_console_verbosity_quiet_e) { + if (fll_error_print(*print, main->setting.state.status, function, fll_error_file_flag_none_e) == F_known_not && fallback) { + if (print->verbosity > f_console_verbosity_quiet_e) { f_string_static_t function_s = f_string_static_t_initialize; function_s.string = function; function_s.used = strlen(function); - fake_print_error_fss_message(setting, print, "UNKNOWN ", 0, (f_number_unsigned_t) setting->state.status, ") in function ", function_s, "()"); + fake_print_error_fss_message(print, "UNKNOWN ", 0, (f_number_unsigned_t) main->setting.state.status, ") in function ", function_s, "()"); } } @@ -386,145 +395,149 @@ extern "C" { #endif // _di_fake_print_error_fss_ #ifndef _di_fake_print_error_fss_message_ - f_status_t fake_print_error_fss_message(fake_setting_t * const setting, const fl_print_t print, const f_string_t prefix, const f_string_t before, const f_number_unsigned_t number, const f_string_t middle, const f_string_static_t variable, const f_string_t after) { + f_status_t fake_print_error_fss_message(fl_print_t * const print, const f_string_t prefix, const f_string_t before, const f_number_unsigned_t number, const f_string_t middle, const f_string_static_t variable, const f_string_t after) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%S%Q%S(%]", print.to, print.context, prefix, print.prefix, before, print.context); - fl_print_format("%[%un%]", print.to, print.notable, number, print.notable); - fl_print_format("%[)%S'%]", print.to, print.context, middle, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, variable, print.notable); - fl_print_format("%[%S.%]%r", print.to, print.context, after, print.context, f_string_eol_s); + fl_print_format("%[%S%Q%S(%]", print->to, print->context, prefix, print->prefix, before, print->context); + fl_print_format("%[%un%]", print->to, print->notable, number, print->notable); + fl_print_format("%[)%S'%]", print->to, print->context, middle, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, variable, print->notable); + fl_print_format("%[%S.%]%r", print->to, print->context, after, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_print_error_fss_message_ #ifndef _di_fake_print_error_group_not_found_ - f_status_t fake_print_error_group_not_found(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t group) { + f_status_t fake_print_error_group_not_found(fl_print_t * const print, const f_string_static_t group) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "The group ", group, " is not found"); + fake_print_context_wrapped_variable(print, "The group ", group, " is not found"); return F_none; } #endif // _di_fake_print_error_group_not_found_ #ifndef _di_fake_print_error_mode_invalid_ - f_status_t fake_print_error_mode_invalid(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t mode) { + f_status_t fake_print_error_mode_invalid(fl_print_t * const print, const f_string_static_t mode) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "The mode ", mode, " is invalid"); + fake_print_context_wrapped_variable(print, "The mode ", mode, " is invalid"); return F_none; } #endif // _di_fake_print_error_mode_invalid_ #ifndef _di_fake_print_error_number_too_large_ - f_status_t fake_print_error_number_too_large(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t number) { + f_status_t fake_print_error_number_too_large(fl_print_t * const print, const f_string_static_t number) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "The number ", number, " is too large"); + fake_print_context_wrapped_variable(print, "The number ", number, " is too large"); return F_none; } #endif // _di_fake_print_error_number_too_large_ #ifndef _di_fake_print_error_operation_failed_ - f_status_t fake_print_error_operation_failed(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) { + f_status_t fake_print_error_operation_failed(fl_print_t * const print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) { + + if (!print->custom) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + fake_main_t * const main = (fake_main_t *) print->custom; f_array_length_t line = 1; f_state_t state = f_state_t_initialize; - f_fss_count_lines(buffer, operation_name.start, &line, &setting->state); + f_fss_count_lines(buffer, operation_name.start, &line, &main->setting.state); - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QThe section operation '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%/Q%]", print.to, print.notable, buffer, operation_name, print.notable); - fl_print_format("%[' from section '%]", print.to, print.context, print.context); - fl_print_format("%[%/Q%]", print.to, print.notable, buffer, section_name, print.notable); - fl_print_format("%[' on line%] ", print.to, print.context, print.context); - fl_print_format("%[%un%]", print.to, print.notable, line, print.notable); - fl_print_format(" %[failed.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[%QThe section operation '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%/Q%]", print->to, print->notable, buffer, operation_name, print->notable); + fl_print_format("%[' from section '%]", print->to, print->context, print->context); + fl_print_format("%[%/Q%]", print->to, print->notable, buffer, section_name, print->notable); + fl_print_format("%[' on line%] ", print->to, print->context, print->context); + fl_print_format("%[%un%]", print->to, print->notable, line, print->notable); + fl_print_format(" %[failed.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_print_error_operation_failed_ #ifndef _di_fake_print_error_operation_link_argument_unknown_ - f_status_t fake_print_error_operation_link_argument_unknown(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t argument) { + f_status_t fake_print_error_operation_link_argument_unknown(fl_print_t * const print, const f_string_static_t argument) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QThe argument '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, argument, print.notable); - fl_print_format("%[' is not not valid and may only be one of either '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_argument_force_s, print.notable); - fl_print_format("%[' or '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_argument_strict_s, print.notable); - fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[%QThe argument '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, argument, print->notable); + fl_print_format("%[' is not not valid and may only be one of either '%]", print->to, print->context, print->context); + fl_print_format("%[%r%]", print->to, print->notable, fake_make_operation_argument_force_s, print->notable); + fl_print_format("%[' or '%]", print->to, print->context, print->context); + fl_print_format("%[%r%]", print->to, print->notable, fake_make_operation_argument_strict_s, print->notable); + fl_print_format("%['.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_print_error_operation_link_argument_unknown_ #ifndef _di_fake_print_error_operation_link_point_exists_ - f_status_t fake_print_error_operation_link_point_exists(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t argument) { + f_status_t fake_print_error_operation_link_point_exists(fl_print_t * const print, const f_string_static_t argument) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "The point file ", argument, " already exists"); + fake_print_context_wrapped_variable(print, "The point file ", argument, " already exists"); return F_none; } #endif // _di_fake_print_error_operation_link_point_exists_ #ifndef _di_fake_print_error_operation_link_target_exists_not_ - f_status_t fake_print_error_operation_link_target_exists_not(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t argument) { + f_status_t fake_print_error_operation_link_target_exists_not(fl_print_t * const print, const f_string_static_t argument) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "The target file ", argument, " does not exist"); + fake_print_context_wrapped_variable(print, "The target file ", argument, " does not exist"); return F_none; } #endif // _di_fake_print_error_operation_link_target_exists_not_ #ifndef _di_fake_print_error_operation_path_outside_ - f_status_t fake_print_error_operation_path_outside(fake_setting_t * const setting, const fl_print_t print, const f_string_t function, const f_string_static_t path) { + f_status_t fake_print_error_operation_path_outside(fl_print_t * const print, const f_string_t function, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print->custom) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - if (F_status_set_fine(setting->state.status) == F_false) { - fake_print_context_wrapped_variable(setting, print, "The path ", path, " is outside the project root"); + fake_main_t * const main = (fake_main_t *) print->custom; + + if (F_status_set_fine(main->setting.state.status) == F_false) { + fake_print_context_wrapped_variable(print, "The path ", path, " is outside the project root"); } else { - fake_print_error_file(setting, print, function, path, fake_common_file_path_determine_real_s, fll_error_file_type_file_e); + fake_print_error_file(print, function, path, fake_common_file_path_determine_real_s, fll_error_file_type_file_e); } return F_none; @@ -532,29 +545,31 @@ extern "C" { #endif // _di_fake_print_error_operation_path_outside_ #ifndef _di_fake_print_error_operation_path_stack_max_ - f_status_t fake_print_error_operation_path_stack_max(fake_setting_t * const setting, const fl_print_t print, const f_string_t function, const f_string_static_t path) { + f_status_t fake_print_error_operation_path_stack_max(fl_print_t * const print, const f_string_t function, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print->custom) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - if (setting->state.status == F_array_too_large) { - f_file_stream_lock(print.to); + fake_main_t * const main = (fake_main_t *) print->custom; - fl_print_format("%[%QMaximum stack size reached while processing path '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable); - fl_print_format("%['", print.to, print.context); + if (main->setting.state.status == F_array_too_large) { + f_file_stream_lock(print->to); + + fl_print_format("%[%QMaximum stack size reached while processing path '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, path, print->notable); + fl_print_format("%['", print->to, print->context); if (function) { - fl_print_format(" while calling%] %[%S%]", print.to, print.context, print.notable, function, print.notable); - fl_print_format("%[()", print.to, print.context); + fl_print_format(" while calling%] %[%S%]", print->to, print->context, print->notable, function, print->notable); + fl_print_format("%[()", print->to, print->context); } - fl_print_format(".%]%r", print.to, print.context, f_string_eol_s); + fl_print_format(".%]%r", print->to, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); } else { - fake_print_error_file(setting, print, function, path, fake_common_file_path_change_to_s, fll_error_file_type_directory_e); + fake_print_error_file(print, function, path, fake_common_file_path_change_to_s, fll_error_file_type_directory_e); } return F_none; @@ -562,160 +577,164 @@ extern "C" { #endif // _di_fake_print_error_operation_path_stack_max_ #ifndef _di_fake_print_error_operation_stack_max_ - f_status_t fake_print_error_operation_stack_max(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name, const f_array_length_t stack_max) { + f_status_t fake_print_error_operation_stack_max(fl_print_t * const print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name, const f_array_length_t stack_max) { + + if (!print->custom) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + fake_main_t * const main = (fake_main_t *) print->custom; f_array_length_t line = 1; f_state_t state = f_state_t_initialize; - f_fss_count_lines(buffer, operation_name.start, &line, &setting->state); + f_fss_count_lines(buffer, operation_name.start, &line, &main->setting.state); - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QThe section operation '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%/Q%]", print.to, print.notable, buffer, operation_name, print.notable); - fl_print_format("%[' from section '%]", print.to, print.context, buffer, print.context); - fl_print_format("%[%/Q%]", print.to, print.notable, buffer, section_name, print.notable); - fl_print_format("%[' on line%] ", print.to, print.context, print.context); - fl_print_format("%[%ul%]", print.to, print.notable, line, print.notable); - fl_print_format("%[' cannot be processed because the max stack depth of%] ", print.to, print.context, print.context); - fl_print_format("%[%ul%]", print.to, print.notable, stack_max, print.notable); - fl_print_format(" %[has been reached.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[%QThe section operation '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%/Q%]", print->to, print->notable, buffer, operation_name, print->notable); + fl_print_format("%[' from section '%]", print->to, print->context, buffer, print->context); + fl_print_format("%[%/Q%]", print->to, print->notable, buffer, section_name, print->notable); + fl_print_format("%[' on line%] ", print->to, print->context, print->context); + fl_print_format("%[%ul%]", print->to, print->notable, line, print->notable); + fl_print_format("%[' cannot be processed because the max stack depth of%] ", print->to, print->context, print->context); + fl_print_format("%[%ul%]", print->to, print->notable, stack_max, print->notable); + fl_print_format(" %[has been reached.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_print_error_operation_stack_max_ #ifndef _di_fake_print_error_operation_unknown_ - f_status_t fake_print_error_operation_unknown(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) { + f_status_t fake_print_error_operation_unknown(fl_print_t * const print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print->custom) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; + + fake_main_t * const main = (fake_main_t *) print->custom; f_array_length_t line = 1; f_state_t state = f_state_t_initialize; - f_fss_count_lines(buffer, operation_name.start, &line, &setting->state); + f_fss_count_lines(buffer, operation_name.start, &line, &main->setting.state); - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QThe section operation '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%/Q%]", print.to, print.notable, buffer, operation_name, print.notable); - fl_print_format("%[' from section '%]", print.to, print.context, buffer, print.context); - fl_print_format("%[%/Q%]", print.to, print.notable, buffer, section_name, print.notable); - fl_print_format("%[' on line%] ", print.to, print.context, print.context); - fl_print_format("%[%ul%]", print.to, print.notable, line, print.notable); - fl_print_format(" %[is not a known operation name.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[%QThe section operation '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%/Q%]", print->to, print->notable, buffer, operation_name, print->notable); + fl_print_format("%[' from section '%]", print->to, print->context, buffer, print->context); + fl_print_format("%[%/Q%]", print->to, print->notable, buffer, section_name, print->notable); + fl_print_format("%[' on line%] ", print->to, print->context, print->context); + fl_print_format("%[%ul%]", print->to, print->notable, line, print->notable); + fl_print_format(" %[is not a known operation name.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_print_error_operation_unknown_ #ifndef _di_fake_print_error_parameter_not_empty_ - f_status_t fake_print_error_parameter_not_empty(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t symbol, const f_string_static_t name, const f_string_static_t value) { + f_status_t fake_print_error_parameter_not_empty(fl_print_t * const print, const f_string_static_t symbol, const f_string_static_t name, const f_string_static_t value) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity == f_console_verbosity_quiet_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity == f_console_verbosity_quiet_e) return F_output_not; - fake_print_context_wrapped_parameter(setting, print, "The ", symbol, name, " parameter must not be empty and must not contain only white space"); + fake_print_context_wrapped_parameter(print, "The ", symbol, name, " parameter must not be empty and must not contain only white space"); return F_none; } #endif // _di_fake_print_error_parameter_not_empty_ #ifndef _di_fake_print_error_parameter_directory_not_found_path_ - f_status_t fake_print_error_parameter_directory_not_found_path(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t symbol, const f_string_static_t name, const f_string_static_t value) { + f_status_t fake_print_error_parameter_directory_not_found_path(fl_print_t * const print, const f_string_static_t symbol, const f_string_static_t name, const f_string_static_t value) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity == f_console_verbosity_quiet_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity == f_console_verbosity_quiet_e) return F_output_not; - fake_print_context_wrapped_parameter_value(setting, print, "The value of the directory parameter ", symbol, name, " has a path of ", value, " that is not found."); + fake_print_context_wrapped_parameter_value(print, "The value of the directory parameter ", symbol, name, " has a path of ", value, " that is not found."); return F_none; } #endif // _di_fake_print_error_parameter_directory_not_found_path_ #ifndef _di_fake_print_error_parameter_not_word_ - f_status_t fake_print_error_parameter_not_word(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t symbol, const f_string_static_t name, const f_string_static_t value) { + f_status_t fake_print_error_parameter_not_word(fl_print_t * const print, const f_string_static_t symbol, const f_string_static_t name, const f_string_static_t value) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity == f_console_verbosity_quiet_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity == f_console_verbosity_quiet_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[%QThe '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%Q%Q%]", print.to, print.notable, symbol, name, print.notable); - fl_print_format("%[' parameter value '%]", print.to, print.context, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, value, print.notable); - fl_print_format("%[' contains non-word, non-dash, and non-plus characters.%]%r", print.to, print.context, print.context, f_string_eol_s); + fl_print_format("%[%QThe '%]", print->to, print->context, print->prefix, print->context); + fl_print_format("%[%Q%Q%]", print->to, print->notable, symbol, name, print->notable); + fl_print_format("%[' parameter value '%]", print->to, print->context, print->context); + fl_print_format("%[%Q%]", print->to, print->notable, value, print->notable); + fl_print_format("%[' contains non-word, non-dash, and non-plus characters.%]%r", print->to, print->context, print->context, f_string_eol_s); - f_file_stream_unlock(print.to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_print_error_parameter_not_word_ #ifndef _di_fake_print_error_parameter_operation_not_with_ - f_status_t fake_print_error_parameter_operation_not_with(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t operation_1, const f_string_static_t operation_2) { + f_status_t fake_print_error_parameter_operation_not_with(fl_print_t * const print, const f_string_static_t operation_1, const f_string_static_t operation_2) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variables(setting, print, "The operation ", operation_1, " cannot be specified with the operation ", operation_2, 0); + fake_print_context_wrapped_variables(print, "The operation ", operation_1, " cannot be specified with the operation ", operation_2, 0); return F_none; } #endif // _di_fake_print_error_parameter_operation_not_with_ #ifndef _di_fake_print_error_parameter_too_many_ - f_status_t fake_print_error_parameter_too_many(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t symbol, const f_string_static_t parameter) { + f_status_t fake_print_error_parameter_too_many(fl_print_t * const print, const f_string_static_t symbol, const f_string_static_t parameter) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_parameter(setting, print, "The parameter ", symbol, parameter, " is specified too many times"); + fake_print_context_wrapped_parameter(print, "The parameter ", symbol, parameter, " is specified too many times"); return F_none; } #endif // _di_fake_print_error_parameter_too_many_ #ifndef _di_fake_print_error_requires_more_arguments_ - f_status_t fake_print_error_requires_more_arguments(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_print_error_requires_more_arguments(fl_print_t * const print) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_simple(setting, print, "Requires more arguments"); + fake_print_context_simple(print, "Requires more arguments"); return F_none; } #endif // _di_fake_print_error_requires_more_arguments_ #ifndef _di_fake_print_error_too_many_arguments_ - f_status_t fake_print_error_too_many_arguments(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_print_error_too_many_arguments(fl_print_t * const print) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_simple(setting, print, "Has too many arguments"); + fake_print_context_simple(print, "Has too many arguments"); return F_none; } #endif // _di_fake_print_error_too_many_arguments_ #ifndef _di_fake_print_error_user_not_found_ - f_status_t fake_print_error_user_not_found(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t user) { + f_status_t fake_print_error_user_not_found(fl_print_t * const print, const f_string_static_t user) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_error_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "The user ", user, " is not found"); + fake_print_context_wrapped_variable(print, "The user ", user, " is not found"); return F_none; } diff --git a/level_3/fake/c/main/print/error.h b/level_3/fake/c/main/print/error.h index c700fc3..7d9dbe4 100644 --- a/level_3/fake/c/main/print/error.h +++ b/level_3/fake/c/main/print/error.h @@ -24,9 +24,9 @@ extern "C" { * @param print * Designates the how and where to print. * - * This expects print.custom to be fake_setting_t. + * This requires print.custom to be fake_main_t. * - * This does not alter print.custom.state.status. + * This does not alter print.custom.setting.state.status. * @param function * The function name. * @@ -65,7 +65,7 @@ extern "C" { * @see fake_print_context_wrapped_number() */ #ifndef _di_fake_print_error_argument_empty_ - extern f_status_t fake_print_error_argument_empty(fake_setting_t * const setting, const fl_print_t print, const f_array_length_t index); + extern f_status_t fake_print_error_argument_empty(fl_print_t * const print, const f_array_length_t index); #endif // _di_fake_print_error_argument_empty_ /** @@ -103,7 +103,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_error_build_operation_file_ - extern f_status_t fake_print_error_build_operation_file(fake_setting_t * const setting, const fl_print_t print, const f_string_t function, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how, const bool fallback); + extern f_status_t fake_print_error_build_operation_file(fl_print_t * const print, const f_string_t function, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how, const bool fallback); #endif // _di_fake_print_error_build_operation_file_ /** @@ -146,7 +146,7 @@ extern "C" { * @see fake_print_error_build_operation_file_partial() */ #ifndef _di_fake_print_error_build_operation_file_full_ - extern f_status_t fake_print_error_build_operation_file_full(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how, const f_string_t after); + extern f_status_t fake_print_error_build_operation_file_full(fl_print_t * const print, const f_string_t before, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how, const f_string_t after); #endif // _di_fake_print_error_build_operation_file_full_ /** @@ -175,7 +175,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_error_build_operation_file_partial_ - extern void fake_print_error_build_operation_file_partial(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how); + extern void fake_print_error_build_operation_file_partial(fl_print_t * const print, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how); #endif // _di_fake_print_error_build_operation_file_partial_ /** @@ -199,7 +199,7 @@ extern "C" { * @see fake_print_context_wrapped_variable() */ #ifndef _di_fake_print_error_file_create_parent_missing_ - extern f_status_t fake_print_error_file_create_parent_missing(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern f_status_t fake_print_error_file_create_parent_missing(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_print_error_file_create_parent_missing_ /** @@ -225,7 +225,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_error_failure_operation_ - extern f_status_t fake_print_error_failure_operation(fake_setting_t * const setting, const fl_print_t print, const uint8_t operation); + extern f_status_t fake_print_error_failure_operation(fl_print_t * const print, const uint8_t operation); #endif // _di_fake_print_error_failure_operation_ /** @@ -249,7 +249,7 @@ extern "C" { * @see fake_print_context_wrapped_variable() */ #ifndef _di_fake_print_error_failure_script_ - extern f_status_t fake_print_error_failure_script(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t script); + extern f_status_t fake_print_error_failure_script(fl_print_t * const print, const f_string_static_t script); #endif // _di_fake_print_error_failure_script_ /** @@ -274,7 +274,7 @@ extern "C" { * @see fll_error_file_print() */ #ifndef _di_fake_print_error_fallback_ - extern f_status_t fake_print_error_fallback(fake_setting_t * const setting, const fl_print_t print, const f_string_t function); + extern f_status_t fake_print_error_fallback(fl_print_t * const print, const f_string_t function); #endif // _di_fake_print_error_fallback_ /** @@ -302,7 +302,7 @@ extern "C" { * @see fll_error_file_print() */ #ifndef _di_fake_print_error_file_ - extern f_status_t fake_print_error_file(fake_setting_t * const setting, const fl_print_t print, const f_string_t function, const f_string_static_t name, const f_string_static_t operation, const uint8_t type); + extern f_status_t fake_print_error_file(fl_print_t * const print, const f_string_t function, const f_string_static_t name, const f_string_static_t operation, const uint8_t type); #endif // _di_fake_print_error_file_ /** @@ -326,7 +326,7 @@ extern "C" { * @see fake_print_context_wrapped_variable() */ #ifndef _di_fake_print_error_directory_create_parent_missing_ - extern f_status_t fake_print_error_directory_create_parent_missing(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern f_status_t fake_print_error_directory_create_parent_missing(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_print_error_directory_create_parent_missing_ /** @@ -350,7 +350,7 @@ extern "C" { * @see fake_print_context_simple_variable() */ #ifndef _di_fake_print_error_execute_program_not_found_ - extern f_status_t fake_print_error_execute_program_not_found(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t program); + extern f_status_t fake_print_error_execute_program_not_found(fl_print_t * const print, const f_string_static_t program); #endif // _di_fake_print_error_execute_program_not_found_ /** @@ -380,7 +380,7 @@ extern "C" { * @see fll_error_file_print() */ #ifndef _di_fake_print_error_file_simple_ - extern f_status_t fake_print_error_file_simple(fake_setting_t * const setting, const fl_print_t print, const f_string_t function, const f_string_static_t name, const f_string_static_t operation, const uint8_t type); + extern f_status_t fake_print_error_file_simple(fl_print_t * const print, const f_string_t function, const f_string_static_t name, const f_string_static_t operation, const uint8_t type); #endif // _di_fake_print_error_file_simple_ /** @@ -415,7 +415,7 @@ extern "C" { * @see fake_print_error_fss_message() */ #ifndef _di_fake_print_error_fss_ - extern f_status_t fake_print_error_fss(fake_setting_t * const setting, const fl_print_t print, const f_string_t function, const f_string_static_t path_file, const f_string_range_t range, const bool fallback); + extern f_status_t fake_print_error_fss(fl_print_t * const print, const f_string_t function, const f_string_static_t path_file, const f_string_range_t range, const bool fallback); #endif // _di_fake_print_error_fss_ /** @@ -450,7 +450,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_error_fss_message_ - extern f_status_t fake_print_error_fss_message(fake_setting_t * const setting, const fl_print_t print, const f_string_t prefix, const f_string_t before, const f_number_unsigned_t number, const f_string_t middle, const f_string_static_t variable, const f_string_t after); + extern f_status_t fake_print_error_fss_message(fl_print_t * const print, const f_string_t prefix, const f_string_t before, const f_number_unsigned_t number, const f_string_t middle, const f_string_static_t variable, const f_string_t after); #endif // _di_fake_print_error_fss_message_ /** @@ -474,7 +474,7 @@ extern "C" { * @see fake_print_context_wrapped_variable() */ #ifndef _di_fake_print_error_group_not_found_ - extern f_status_t fake_print_error_group_not_found(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t group); + extern f_status_t fake_print_error_group_not_found(fl_print_t * const print, const f_string_static_t group); #endif // _di_fake_print_error_group_not_found_ /** @@ -498,7 +498,7 @@ extern "C" { * @see fake_print_context_wrapped_variable() */ #ifndef _di_fake_print_error_mode_invalid_ - extern f_status_t fake_print_error_mode_invalid(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t mode); + extern f_status_t fake_print_error_mode_invalid(fl_print_t * const print, const f_string_static_t mode); #endif // _di_fake_print_error_mode_invalid_ /** @@ -522,7 +522,7 @@ extern "C" { * @see fake_print_context_wrapped_variable() */ #ifndef _di_fake_print_error_number_too_large_ - extern f_status_t fake_print_error_number_too_large(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t number); + extern f_status_t fake_print_error_number_too_large(fl_print_t * const print, const f_string_static_t number); #endif // _di_fake_print_error_number_too_large_ /** @@ -550,7 +550,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_error_operation_failed_ - extern f_status_t fake_print_error_operation_failed(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name); + extern f_status_t fake_print_error_operation_failed(fl_print_t * const print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name); #endif // _di_fake_print_error_operation_failed_ /** @@ -574,7 +574,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_error_operation_link_argument_unknown_ - extern f_status_t fake_print_error_operation_link_argument_unknown(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t argument); + extern f_status_t fake_print_error_operation_link_argument_unknown(fl_print_t * const print, const f_string_static_t argument); #endif // _di_fake_print_error_operation_link_argument_unknown_ /** @@ -598,7 +598,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_error_operation_link_point_exists_ - extern f_status_t fake_print_error_operation_link_point_exists(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t argument); + extern f_status_t fake_print_error_operation_link_point_exists(fl_print_t * const print, const f_string_static_t argument); #endif // _di_fake_print_error_operation_link_point_exists_ /** @@ -621,10 +621,10 @@ extern "C" { * @see f_file_stream_unlock() * @see fl_print_format() * - * @see fake_print_wrapped_variable() + * @see fake_print_common_wrapped_variable() */ #ifndef _di_fake_print_error_operation_link_target_exists_not_ - extern f_status_t fake_print_error_operation_link_target_exists_not(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t argument); + extern f_status_t fake_print_error_operation_link_target_exists_not(fl_print_t * const print, const f_string_static_t argument); #endif // _di_fake_print_error_operation_link_target_exists_not_ /** @@ -651,7 +651,7 @@ extern "C" { * @see fll_error_file_print() */ #ifndef _di_fake_print_error_operation_path_outside_ - extern f_status_t fake_print_error_operation_path_outside(fake_setting_t * const setting, const fl_print_t print, const f_string_t function, const f_string_static_t path); + extern f_status_t fake_print_error_operation_path_outside(fl_print_t * const print, const f_string_t function, const f_string_static_t path); #endif // _fake_print_error_operation_path_outside_ /** @@ -679,7 +679,7 @@ extern "C" { * @see fll_error_file_print() */ #ifndef _di_fake_print_error_operation_path_stack_max_ - extern f_status_t fake_print_error_operation_path_stack_max(fake_setting_t * const setting, const fl_print_t print, const f_string_t function, const f_string_static_t path); + extern f_status_t fake_print_error_operation_path_stack_max(fl_print_t * const print, const f_string_t function, const f_string_static_t path); #endif // _di_fake_print_error_operation_path_stack_max_ /** @@ -709,7 +709,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_error_operation_stack_max_ - extern f_status_t fake_print_error_operation_stack_max(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name, const f_array_length_t stack_max); + extern f_status_t fake_print_error_operation_stack_max(fl_print_t * const print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name, const f_array_length_t stack_max); #endif // _di_fake_print_error_operation_stack_max_ /** @@ -737,7 +737,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_error_operation_unknown_ - extern f_status_t fake_print_error_operation_unknown(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name); + extern f_status_t fake_print_error_operation_unknown(fl_print_t * const print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name); #endif // _di_fake_print_error_operation_unknown_ /** @@ -765,7 +765,7 @@ extern "C" { * @see fake_print_context_wrapped_parameter() */ #ifndef _di_fake_print_error_parameter_not_empty_ - extern f_status_t fake_print_error_parameter_not_empty(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t symbol, const f_string_static_t name, const f_string_static_t value); + extern f_status_t fake_print_error_parameter_not_empty(fl_print_t * const print, const f_string_static_t symbol, const f_string_static_t name, const f_string_static_t value); #endif // _di_fake_print_error_parameter_not_empty_ /** @@ -793,7 +793,7 @@ extern "C" { * @see fake_print_context_wrapped_parameter_value() */ #ifndef _di_fake_print_error_parameter_directory_not_found_path_ - extern f_status_t fake_print_error_parameter_directory_not_found_path(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t symbol, const f_string_static_t name, const f_string_static_t value); + extern f_status_t fake_print_error_parameter_directory_not_found_path(fl_print_t * const print, const f_string_static_t symbol, const f_string_static_t name, const f_string_static_t value); #endif // _di_fake_print_error_parameter_directory_not_found_path_ /** @@ -823,7 +823,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_error_parameter_not_word_ - extern f_status_t fake_print_error_parameter_not_word(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t symbol, const f_string_static_t name, const f_string_static_t value); + extern f_status_t fake_print_error_parameter_not_word(fl_print_t * const print, const f_string_static_t symbol, const f_string_static_t name, const f_string_static_t value); #endif // _di_fake_print_error_parameter_not_word_ /** @@ -849,7 +849,7 @@ extern "C" { * @see fake_print_context_wrapped_variables() */ #ifndef _di_fake_print_error_parameter_operation_not_with_ - extern f_status_t fake_print_error_parameter_operation_not_with(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t operation_1, const f_string_static_t operation_2); + extern f_status_t fake_print_error_parameter_operation_not_with(fl_print_t * const print, const f_string_static_t operation_1, const f_string_static_t operation_2); #endif // _di_fake_print_error_parameter_operation_not_with_ /** @@ -869,7 +869,7 @@ extern "C" { * @see fake_print_context_wrapped_parameter() */ #ifndef _di_fake_print_error_parameter_too_many_ - extern f_status_t fake_print_error_parameter_too_many(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t symbol, const f_string_static_t parameter); + extern f_status_t fake_print_error_parameter_too_many(fl_print_t * const print, const f_string_static_t symbol, const f_string_static_t parameter); #endif // _di_fake_print_error_parameter_too_many_ /** @@ -887,7 +887,7 @@ extern "C" { * @see fake_print_context_simple() */ #ifndef _di_fake_print_error_requires_more_arguments_ - extern f_status_t fake_print_error_requires_more_arguments(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_print_error_requires_more_arguments(fl_print_t * const print); #endif // _di_fake_print_error_requires_more_arguments_ /** @@ -905,7 +905,7 @@ extern "C" { * @see fake_print_context_simple() */ #ifndef _di_fake_print_error_too_many_arguments_ - extern f_status_t fake_print_error_too_many_arguments(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_print_error_too_many_arguments(fl_print_t * const print); #endif // _di_fake_print_error_too_many_arguments_ /** @@ -929,7 +929,7 @@ extern "C" { * @see fake_print_context_wrapped_variable() */ #ifndef _di_fake_print_error_user_not_found_ - extern f_status_t fake_print_error_user_not_found(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t user); + extern f_status_t fake_print_error_user_not_found(fl_print_t * const print, const f_string_static_t user); #endif // _di_fake_print_error_user_not_found_ #ifdef __cplusplus diff --git a/level_3/fake/c/main/print/message.c b/level_3/fake/c/main/print/message.c new file mode 100644 index 0000000..272a87e --- /dev/null +++ b/level_3/fake/c/main/print/message.c @@ -0,0 +1,163 @@ +#include "../fake.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _di_fake_print_message_building_ + f_status_t fake_print_message_building(fl_print_t * const print, const f_string_statics_t * const build_arguments, fake_build_setting_t * const setting_build) { + + if (!print || !print->custom || !setting_build) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_normal_e) return F_output_not; + + fake_main_t * const main = (fake_main_t *) print->custom; + + f_file_stream_lock(print->to); + + fl_print_format("%r%[Building%] ", print->to, f_string_eol_s, print->set->important, print->set->important); + fl_print_format("%[%Q%]", print->to, print->set->notable, setting_build->build_name, print->set->notable); + fl_print_format("%[ using '%]", print->to, print->set->important, print->set->important); + fl_print_format("%[%Q%]", print->to, print->set->notable, main->setting.settings, print->set->notable); + + fl_print_format("%[' with modes '%]", print->to, print->set->important, print->set->important); + + f_string_statics_t modes_custom = f_string_statics_t_initialize; + modes_custom.used = build_arguments && build_arguments->used > 1 ? build_arguments->used - 1 : 0; + modes_custom.size = 0; + + f_string_static_t modes_custom_array[modes_custom.used]; + modes_custom.array = modes_custom_array; + + for (f_array_length_t i = 0; i < modes_custom.used; ++i) { + modes_custom.array[i] = build_arguments->array[i + 1]; + } // for + + // Custom modes are always used if provided, otherwise if any mode is specified, the entire defaults is replaced. + const f_string_statics_t * const modes = modes_custom.used + ? &modes_custom + : main->setting.modes.used + ? &main->setting.modes + : &setting_build->modes_default; + + for (f_array_length_t i = 0; i < modes->used; ) { + + fl_print_format("%[%Q%]", print->to, print->set->notable, modes->array[i], print->set->notable); + + if (++i < modes->used) { + fl_print_format("%[', '%]", print->to, print->set->important, print->set->important); + } + } // for + + fl_print_format("%['.%]%r", print->to, print->set->important, print->set->important, f_string_eol_s); + + f_file_stream_unlock(print->to); + + return F_none; + } +#endif // _di_fake_print_message_building_ + +#ifndef _di_fake_print_message_delete_all_files_ + f_status_t fake_print_message_delete_all_files(fl_print_t * const print) { + + if (!print || !print->custom) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_normal_e) return F_output_not; + + fake_main_t * const main = (fake_main_t *) print->custom; + + fake_print_context_important_simple_variable(print, "Deleting all files within build directory ", main->setting.build, 0); + + return F_none; + } +#endif // _di_fake_print_message_delete_all_files_ + +#ifndef _di_fake_print_message_generating_skeleton_ + f_status_t fake_print_message_generating_skeleton(fl_print_t * const print) { + + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_normal_e) return F_output_not; + + fake_print_common_simple(print, "Generating skeleton structure"); + + return F_none; + } +#endif // _di_fake_print_message_generating_skeleton_ + +#ifndef _di_fake_print_message_help_ + f_status_t fake_print_message_help(fl_print_t * const print) { + + if (!print) return F_status_set_error(F_output_not); + + f_file_stream_lock(print->to); + + fll_program_print_help_header(*print, fake_program_name_long_s, fake_program_version_s); + + fll_program_print_help_option_standard(*print); + + f_print_dynamic_raw(f_string_eol_s, print->to); + + fll_program_print_help_option(*print, fake_short_define_s, fake_long_define_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Append an additional define after defines from settings file."); + fll_program_print_help_option(*print, fake_short_fakefile_s, fake_long_fakefile_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Use this fakefile."); + fll_program_print_help_option(*print, fake_short_mode_s, fake_long_mode_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Use this mode when processing the build settings."); + fll_program_print_help_option(*print, fake_short_process_s, fake_long_process_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Process name for storing build states."); + fll_program_print_help_option(*print, fake_short_settings_s, fake_long_settings_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Use this settings file."); + + f_print_dynamic_raw(f_string_eol_s, print->to); + + 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); + + fll_program_print_help_option_long(*print, fake_long_documents_disabled_s, f_console_symbol_long_normal_s, " Forcibly do not build documents files."); + fll_program_print_help_option_long(*print, fake_long_documents_enabled_s, f_console_symbol_long_normal_s, " Forcibly do build documents files."); + fll_program_print_help_option_long(*print, fake_long_shared_disabled_s, f_console_symbol_long_normal_s, "Forcibly do not build shared files."); + fll_program_print_help_option_long(*print, fake_long_shared_enabled_s, f_console_symbol_long_normal_s, " Forcibly do build shared files."); + fll_program_print_help_option_long(*print, fake_long_static_disabled_s, f_console_symbol_long_normal_s, "Forcibly do not build static files."); + fll_program_print_help_option_long(*print, fake_long_static_enabled_s, f_console_symbol_long_normal_s, " Forcibly do build static files."); + + fl_print_format("%r%r %[Operations:%] ", print->to, f_string_eol_s, f_string_eol_s, print->set->important, print->set->important); + + fll_program_print_help_option_other(*print, fake_other_operation_build_s, " Build or compile the code based on build settings file."); + fll_program_print_help_option_other(*print, fake_other_operation_clean_s, " Delete all build files."); + fll_program_print_help_option_other(*print, fake_other_operation_make_s, " Build or compile the code based on fakefile (default)."); + fll_program_print_help_option_other(*print, fake_other_operation_skeleton_s, "Build a skeleton directory structure."); + + f_print_dynamic_raw(f_string_eol_s, print->to); + f_print_dynamic_raw(f_string_eol_s, print->to); + + fll_program_print_help_usage(*print, fake_program_name_s, fake_program_help_parameters_s); + + fl_print_format("%r When performing the %[%r%] operation, the", print->to, f_string_eol_s, print->set->notable, fake_other_operation_build_s, print->set->notable); + fl_print_format(" %[%r%r%] parameter specifies a name (limited to alpha-numeric, underscore, and dash) to be used in addition to the global.%r", print->to, print->set->notable, f_console_symbol_long_normal_s, fake_long_mode_s, print->set->notable, f_string_eol_s); + + fl_print_format(" For example, when a %[%r%]", print->to, print->set->notable, fake_make_parameter_variable_mode_s, print->set->notable); + fl_print_format(" of 'fll_monolithic' is specified, build libraries from both 'build_libraries' and 'build_libraries-fll_monolithic' are used (but not 'build_libraries-fll_level').%r%r", print->to, f_string_eol_s, f_string_eol_s); + + fl_print_format(" When specifying the %[%r%] or the %[%r%]", print->to, print->set->notable, fake_make_parameter_variable_fakefile_s, print->set->notable, print->set->notable, fake_make_parameter_variable_settings_s, print->set->notable); + fl_print_format(" parameters, the project root is seached first and then the build data director is searched when the given file does not contain a directory separator.%r", print->to, f_string_eol_s); + + fl_print_format(" For example, with '%[%r%r my_fakefile%]' the fakefile at", print->to, print->set->notable, f_console_symbol_long_normal_s, fake_long_fakefile_s, print->set->notable); + fl_print_format(" '%[./my_fakefile%]' is used if found, but if it is not found then", print->to, print->set->notable, print->set->notable); + fl_print_format(" '%[./%r%rmy_fakefile%]' is used if found.%r", print->to, print->set->notable, fake_default_data_s, fake_default_build_s, print->set->notable, f_string_eol_s); + fl_print_format(" For example, with '%[%r%r ./my_fakefile%]' the fakefile at", print->to, print->set->notable, f_console_symbol_long_normal_s, fake_long_fakefile_s, print->set->notable); + fl_print_format(" '%[./my_fakefile%]' is used if found, but if it is not found then no other paths are attempted.%r%r", print->to, print->set->notable, print->set->notable, f_string_eol_s, f_string_eol_s); + + fl_print_format(" When piping data to this program, the piped data is treated as if it were prepended to the %[%r%]", print->to, print->set->notable, fake_make_parameter_variable_fakefile_s, print->set->notable); + fl_print_format(" or the %[%r%], depending on the operation.%r", print->to, print->set->notable, fake_make_parameter_variable_settings_s, print->set->notable, f_string_eol_s); + + fl_print_format(" A section name from the fakefile that does not conflict with an operation name may be specified when performing the %[%r%] operation.%r", print->to, print->set->notable, fake_other_operation_make_s, print->set->notable, f_string_eol_s); + + f_file_stream_flush(print->to); + f_file_stream_unlock(print->to); + + return F_none; + } +#endif // _di_fake_print_message_help_ + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_3/fake/c/main/print/message.h b/level_3/fake/c/main/print/message.h new file mode 100644 index 0000000..554d23d --- /dev/null +++ b/level_3/fake/c/main/print/message.h @@ -0,0 +1,121 @@ +/** + * FLL - Level 3 + * + * Project: Featureless Make + * API Version: 0.7 + * Licenses: lgpl-2.1-or-later + * + * Provides print message functionality. + * + * This is auto-included and should not need to be explicitly included. + */ +#ifndef _fake_print_message_h +#define _fake_print_message_h + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * Print a message about building. + * + * @param print + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * @param build_arguments + * (optional) The build arguments. + * @param setting_build + * The build setting data. + * + * @return + * F_none on success. + * F_output_not on success, but no printing is performed. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + */ +#ifndef _di_fake_print_message_building_ + extern f_status_t fake_print_message_building(fl_print_t * const print, const f_string_statics_t * const build_arguments, fake_build_setting_t * const setting_build); +#endif // _di_fake_print_message_building_ + +/** + * Print a message about deleting all files. + * + * @param print + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * + * @return + * F_none on success. + * F_output_not on success, but no printing is performed. + * + * @see fake_print_common_simple_variable() + */ +#ifndef _di_fake_print_message_delete_all_files_ + extern f_status_t fake_print_message_delete_all_files(fl_print_t * const print); +#endif // _di_fake_print_message_delete_all_files_ + +/** + * Print a message about generating skeleton. + * + * @param print + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * + * @return + * F_none on success. + * F_output_not on success, but no printing is performed. + * + * @see fake_print_common_simple() + */ +#ifndef _di_fake_print_message_generating_skeleton_ + extern f_status_t fake_print_message_generating_skeleton(fl_print_t * const print); +#endif // _di_fake_print_message_generating_skeleton_ + +/** + * Print help. + * + * @param print + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * + * @return + * F_none on success. + * F_output_not on success, but no printing is performed. + * + * F_output_not (with error bit) if setting is NULL. + * + * @see f_file_stream_flush() + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see f_print_dynamic_raw() + * @see fl_print_format() + * @see fll_program_print_help_header() + * @see fll_program_print_help_option() + * @see fll_program_print_help_option_other() + * @see fll_program_print_help_option_standard() + * @see fll_program_print_help_usage() + */ +#ifndef _di_fake_print_message_help_ + extern f_status_t fake_print_message_help(fl_print_t * const print); +#endif // _di_fake_print_message_help_ + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _fake_print_message_h diff --git a/level_3/fake/c/main/print/operation.c b/level_3/fake/c/main/print/operation.c index f3d7372..d641533 100644 --- a/level_3/fake/c/main/print/operation.c +++ b/level_3/fake/c/main/print/operation.c @@ -5,49 +5,49 @@ extern "C" { #endif #ifndef _di_fake_print_operation_all_complete_ - f_status_t fake_print_operation_all_complete(fake_setting_t * const setting, const fl_print_t print) { + f_status_t fake_print_operation_all_complete(fl_print_t * const print) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_normal_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_normal_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%rAll operations complete.%r", print.to, f_string_eol_s, f_string_eol_s); + fl_print_format("%rAll operations complete.%r", print->to, f_string_eol_s, f_string_eol_s); - f_file_stream_flush(print.to); - f_file_stream_unlock(print.to); + f_file_stream_flush(print->to); + f_file_stream_unlock(print->to); return F_none; } #endif // _di_fake_print_operation_all_complete_ #ifndef _di_fake_print_operation_cancelled_ - f_status_t fake_print_operation_cancelled(fake_setting_t * const setting, const fl_print_t print, const uint8_t operation) { + f_status_t fake_print_operation_cancelled(fl_print_t * const print, const uint8_t operation) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_normal_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_normal_e) return F_output_not; - f_file_stream_lock(print.to); + f_file_stream_lock(print->to); - fl_print_format("%[The operation '%]%[", print.to, print.context, print.context, print.notable); + fl_print_format("%[The operation '%]%[", print->to, print->context, print->context, print->notable); if (operation == fake_operation_build_e) { - f_print_dynamic(fake_other_operation_build_s, print.to); + f_print_dynamic(fake_other_operation_build_s, print->to); } else if (operation == fake_operation_clean_e) { - f_print_dynamic(fake_other_operation_clean_s, print.to); + f_print_dynamic(fake_other_operation_clean_s, print->to); } else if (operation == fake_operation_make_e) { - f_print_dynamic(fake_other_operation_make_s, print.to); + f_print_dynamic(fake_other_operation_make_s, print->to); } else if (operation == fake_operation_skeleton_e) { - f_print_dynamic(fake_other_operation_skeleton_s, print.to); + f_print_dynamic(fake_other_operation_skeleton_s, print->to); } - fl_print_format("%]%[' is cancelled.%]%r", print.to, print.notable, print.context, print.context, f_string_eol_s); + fl_print_format("%]%[' is cancelled.%]%r", print->to, print->notable, print->context, print->context, f_string_eol_s); - f_file_stream_flush(print.to); - f_file_stream_unlock(print.to); + f_file_stream_flush(print->to); + f_file_stream_unlock(print->to); return F_none; } diff --git a/level_3/fake/c/main/print/operation.h b/level_3/fake/c/main/print/operation.h index 73223ca..e51430d 100644 --- a/level_3/fake/c/main/print/operation.h +++ b/level_3/fake/c/main/print/operation.h @@ -19,12 +19,12 @@ extern "C" { /** * Print message for when all operates successfully complete. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * * @return * F_none on success. @@ -38,18 +38,18 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_operation_all_complete_ - extern f_status_t fake_print_operation_all_complete(fake_setting_t * const setting, const fl_print_t print); + extern f_status_t fake_print_operation_all_complete(fl_print_t * const print); #endif // _di_fake_print_operation_all_complete_ /** * Print message for when the operation is cancelled. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param operation * The identifier of the operation that failed. * @@ -66,7 +66,7 @@ extern "C" { * @see fl_print_format() */ #ifndef _di_fake_print_operation_cancelled_ - extern f_status_t fake_print_operation_cancelled(fake_setting_t * const setting, const fl_print_t print, const uint8_t operation); + extern f_status_t fake_print_operation_cancelled(fl_print_t * const print, const uint8_t operation); #endif // _di_fake_print_operation_cancelled_ #ifdef __cplusplus diff --git a/level_3/fake/c/main/print/verbose.c b/level_3/fake/c/main/print/verbose.c index 4b0b314..4d76b2d 100644 --- a/level_3/fake/c/main/print/verbose.c +++ b/level_3/fake/c/main/print/verbose.c @@ -4,132 +4,132 @@ extern "C" { #endif -#ifndef _di_fake_print_verbose_clone_ - void fake_print_verbose_clone(const f_string_static_t source, const f_string_static_t destination, void * const void_recurse) { - - if (!void_recurse) return; - - f_directory_recurse_t * const recurse = (f_directory_recurse_t * const) void_recurse; - - if (!recurse->state.custom) { - recurse->state.status = F_output_not; - - return; - } - - fake_data_t * const data = (fake_data_t *) recurse->state.custom; - - if (data->program->message.verbosity < f_console_verbosity_verbose_e) { - recurse->state.status = F_output_not; - - return; - } - - fake_print_wrapped_variables(data->setting, data->program->message, "Cloned ", source, " to ", destination, 0); - } -#endif // _di_fake_print_verbose_clone_ - -#ifndef _di_fake_print_verbose_copy_ - void fake_print_verbose_copy(const f_string_static_t source, const f_string_static_t destination, void * const void_recurse) { - - if (!void_recurse) return; - - f_directory_recurse_t * const recurse = (f_directory_recurse_t * const) void_recurse; - - if (!recurse->state.custom) { - recurse->state.status = F_output_not; - - return; - } - - fake_data_t * const data = (fake_data_t *) recurse->state.custom; - - if (data->program->message.verbosity < f_console_verbosity_verbose_e) { - recurse->state.status = F_output_not; - - return; - } - - fake_print_wrapped_variables(data->setting, data->program->message, "Copied ", source, " to ", destination, 0); - } -#endif // _di_fake_print_verbose_copy_ - #ifndef _di_fake_print_verbose_create_directory_ - void fake_print_verbose_create_directory(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + void fake_print_verbose_create_directory(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return; - if (print.verbosity < f_console_verbosity_verbose_e) return; + if (!print) return; + if (print->verbosity < f_console_verbosity_verbose_e) return; - fake_print_simple_variable(setting, print, "Created directory ", path); + fake_print_common_simple_variable(print, "Created directory ", path); } #endif // _di_fake_print_verbose_create_directory_ #ifndef _di_fake_print_verbose_create_file_ - f_status_t fake_print_verbose_create_file(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + f_status_t fake_print_verbose_create_file(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_simple_variable(setting, print, "Created file ", path); + fake_print_common_simple_variable(print, "Created file ", path); return F_none; } #endif // _di_fake_print_verbose_create_file_ #ifndef _di_fake_print_verbose_directory_exists_ - f_status_t fake_print_verbose_directory_exists(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + f_status_t fake_print_verbose_directory_exists(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_wrapped_variable(setting, print, "Directory ", path, " already exists"); + fake_print_common_wrapped_variable(print, "Directory ", path, " already exists"); return F_none; } #endif // _di_fake_print_verbose_directory_exists_ #ifndef _di_fake_print_verbose_file_exists_ - f_status_t fake_print_verbose_file_exists(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + f_status_t fake_print_verbose_file_exists(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_wrapped_variable(setting, print, "File ", path, " already exists"); + fake_print_common_wrapped_variable(print, "File ", path, " already exists"); } #endif // _di_fake_print_verbose_file_exists_ #ifndef _di_fake_print_verbose_file_exists_as_link_ - f_status_t fake_print_verbose_file_exists_as_link(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + f_status_t fake_print_verbose_file_exists_as_link(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_wrapped_variable(setting, print, "File ", path, " already exists (as a symbolic link)"); + fake_print_common_wrapped_variable(print, "File ", path, " already exists (as a symbolic link)"); } #endif // _di_fake_print_verbose_file_exists_as_link_ #ifndef _di_fake_print_verbose_file_exists_not_regular_or_link_ - f_status_t fake_print_verbose_file_exists_not_regular_or_link(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + f_status_t fake_print_verbose_file_exists_not_regular_or_link(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_wrapped_variable(setting, print, "File ", path, " already exists but is not a regular file (or a symbolic link)"); + fake_print_common_wrapped_variable(print, "File ", path, " already exists but is not a regular file (or a symbolic link)"); } #endif // _di_fake_print_verbose_file_exists_not_regular_or_link_ #ifndef _di_fake_print_verbose_file_pre_populated_ - f_status_t fake_print_verbose_file_pre_populated(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + f_status_t fake_print_verbose_file_pre_populated(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_simple_variable(setting, print, "Pre-populated file ", path); + fake_print_common_simple_variable(print, "Pre-populated file ", path); } #endif // _di_fake_print_verbose_file_pre_populated_ -#ifndef _di_fake_print_verbose_move_ - void fake_print_verbose_move(const f_string_static_t source, const f_string_static_t destination, void * const void_recurse) { +#ifndef _di_fake_print_verbose_recursive_clone_ + void fake_print_verbose_recursive_clone(const f_string_static_t source, const f_string_static_t destination, void * const void_recurse) { + + if (!void_recurse) return; + + f_directory_recurse_t * const recurse = (f_directory_recurse_t * const) void_recurse; + + if (!recurse->state.custom) { + recurse->state.status = F_output_not; + + return; + } + + fake_main_t * const main = (fake_main_t *) recurse->state.custom; + + if (main->program.message.verbosity < f_console_verbosity_verbose_e) { + recurse->state.status = F_output_not; + + return; + } + + fake_print_common_wrapped_variables(&main->program.message, "Cloned ", source, " to ", destination, 0); + } +#endif // _di_fake_print_verbose_recursive_clone_ + +#ifndef _di_fake_print_verbose_recursive_copy_ + void fake_print_verbose_recursive_copy(const f_string_static_t source, const f_string_static_t destination, void * const void_recurse) { + + if (!void_recurse) return; + + f_directory_recurse_t * const recurse = (f_directory_recurse_t * const) void_recurse; + + if (!recurse->state.custom) { + recurse->state.status = F_output_not; + + return; + } + + fake_main_t * const main = (fake_main_t *) recurse->state.custom; + + if (main->program.message.verbosity < f_console_verbosity_verbose_e) { + recurse->state.status = F_output_not; + + return; + } + + fake_print_common_wrapped_variables(&main->program.message, "Copied ", source, " to ", destination, 0); + } +#endif // _di_fake_print_verbose_recursive_copy_ + +#ifndef _di_fake_print_verbose_recursive_move_ + void fake_print_verbose_recursive_move(const f_string_static_t source, const f_string_static_t destination, void * const void_recurse) { if (!void_recurse) return; @@ -141,17 +141,17 @@ extern "C" { return; } - fake_data_t * const data = (fake_data_t *) recurse->state.custom; + fake_main_t * const main = (fake_main_t *) recurse->state.custom; - if (data->program->message.verbosity < f_console_verbosity_verbose_e) { + if (main->program.message.verbosity < f_console_verbosity_verbose_e) { recurse->state.status = F_output_not; return; } - fake_print_wrapped_variables(data->setting, data->program->message, "Moved ", source, " to ", destination, 0); + fake_print_common_wrapped_variables(&main->program.message, "Moved ", source, " to ", destination, 0); } -#endif // _di_fake_print_verbose_move_ +#endif // _di_fake_print_verbose_recursive_move_ #ifdef __cplusplus } // extern "C" diff --git a/level_3/fake/c/main/print/verbose.h b/level_3/fake/c/main/print/verbose.h index 45d1877..1a7dc6a 100644 --- a/level_3/fake/c/main/print/verbose.h +++ b/level_3/fake/c/main/print/verbose.h @@ -17,78 +17,32 @@ extern "C" { #endif /** - * Helper function for performing a verbose print for a file clone operation. - * - * This is intended to be passed as a callback to f_directory_recurse_t.verbose. - * The f_directory_recurse_t.state.custom must be the fake_data_t. - * - * @param source - * The source string. - * @param destination - * The destination string. - * @param recurse - * The recurse.state.custom must be a structure of type fake_data_t. - * - * This alters recurse.state.status: - * F_none on success. - * F_output_not on success, but no printing is performed. - * - * @see fll_print_format() - */ -#ifndef _di_fake_print_verbose_clone_ - extern void fake_print_verbose_clone(const f_string_static_t source, const f_string_static_t destination, void * const recurse); -#endif // _di_fake_print_verbose_clone_ - -/** - * Helper function for performing a verbose print for a file copy operation. - * - * This is intended to be passed as a callback to f_directory_recurse_t.verbose. - * The f_directory_recurse_t.state.custom must be the fake_data_t. - * - * @param source - * The source string. - * @param destination - * The destination string. - * @param recurse - * The recurse.state.custom must be a structure of type fake_data_t. - * - * This alters recurse.state.status: - * F_none on success. - * F_output_not on success, but no printing is performed. - * - * @see fll_print_format() - */ -#ifndef _di_fake_print_verbose_copy_ - extern void fake_print_verbose_copy(const f_string_static_t source, const f_string_static_t destination, void * const recurse); -#endif // _di_fake_print_verbose_copy_ - -/** * Print verbose message about creating a directory. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param path * The name of the file. * - * @see fake_print_simple_variable() + * @see fake_print_common_simple_variable() */ #ifndef _di_fake_print_verbose_create_directory_ - extern void fake_print_verbose_create_directory(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern void fake_print_verbose_create_directory(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_print_verbose_create_directory_ /** * Print verbose message about creating a file. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param path * The name of the file. * @@ -98,21 +52,21 @@ extern "C" { * * F_output_not (with error bit) if setting is NULL. * - * @see fake_print_simple_variable() + * @see fake_print_common_simple_variable() */ #ifndef _di_fake_print_verbose_create_file_ - extern f_status_t fake_print_verbose_create_file(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern f_status_t fake_print_verbose_create_file(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_print_verbose_create_file_ /** * Print a verbose message for when a directory already exists. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param path * The name of the directory. * @@ -122,21 +76,21 @@ extern "C" { * * F_output_not (with error bit) if setting is NULL. * - * @see fake_print_wrapped_variable() + * @see fake_print_common_wrapped_variable() */ #ifndef _di_fake_print_verbose_directory_exists_ - extern f_status_t fake_print_verbose_directory_exists(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern f_status_t fake_print_verbose_directory_exists(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_print_verbose_directory_exists_ /** * Print a verbose message for when a file already exists. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param path * The name of the file or directory. * @@ -146,21 +100,21 @@ extern "C" { * * F_output_not (with error bit) if setting is NULL. * - * @see fake_print_wrapped_variable() + * @see fake_print_common_wrapped_variable() */ #ifndef _di_fake_print_verbose_file_exists_ - extern f_status_t fake_print_verbose_file_exists(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern f_status_t fake_print_verbose_file_exists(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_print_verbose_file_exists_ /** * Print a verbose message for when a file already exists as a symbolic link. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param path * The name of the file or directory. * @@ -170,21 +124,21 @@ extern "C" { * * F_output_not (with error bit) if setting is NULL. * - * @see fake_print_wrapped_variable() + * @see fake_print_common_wrapped_variable() */ #ifndef _di_fake_print_verbose_file_exists_as_link_ - extern f_status_t fake_print_verbose_file_exists_as_link(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern f_status_t fake_print_verbose_file_exists_as_link(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_print_verbose_file_exists_as_link_ /** * Print a verbose message for when a file already exists but is not a regular file or a symbolic link. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param path * The name of the file or directory. * @@ -194,21 +148,21 @@ extern "C" { * * F_output_not (with error bit) if setting is NULL. * - * @see fake_print_wrapped_variable() + * @see fake_print_common_wrapped_variable() */ #ifndef _di_fake_print_verbose_file_exists_not_regular_or_link_ - extern f_status_t fake_print_verbose_file_exists_not_regular_or_link(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern f_status_t fake_print_verbose_file_exists_not_regular_or_link(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_print_verbose_file_exists_not_regular_or_link_ /** * Print a verbose message for when a file is pre-populated. * - * @param setting - * The main program settings. - * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param path * The name of the file or directory. * @@ -218,13 +172,59 @@ extern "C" { * * F_output_not (with error bit) if setting is NULL. * - * @see fake_print_simple_variable() + * @see fake_print_common_simple_variable() */ #ifndef _di_fake_print_verbose_file_pre_populated_ - extern f_status_t fake_print_verbose_file_pre_populated(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern f_status_t fake_print_verbose_file_pre_populated(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_print_verbose_file_pre_populated_ /** + * Helper function for performing a verbose print for a file clone operation. + * + * This is intended to be passed as a callback to f_directory_recurse_t.verbose. + * The f_directory_recurse_t.state.custom must be the fake_data_t. + * + * @param source + * The source string. + * @param destination + * The destination string. + * @param recurse + * This requires recurse.state.custom to be fake_main_t. + * + * This alters recurse.state.status: + * F_none on success. + * F_output_not on success, but no printing is performed. + * + * @see fll_print_format() + */ +#ifndef _di_fake_print_verbose_recursive_clone_ + extern void fake_print_verbose_recursive_clone(const f_string_static_t source, const f_string_static_t destination, void * const recurse); +#endif // _di_fake_print_verbose_recursive_clone_ + +/** + * Helper function for performing a verbose print for a file copy operation. + * + * This is intended to be passed as a callback to f_directory_recurse_t.verbose. + * The f_directory_recurse_t.state.custom must be the fake_data_t. + * + * @param source + * The source string. + * @param destination + * The destination string. + * @param recurse + * This requires recurse.state.custom to be fake_main_t. + * + * This alters recurse.state.status: + * F_none on success. + * F_output_not on success, but no printing is performed. + * + * @see fll_print_format() + */ +#ifndef _di_fake_print_verbose_recursive_copy_ + extern void fake_print_verbose_recursive_copy(const f_string_static_t source, const f_string_static_t destination, void * const recurse); +#endif // _di_fake_print_verbose_recursive_copy_ + +/** * Print a verbose message for when a file is moved. * * This is intended to be passed as a callback to f_directory_recurse_t.verbose. @@ -235,7 +235,7 @@ extern "C" { * @param destination * The destination string. * @param recurse - * The recurse.state.custom must be a structure of type fake_data_t. + * This requires recurse.state.custom to be fake_main_t. * * This alters recurse.state.status: * F_none on success. @@ -243,9 +243,9 @@ extern "C" { * * @see fll_print_format() */ -#ifndef _di_fake_print_verbose_move_ - extern void fake_print_verbose_move(const f_string_static_t source, const f_string_static_t destination, void * const recurse); -#endif // _di_fake_print_verbose_move_ +#ifndef _di_fake_print_verbose_recursive_move_ + extern void fake_print_verbose_recursive_move(const f_string_static_t source, const f_string_static_t destination, void * const recurse); +#endif // _di_fake_print_verbose_recursive_move_ #ifdef __cplusplus } // extern "C" diff --git a/level_3/fake/c/main/print/warning.c b/level_3/fake/c/main/print/warning.c index 761f403..341d3c2 100644 --- a/level_3/fake/c/main/print/warning.c +++ b/level_3/fake/c/main/print/warning.c @@ -4,13 +4,25 @@ extern "C" { #endif +#ifndef _di_fake_print_warning_build_directory_not_directory_ + f_status_t fake_print_warning_build_directory_not_directory(fl_print_t * const print, f_string_static_t path) { + + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; + + fake_print_context_wrapped_variable(print, "The build directory ", path, " exists but is not a directory"); + + return F_none; + } +#endif // _di_fake_print_warning_build_directory_not_directory_ + #ifndef _di_fake_print_warning_path_exists_not_directory_ - f_status_t fake_print_warning_path_exists_not_directory(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) { + f_status_t fake_print_warning_path_exists_not_directory(fl_print_t * const print, const f_string_static_t path) { - if (!setting) return F_status_set_error(F_output_not); - if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not; + if (!print) return F_status_set_error(F_output_not); + if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not; - fake_print_context_wrapped_variable(setting, print, "The path ", path, " exists but is not a directory"); + fake_print_context_wrapped_variable(print, "The path ", path, " exists but is not a directory"); return F_none; } diff --git a/level_3/fake/c/main/print/warning.h b/level_3/fake/c/main/print/warning.h index c55a310..080f9bd 100644 --- a/level_3/fake/c/main/print/warning.h +++ b/level_3/fake/c/main/print/warning.h @@ -17,14 +17,38 @@ extern "C" { #endif /** - * Print warning message about path existing but is not a directory. + * Print warning message about the build directory not being found. + * + * @param print + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. + * @param path + * The path of the build directory. * - * @param setting - * The main program settings. + * @return + * F_none on success. + * F_output_not on success, but no printing is performed. + * + * F_output_not (with error bit) if setting is NULL. + * + * @see fake_print_context_wrapped_variable() + */ +#ifndef _di_fake_print_warning_build_directory_not_directory_ + extern f_status_t fake_print_warning_build_directory_not_directory(fl_print_t * const print, f_string_static_t path); +#endif // _di_fake_print_warning_build_directory_not_directory_ + +/** + * Print warning message about path existing but is not a directory. * - * This does not alter setting.state.status. * @param print - * Designates the how and where to print. + * The output structure to print to. + * + * This requires print.custom to be fake_main_t. + * + * This does not alter print.custom.setting.state.status. * @param path * The name of the file or directory. * @@ -37,7 +61,7 @@ extern "C" { * @see fake_print_context_wrapped_variable() */ #ifndef _di_fake_print_warning_path_exists_not_directory_ - extern f_status_t fake_print_warning_path_exists_not_directory(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path); + extern f_status_t fake_print_warning_path_exists_not_directory(fl_print_t * const print, const f_string_static_t path); #endif // _di_fake_print_warning_path_exists_not_directory_ #ifdef __cplusplus diff --git a/level_3/fake/c/main/skeleton.c b/level_3/fake/c/main/skeleton.c index f02c450..95b446e 100644 --- a/level_3/fake/c/main/skeleton.c +++ b/level_3/fake/c/main/skeleton.c @@ -7,13 +7,13 @@ extern "C" { #ifndef _di_fake_skeleton_operate_ void fake_skeleton_operate(fake_data_t * const data) { - if (!data || !data->program || !data->setting) return; + if (!data || !data->main) return; - if (data->program->message.verbosity != f_console_verbosity_quiet_e && data->program->message.verbosity != f_console_verbosity_error_e) { - fake_print_generating_skeleton(data->setting, data->program->message); + if (data->main->program.message.verbosity != f_console_verbosity_quiet_e && data->main->program.message.verbosity != f_console_verbosity_error_e) { + fake_print_message_generating_skeleton(&data->main->program.message); - if (data->program->message.verbosity >= f_console_verbosity_verbose_e) { - fll_print_dynamic(f_string_eol_s, data->program->message.to); + if (data->main->program.message.verbosity >= f_console_verbosity_verbose_e) { + fll_print_dynamic(f_string_eol_s, data->main->program.message.to); } } @@ -50,19 +50,19 @@ extern "C" { const f_string_static_t path[] = { data->path_build, - data->setting->data, + data->main->setting.data, data->path_data_build, data->path_data_documentation, data->path_data_settings, data->path_documents, data->path_licenses, - data->setting->sources, + data->main->setting.sources, sources, sources_bash, sources_c, sources_cpp, sources_script, - data->setting->work, + data->main->setting.work, data->path_work_includes, data->path_work_libraries, data->path_work_libraries_script, @@ -79,149 +79,149 @@ extern "C" { fake_skeleton_operate_directory_create(data, path[i]); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error(&data->program->error, macro_fake_f(fake_skeleton_operate_directory_create)); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error(&data->main->program.error, macro_fake_f(fake_skeleton_operate_directory_create)); return; } } // for - if (data->program->message.verbosity >= f_console_verbosity_verbose_e) { - fll_print_dynamic(f_string_eol_s, data->program->message.to); + if (data->main->program.message.verbosity >= f_console_verbosity_verbose_e) { + fll_print_dynamic(f_string_eol_s, data->main->program.message.to); } } fake_skeleton_operate_file_create(data, data->file_data_build_defines, F_false, fake_make_skeleton_content_defines_s); - if (F_status_is_error(data->setting->state.status)) return; + if (F_status_is_error(data->main->setting.state.status)) return; fake_skeleton_operate_file_create(data, data->file_data_build_dependencies, F_false, fake_make_skeleton_content_dependencies_s); - if (F_status_is_error(data->setting->state.status)) return; + if (F_status_is_error(data->main->setting.state.status)) return; fake_skeleton_operate_file_create(data, data->file_data_build_process_post, F_true, fake_make_skeleton_content_process_post_s); - if (F_status_is_error(data->setting->state.status)) return; + if (F_status_is_error(data->main->setting.state.status)) return; fake_skeleton_operate_file_create(data, data->file_data_build_process_pre, F_true, fake_make_skeleton_content_process_pre_s); - if (F_status_is_error(data->setting->state.status)) return; + if (F_status_is_error(data->main->setting.state.status)) return; fake_skeleton_operate_file_create(data, data->file_data_build_settings, F_false, fake_make_skeleton_content_settings_s); - if (F_status_is_error(data->setting->state.status)) return; + if (F_status_is_error(data->main->setting.state.status)) return; fake_skeleton_operate_file_create(data, data->file_documents_readme, F_false, f_string_empty_s); - if (F_status_is_error(data->setting->state.status)) return; + if (F_status_is_error(data->main->setting.state.status)) return; fake_skeleton_operate_file_create(data, data->file_data_build_fakefile, F_false, fake_make_skeleton_content_fakefile_s); - if (F_status_is_error(data->setting->state.status)) return; + if (F_status_is_error(data->main->setting.state.status)) return; - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } #endif // _di_fake_skeleton_operate_ #ifndef _di_fake_skeleton_operate_directory_create_ void fake_skeleton_operate_directory_create(fake_data_t * const data, const f_string_static_t path) { - if (!data || !data->program || !data->setting || !path.used) return; + if (!data || !data->main || !path.used) return; - data->setting->state.status = f_directory_exists(path); + data->main->setting.state.status = f_directory_exists(path); - if (data->setting->state.status == F_true) { - fake_print_verbose_directory_exists(data->setting, data->program->message, path); + if (data->main->setting.state.status == F_true) { + fake_print_verbose_directory_exists(&data->main->program.message, path); - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; return; } - if (data->setting->state.status == F_false) { - fake_print_warning_path_exists_not_directory(data->setting, data->program->warning, path); + if (data->main->setting.state.status == F_false) { + fake_print_warning_path_exists_not_directory(&data->main->program.warning, path); - data->setting->state.status = F_status_set_warning(F_failure); + data->main->setting.state.status = F_status_set_warning(F_failure); return; } - if (data->setting->state.status == F_file_found_not) { - data->setting->state.status = f_directory_create(path, F_file_mode_all_rwx_d); + if (data->main->setting.state.status == F_file_found_not) { + data->main->setting.state.status = f_directory_create(path, F_file_mode_all_rwx_d); - if (F_status_is_error(data->setting->state.status)) { - if (F_status_set_fine(data->setting->state.status) == F_file_found_not) { - fake_print_error_directory_create_parent_missing(data->setting, data->program->error, path); + if (F_status_is_error(data->main->setting.state.status)) { + if (F_status_set_fine(data->main->setting.state.status) == F_file_found_not) { + fake_print_error_directory_create_parent_missing(&data->main->program.error, path); } else { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_directory_create), path, f_file_operation_create_s, fll_error_file_type_directory_e); + fake_print_error_file(&data->main->program.error, macro_fake_f(f_directory_create), path, f_file_operation_create_s, fll_error_file_type_directory_e); } return; } - fake_print_verbose_create_directory(data->setting, data->program->message, path); + fake_print_verbose_create_directory(&data->main->program.message, path); } - else if (F_status_is_error(data->setting->state.status)) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_directory_exists), path, f_file_operation_create_s, fll_error_file_type_directory_e); + else if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_directory_exists), path, f_file_operation_create_s, fll_error_file_type_directory_e); return; } - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } #endif // _di_fake_skeleton_operate_directory_create_ #ifndef _di_fake_skeleton_operate_file_create_ void fake_skeleton_operate_file_create(fake_data_t * const data, const f_string_static_t path, const bool executable, const f_string_static_t content) { - if (!data || !data->program || !data->setting || !path.used) return; + if (!data || !data->main || !path.used) return; - data->setting->state.status = f_file_is(path, F_file_type_regular_d, F_false); + data->main->setting.state.status = f_file_is(path, F_file_type_regular_d, F_false); - if (data->setting->state.status == F_true) { - fake_print_verbose_file_exists(data->setting, data->program->message, path); + if (data->main->setting.state.status == F_true) { + fake_print_verbose_file_exists(&data->main->program.message, path); - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; return; } // symbolic links might also be fine. - if (data->setting->state.status == F_false) { - data->setting->state.status = f_file_is(path, F_file_type_link_d, F_false); + if (data->main->setting.state.status == F_false) { + data->main->setting.state.status = f_file_is(path, F_file_type_link_d, F_false); - if (data->setting->state.status == F_true) { - fake_print_verbose_file_exists_as_link(data->setting, data->program->message, path); + if (data->main->setting.state.status == F_true) { + fake_print_verbose_file_exists_as_link(&data->main->program.message, path); - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; return; } } - if (data->setting->state.status == F_false) { - fake_print_verbose_file_exists_not_regular_or_link(data->setting, data->program->message, path); + if (data->main->setting.state.status == F_false) { + fake_print_verbose_file_exists_not_regular_or_link(&data->main->program.message, path); - data->setting->state.status = F_status_set_warning(F_none); + data->main->setting.state.status = F_status_set_warning(F_none); return; } - if (F_status_set_fine(data->setting->state.status) == F_file_found_not) { + if (F_status_set_fine(data->main->setting.state.status) == F_file_found_not) { mode_t mode = F_file_mode_all_rw_d; if (executable) { mode = F_file_mode_all_rwx_d; } - data->setting->state.status = f_file_create(path, mode, F_true); + data->main->setting.state.status = f_file_create(path, mode, F_true); - if (F_status_is_error(data->setting->state.status)) { - if (F_status_set_fine(data->setting->state.status) == F_file_found_not) { - fake_print_error_file_create_parent_missing(data->setting, data->program->error, path); + if (F_status_is_error(data->main->setting.state.status)) { + if (F_status_set_fine(data->main->setting.state.status) == F_file_found_not) { + fake_print_error_file_create_parent_missing(&data->main->program.error, path); } else { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_create), path, f_file_operation_create_s, fll_error_file_type_file_e); + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_create), path, f_file_operation_create_s, fll_error_file_type_file_e); } return; } - fake_print_verbose_create_file(data->setting, data->program->message, path); + fake_print_verbose_create_file(&data->main->program.message, path); if (content.used) { f_file_t file = f_file_t_initialize; @@ -229,18 +229,18 @@ extern "C" { file.flag = F_file_flag_append_wo_d; file.size_write = content.used; - data->setting->state.status = f_file_open(path, 0, &file); + data->main->setting.state.status = f_file_open(path, 0, &file); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_open), path, fake_common_file_populate_pre_s, fll_error_file_type_file_e); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_open), path, fake_common_file_populate_pre_s, fll_error_file_type_file_e); return; } - data->setting->state.status = f_file_write(file, content, 0); + data->main->setting.state.status = f_file_write(file, content, 0); - if (F_status_is_error(data->setting->state.status)) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_write), path, fake_common_file_populate_pre_s, fll_error_file_type_file_e); + if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_write), path, fake_common_file_populate_pre_s, fll_error_file_type_file_e); f_file_stream_flush(file); f_file_stream_close(&file); @@ -248,19 +248,19 @@ extern "C" { return; } - fake_print_verbose_file_pre_populated(data->setting, data->program->message, path); + fake_print_verbose_file_pre_populated(&data->main->program.message, path); f_file_stream_flush(file); f_file_stream_close(&file); } } - else if (F_status_is_error(data->setting->state.status)) { - fake_print_error_file(data->setting, data->program->error, macro_fake_f(f_file_is), path, f_file_operation_create_s, fll_error_file_type_file_e); + else if (F_status_is_error(data->main->setting.state.status)) { + fake_print_error_file(&data->main->program.error, macro_fake_f(f_file_is), path, f_file_operation_create_s, fll_error_file_type_file_e); return; } - data->setting->state.status = F_none; + data->main->setting.state.status = F_none; } #endif // _di_fake_skeleton_operate_file_create_ @@ -269,7 +269,7 @@ extern "C" { if (!data || !partial || !source) return; - source->used = data->setting->sources.used + partial->used; + source->used = data->main->setting.sources.used + partial->used; } #endif // _di_fake_skeleton_path_source_length_ @@ -280,8 +280,8 @@ extern "C" { source->used = 0; - memcpy(source->string, data->setting->sources.string, sizeof(f_char_t) * data->setting->sources.used); - source->used += data->setting->sources.used; + memcpy(source->string, data->main->setting.sources.string, sizeof(f_char_t) * data->main->setting.sources.used); + source->used += data->main->setting.sources.used; memcpy(source->string + source->used, partial->string, sizeof(f_char_t) * partial->used); source->used += partial->used; diff --git a/level_3/fake/c/main/skeleton.h b/level_3/fake/c/main/skeleton.h index 0ee3393..ae51481 100644 --- a/level_3/fake/c/main/skeleton.h +++ b/level_3/fake/c/main/skeleton.h @@ -22,7 +22,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * F_interrupt (with error bit) on interrupt signal received. @@ -43,7 +43,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * F_failure (with warning bit) on path exists but is not a directory. @@ -66,7 +66,7 @@ extern "C" { * @param data * The program data. * - * This alters data.setting.state.status: + * This alters data.main->setting.state.status: * F_none on success. * * F_none (with warning bit) on file exists but is not a regular or a link. @@ -98,7 +98,7 @@ extern "C" { * @param data * The program data. * - * This does not alter data.setting.state.status. + * This does not alter data.main->setting.state.status. * @param partial * The partial path string, such as "bash". * @param source @@ -117,7 +117,7 @@ extern "C" { * @param data * The program data. * - * This does not alter data.setting.state.status. + * This does not alter data.main->setting.state.status. * @param partial * The partial path string, such as "bash". * @param source diff --git a/level_3/fake/data/build/settings b/level_3/fake/data/build/settings index d1c755e..6512ba8 100644 --- a/level_3/fake/data/build/settings +++ b/level_3/fake/data/build/settings @@ -27,19 +27,19 @@ build_libraries-individual -lf_account -lf_capability -lf_color -lf_console -lf_ build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll -build_sources_library main/build.c main/clean.c main/common.c main/fake.c main/make.c main/print.c main/print/context.c main/print/error.c main/print/operation.c main/print/warning.c main/print/verbose.c main/skeleton.c -build_sources_library main/build/enumeration.c main/build/library.c main/build/load.c main/build/object.c main/build/objects.c main/build/print.c main/build/print/compile.c main/build/print/error.c main/build/print/verbose.c main/build/print/warning.c main/build/program.c main/build/skeleton.c main/build/string.c +build_sources_library main/build.c main/clean.c main/common.c main/fake.c main/make.c main/print/common.c main/print/context.c main/print/error.c main/print/message.c main/print/operation.c main/print/warning.c main/print/verbose.c main/skeleton.c +build_sources_library main/build/enumeration.c main/build/library.c main/build/load.c main/build/object.c main/build/objects.c main/build/print/compile.c main/build/print/error.c main/build/print/message.c main/build/print/verbose.c main/build/print/warning.c main/build/program.c main/build/skeleton.c main/build/string.c build_sources_library main/common/define.c main/common/enumeration.c main/common/print.c main/common/string.c main/common/type.c build_sources_library main/fake/path_generate.c -build_sources_library main/make/load_fakefile.c main/make/load_parameters.c main/make/operate_block.c main/make/operate.c main/make/operate_process.c main/make/operate_process_type.c main/make/operate_validate.c main/make/operate_validate_type.c main/make/print.c main/make/print/error.c main/make/print/verbose.c main/make/print/warning.c +build_sources_library main/make/load_fakefile.c main/make/load_parameters.c main/make/operate_block.c main/make/operate.c main/make/operate_process.c main/make/operate_process_type.c main/make/operate_validate.c main/make/operate_validate_type.c main/make/print/error.c main/make/print/message.c main/make/print/verbose.c main/make/print/warning.c build_sources_program main/main.c -build_sources_headers main/build.h main/clean.h main/common.h main/fake.h main/make.h main/print.h main/print/context.h main/print/error.h main/print/operation.h main/print/warning.h main/print/verbose.h main/skeleton.h -build_sources_headers main/build/enumeration.h main/build/library.h main/build/load.h main/build/object.h main/build/objects.h main/build/print.h main/build/print/compile.h main/build/print/error.h main/build/print/verbose.h main/build/print/warning.h main/build/program.h main/build/skeleton.h main/build/string.h +build_sources_headers main/build.h main/clean.h main/common.h main/fake.h main/make.h main/print/common.h main/print/context.h main/print/error.h main/print/message.h main/print/operation.h main/print/warning.h main/print/verbose.h main/skeleton.h +build_sources_headers main/build/enumeration.h main/build/library.h main/build/load.h main/build/object.h main/build/objects.h main/build/print/compile.h main/build/print/error.h main/build/print/message.h main/build/print/verbose.h main/build/print/warning.h main/build/program.h main/build/skeleton.h main/build/string.h build_sources_headers main/common/define.h main/common/enumeration.h main/common/print.h main/common/string.h main/common/type.h build_sources_headers main/fake/path_generate.h -build_sources_headers main/make/load_fakefile.h main/make/load_parameters.h main/make/operate_block.h main/make/operate.h main/make/operate_process.h main/make/operate_process_type.h main/make/operate_validate.h main/make/operate_validate_type.h main/make/print.h main/make/print/error.h main/make/print/verbose.h main/make/print/warning.h +build_sources_headers main/make/load_fakefile.h main/make/load_parameters.h main/make/operate_block.h main/make/operate.h main/make/operate_process.h main/make/operate_process_type.h main/make/operate_validate.h main/make/operate_validate_type.h main/make/print/error.h main/make/print/message.h main/make/print/verbose.h main/make/print/warning.h build_sources_documentation man -- 1.8.3.1