Update projects to have a print directory in a similar manner as a common directory.
The previously completed and working programs should now be working again.
The side-track changes that I set out to complete in regards to them is now complete.
There is a huge amount of work ahead in regards to Featureless Make.
Continue forward step by step.
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-error.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/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-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
+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/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.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/main.c
#include "fake.h"
-#include "build.h"
-#include "build/library.h"
-#include "build/load.h"
-#include "build/object.h"
-#include "build/objects.h"
-#include "build/print.h"
-#include "build/program.h"
-#include "build/skeleton.h"
-#include "print.h"
#ifdef __cplusplus
extern "C" {
#endif
-#ifndef _di_fake_build_s_
-const f_string_static_t fake_build_documentation_files_s = macro_f_string_static_t_initialize(FAKE_build_documentation_files_s, 0, FAKE_build_documentation_files_s_length);
- const f_string_static_t fake_build_header_files_s = macro_f_string_static_t_initialize(FAKE_build_header_files_s, 0, FAKE_build_header_files_s_length);
- const f_string_static_t fake_build_header_files_shared_s = macro_f_string_static_t_initialize(FAKE_build_header_files_shared_s, 0, FAKE_build_header_files_shared_s_length);
- const f_string_static_t fake_build_header_files_static_s = macro_f_string_static_t_initialize(FAKE_build_header_files_static_s, 0, FAKE_build_header_files_static_s_length);
- const f_string_static_t fake_build_scripts_s = macro_f_string_static_t_initialize(FAKE_build_scripts_s, 0, FAKE_build_scripts_s_length);
- const f_string_static_t fake_build_setting_files_s = macro_f_string_static_t_initialize(FAKE_build_setting_files_s, 0, FAKE_build_setting_files_s_length);
-#endif // _di_fake_build_s_
-
#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, f_status_t *status) {
+ 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 (F_status_is_error(*status)) return;
+ if (!data || !data_build || !arguments) return;
+ if (F_status_is_error(data->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;
if (!values[i].used) continue;
- *status = fll_execute_arguments_add(values[i], arguments);
- if (F_status_is_error(*status)) break;
+ data->setting.state.status = fll_execute_arguments_add(values[i], arguments);
+ if (F_status_is_error(data->setting.state.status)) return;
} // for
}
- if (data->setting->work.used && F_status_is_error_not(*status)) {
+ if (data->setting->work.used) {
f_string_static_t buffer = f_string_static_t_initialize;
- if (F_status_is_error_not(*status)) {
+ {
buffer.used = fake_build_parameter_library_include_s.used + data->path_work_includes.used;
f_char_t buffer_string[buffer.used + 1];
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);
- *status = fll_execute_arguments_add(buffer, arguments);
+ data->setting.state.status = fll_execute_arguments_add(buffer, arguments);
+ if (F_status_is_error(data->setting.state.status)) return;
}
- if (data_build->setting.search_shared && (is_shared || !data_build->setting.search_exclusive) && F_status_is_error_not(*status)) {
+ if (data_build->setting.search_shared && (is_shared || !data_build->setting.search_exclusive)) {
buffer.used = fake_build_parameter_library_link_path_s.used + data->path_work_libraries_shared.used;
f_char_t buffer_string[buffer.used + 1];
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);
- *status = fll_execute_arguments_add(buffer, arguments);
+ data->setting.state.status = fll_execute_arguments_add(buffer, arguments);
+ if (F_status_is_error(data->setting.state.status)) return;
}
- if (data_build->setting.search_static && (!is_shared || !data_build->setting.search_exclusive) && F_status_is_error_not(*status)) {
+ if (data_build->setting.search_static && (!is_shared || !data_build->setting.search_exclusive)) {
buffer.used = fake_build_parameter_library_link_path_s.used + data->path_work_libraries_static.used;
f_char_t buffer_string[buffer.used + 1];
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);
- *status = fll_execute_arguments_add(buffer, arguments);
- }
- }
-
- f_array_length_t i = 0;
-
- for (i = 0; i < data_build->setting.build_libraries.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.build_libraries.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.build_libraries.array[i], arguments);
- } // for
-
- if (is_shared) {
- for (i = 0; i < data_build->setting.build_libraries_shared.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.build_libraries_shared.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.build_libraries_shared.array[i], arguments);
- } // for
- }
- else {
- for (i = 0; i < data_build->setting.build_libraries_static.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.build_libraries_static.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.build_libraries_static.array[i], arguments);
- } // for
- }
-
- for (i = 0; i < data_build->setting.flags.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.flags.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.flags.array[i], arguments);
- } // for
-
- if (is_shared) {
- for (i = 0; i < data_build->setting.flags_shared.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.flags_shared.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.flags_shared.array[i], arguments);
- } // for
- }
- else {
- for (i = 0; i < data_build->setting.flags_static.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.flags_static.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.flags_static.array[i], arguments);
- } // for
- }
-
- if (type == fake_build_type_library_e) {
- for (i = 0; i < data_build->setting.flags_library.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.flags_library.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.flags_library.array[i], arguments);
- } // for
-
- if (is_shared) {
- for (i = 0; i < data_build->setting.flags_library_shared.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.flags_library_shared.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.flags_library_shared.array[i], arguments);
- } // for
- }
- else {
- for (i = 0; i < data_build->setting.flags_library_static.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.flags_library_static.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.flags_library_static.array[i], arguments);
- } // for
- }
- }
- else if (type == fake_build_type_object_e) {
- for (i = 0; i < data_build->setting.flags_object.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.flags_object.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.flags_object.array[i], arguments);
- } // for
-
- if (is_shared) {
- for (i = 0; i < data_build->setting.flags_object_shared.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.flags_object_shared.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.flags_object_shared.array[i], arguments);
- } // for
- }
- else {
- for (i = 0; i < data_build->setting.flags_object_static.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.flags_object_static.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.flags_object_static.array[i], arguments);
- } // for
- }
- }
- else {
- for (i = 0; i < data_build->setting.flags_program.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.flags_program.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.flags_program.array[i], arguments);
- } // for
-
- if (is_shared) {
- for (i = 0; i < data_build->setting.flags_program_shared.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.flags_program_shared.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.flags_program_shared.array[i], arguments);
- } // for
- }
- else {
- for (i = 0; i < data_build->setting.flags_program_static.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.flags_program_static.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.flags_program_static.array[i], arguments);
- } // for
+ data->setting.state.status = fll_execute_arguments_add(buffer, arguments);
+ if (F_status_is_error(data->setting.state.status)) return;
}
}
- for (i = 0; i < data_build->setting.defines.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.defines.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.defines.array[i], arguments);
- } // for
-
- if (is_shared) {
- for (i = 0; i < data_build->setting.defines_shared.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.defines_shared.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.defines_shared.array[i], arguments);
- } // for
- }
- else {
- for (i = 0; i < data_build->setting.defines_static.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.defines_static.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.defines_static.array[i], arguments);
- } // for
- }
-
- if (type == fake_build_type_library_e) {
- for (i = 0; i < data_build->setting.defines_library.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.defines_library.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.defines_library.array[i], arguments);
- } // for
+ {
+ f_string_statics_t * const strings[] = {
+ &data_build->setting.build_libraries,
+ (is_shared) ? &data_build->setting.build_libraries_shared : &data_build->setting.build_libraries_static,
+ &data_build->setting.flags,
+ (is_shared) ? &data_build->setting.flags_shared : &data_build->setting.flags_static,
+ (type == fake_build_type_library_e)
+ ? &data_build->setting.flags_library
+ : (type == fake_build_type_object_e)
+ ? &data_build->setting.flags_object
+ : &data_build->setting.flags_program,
+ (type == fake_build_type_library_e)
+ ? (is_shared)
+ ? &data_build->setting.flags_library_shared
+ : &data_build->setting.flags_library_static
+ : (type == fake_build_type_object_e)
+ ? (is_shared)
+ ? &data_build->setting.flags_object_shared
+ : &data_build->setting.flags_object_static
+ : (is_shared)
+ ? &data_build->setting.flags_program_shared
+ : &data_build->setting.flags_program_static,
+ &data_build->setting.defines,
+ (is_shared) ? &data_build->setting.defines_shared : &data_build->setting.defines_static,
+ &data_build->setting.defines_library,
+ (type == fake_build_type_library_e)
+ ? &data_build->setting.defines_library
+ : (type == fake_build_type_object_e)
+ ? &data_build->setting.defines_object
+ : &data_build->setting.defines_program,
+ (type == fake_build_type_library_e)
+ ? (is_shared)
+ ? &data_build->setting.defines_library_shared
+ : &data_build->setting.defines_library_static
+ : (type == fake_build_type_object_e)
+ ? (is_shared)
+ ? &data_build->setting.defines_object_shared
+ : &data_build->setting.defines_object_static
+ : (is_shared)
+ ? &data_build->setting.defines_program_shared
+ : &data_build->setting.defines_program_static,
+ &data->setting->defines,
+ };
- if (is_shared) {
- for (i = 0; i < data_build->setting.defines_library_shared.used && F_status_is_error_not(*status); ++i) {
+ f_array_length_t i = 0;
- if (!data_build->setting.defines_library_shared.array[i].used) continue;
+ for (uint8_t s = 0; s < 12; ++s) {
- *status = fll_execute_arguments_add(data_build->setting.defines_library_shared.array[i], arguments);
- } // for
- }
- else {
- for (i = 0; i < data_build->setting.defines_library_static.used && F_status_is_error_not(*status); ++i) {
+ for (i = 0; i < strings[s]->used; ++i) {
- if (!data_build->setting.defines_library_static.array[i].used) continue;
+ if (!strings[s]->array[i].used) continue;
- *status = fll_execute_arguments_add(data_build->setting.defines_library_static.array[i], arguments);
+ data->setting.state.status = fll_execute_arguments_add(strings[s]->array[i], arguments);
+ if (F_status_is_error(data->setting.state.status)) return;
} // for
- }
- }
- else if (type == fake_build_type_object_e) {
- for (i = 0; i < data_build->setting.defines_object.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.defines_object.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.defines_object.array[i], arguments);
} // for
-
- if (is_shared) {
- for (i = 0; i < data_build->setting.defines_object_shared.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.defines_object_shared.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.defines_object_shared.array[i], arguments);
- } // for
- }
- else {
- for (i = 0; i < data_build->setting.defines_object_static.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.defines_object_static.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.defines_object_static.array[i], arguments);
- } // for
- }
}
- else {
- for (i = 0; i < data_build->setting.defines_program.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.defines_program.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.defines_program.array[i], arguments);
- } // for
- if (is_shared) {
- for (i = 0; i < data_build->setting.defines_program_shared.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.defines_program_shared.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.defines_program_shared.array[i], arguments);
- } // for
- }
- else {
- for (i = 0; i < data_build->setting.defines_program_static.used && F_status_is_error_not(*status); ++i) {
-
- if (!data_build->setting.defines_program_static.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data_build->setting.defines_program_static.array[i], arguments);
- } // for
- }
- }
-
- for (i = 0; i < data->setting->defines.used && F_status_is_error_not(*status); ++i) {
-
- if (!data->setting->defines.array[i].used) continue;
-
- *status = fll_execute_arguments_add(data->setting->defines.array[i], arguments);
- } // for
+ data->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, f_status_t *status) {
+ 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 (F_status_is_error(*status) || f_file_exists(file_stage, F_true) == F_true || *status == F_child) return;
+ if (!data) return;
+ if (F_status_is_error(data->setting.state.status) || f_file_exists(file_stage, F_true) == F_true || data->setting.state.status == F_child) return;
- if (fll_program_standard_signal_received(data->main)) {
- fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
+ if (!((++data->main->signal_check) % fake_signal_check_d)) {
+ if (fll_program_standard_signal_received(data->main)) {
+ fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
- *status = F_status_set_error(F_interrupt);
+ data->setting.state.status = F_status_set_error(F_interrupt);
- return;
+ return;
+ }
}
f_directory_statuss_t failures = f_directory_statuss_t_initialize;
fll_print_format("%r%[Copying %Q.%]%r", data->main->message.to, f_string_eol_s, data->main->context.set.important, label, data->main->context.set.important, f_string_eol_s);
}
- *status = f_string_dynamic_resize(source.used, &path_source);
+ data->setting.state.status = f_string_dynamic_resize(source.used, &path_source);
- if (F_status_is_error(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(f_string_dynamic_resize));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, data->setting.state.status, macro_fake_f(f_string_dynamic_resize));
f_string_dynamic_resize(0, &path_source);
if (fll_program_standard_signal_received(data->main)) {
fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
- *status = F_status_set_error(F_interrupt);
+ data->setting.state.status = F_status_set_error(F_interrupt);
break;
}
path_source.used = source.used;
- *status = f_string_dynamic_append_nulless(files.array[i], &path_source);
+ data->setting.state.status = f_string_dynamic_append_nulless(files.array[i], &path_source);
- if (F_status_is_error(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(f_string_dynamic_append_nulless));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, data->setting.state.status, macro_fake_f(f_string_dynamic_append_nulless));
break;
}
- *status = f_directory_is(path_source);
+ data->setting.state.status = f_directory_is(path_source);
- if (*status == F_true) {
+ if (data->setting.state.status == F_true) {
destination_directory.used = 0;
- *status = f_string_dynamic_append_nulless(destination, &destination_directory);
+ data->setting.state.status = f_string_dynamic_append_nulless(destination, &destination_directory);
- if (F_status_is_error(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(f_string_dynamic_append_nulless));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, data->setting.state.status, macro_fake_f(f_string_dynamic_append_nulless));
break;
}
- *status = f_file_name_base(path_source, &destination_directory);
+ data->setting.state.status = f_file_name_base(path_source, &destination_directory);
- if (F_status_is_error(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(f_file_name_base));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, data->setting.state.status, macro_fake_f(f_file_name_base));
break;
}
- *status = fl_directory_copy(path_source, destination_directory, mode, recurse);
+ data->setting.state.status = fl_directory_copy(path_source, destination_directory, mode, recurse);
- if (F_status_is_error(*status)) {
+ if (F_status_is_error(data->setting.state.status)) {
if (data->main->error.verbosity >= f_console_verbosity_verbose_e) {
for (f_array_length_t j = 0; j < failures.used; ++j) {
- fake_print_error_build_operation_file(data->setting, data->main->error, *status, 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->setting, data->main->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(*status) != F_failure) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(fl_directory_copy));
+ if (F_status_set_fine(data->setting.state.status) != F_failure) {
+ fake_print_error(data->setting, data->main->error, data->setting.state.status, macro_fake_f(fl_directory_copy));
}
}
else if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
- fake_print_error_build_operation_file(data->setting, data->main->error, *status, 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->setting, data->main->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 (*status == F_false) {
+ else if (data->setting.state.status == F_false) {
destination_file.used = 0;
destination_directory.used = 0;
- *status = f_string_dynamic_append_nulless(destination, &destination_file);
+ data->setting.state.status = f_string_dynamic_append_nulless(destination, &destination_file);
- if (F_status_is_error(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(f_string_dynamic_append_nulless));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, data->setting.state.status, macro_fake_f(f_string_dynamic_append_nulless));
break;
}
if (perserve_offset && perserve_offset < path_source.used) {
- *status = f_string_dynamic_append_nulless(destination, &destination_directory);
+ data->setting.state.status = f_string_dynamic_append_nulless(destination, &destination_directory);
- if (F_status_is_error(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(f_string_dynamic_append_nulless));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, data->setting.state.status, macro_fake_f(f_string_dynamic_append_nulless));
break;
}
buffer.string = path_source.string + perserve_offset;
buffer.used = path_source.used - perserve_offset;
- *status = f_file_name_directory(buffer, &destination_directory);
+ data->setting.state.status = f_file_name_directory(buffer, &destination_directory);
- if (F_status_is_error(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(f_file_name_directory));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, data->setting.state.status, macro_fake_f(f_file_name_directory));
break;
}
- *status = fl_directory_create(destination_directory, F_file_mode_all_rwx_d);
+ data->setting.state.status = fl_directory_create(destination_directory, F_file_mode_all_rwx_d);
- if (F_status_is_error(*status)) {
- fake_print_error_file(data->setting, data->main->error, *status, 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->setting.state.status)) {
+ fake_print_error_file(data->setting, data->main->error, data->setting.state.status, macro_fake_f(fl_directory_create), destination_directory, f_file_operation_create_s, fll_error_file_type_directory_e);
break;
}
- *status = f_string_append(path_source.string + perserve_offset, path_source.used - perserve_offset, &destination_file);
+ data->setting.state.status = f_string_append(path_source.string + perserve_offset, path_source.used - perserve_offset, &destination_file);
- if (F_status_is_error(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(f_string_append));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, data->setting.state.status, macro_fake_f(f_string_append));
break;
}
}
else {
- *status = f_file_name_base(path_source, &destination_file);
+ data->setting.state.status = f_file_name_base(path_source, &destination_file);
- if (F_status_is_error(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(f_file_name_base));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, data->setting.state.status, macro_fake_f(f_file_name_base));
break;
}
}
- *status = f_file_copy(path_source, destination_file, mode, F_file_default_read_size_d, f_file_stat_flag_reference_e);
+ data->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(*status)) {
- fake_print_error_build_operation_file(data->setting, data->main->error, *status, 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->setting.state.status)) {
+ fake_print_error_build_operation_file(data->setting, data->main->error, data->setting.state.status, macro_fake_f(f_file_copy), f_file_operation_copy_s, f_file_operation_to_s, path_source, destination_file, F_true);
break;
}
fll_print_format("Copied file '%Q' to '%Q'.%r", data->main->message.to, path_source, destination_file, f_string_eol_s);
}
}
- else if (F_status_is_error(*status)) {
- fake_print_error_file(data->setting, data->main->error, *status, 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->setting.state.status)) {
+ fake_print_error_file(data->setting, data->main->error, data->setting.state.status, macro_fake_f(f_directory_is), path_source, f_file_operation_create_s, fll_error_file_type_file_e);
break;
}
- *status = F_none;
+ data->setting.state.status = F_none;
} // for
macro_f_directory_statuss_t_delete_simple(failures);
f_string_dynamic_resize(0, &destination_file);
f_string_dynamic_resize(0, &destination_directory);
- if (F_status_is_error_not(*status)) {
- fake_build_touch(data, file_stage, status);
- }
+ fake_build_touch(data, file_stage);
}
#endif // _di_fake_build_copy_
#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, f_status_t *status) {
+ 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 (F_status_is_error(*status) || f_file_exists(file_stage, F_true) == F_true || *status == F_child) return data->main->child;
+ if (!data) return;
+ if (F_status_is_error(data->setting.state.status) || f_file_exists(file_stage, F_true) == F_true || data->setting.state.status == F_child) return data->main->child;
if (!process_script.used) return 0;
f_string_dynamics_t arguments = f_string_dynamics_t_initialize;
- *status = fll_execute_arguments_add(fake_other_operation_build_s, &arguments);
+ data->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(*status) && data->main->context.mode != f_color_mode_none_e) {
+ if (F_status_is_error_not(data->setting.state.status) && data->main->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;
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);
}
- *status = fll_execute_arguments_add(argument, &arguments);
+ data->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(*status) && data->main->error.verbosity != f_console_verbosity_normal_e) {
+ if (F_status_is_error_not(data->setting.state.status) && data->main->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;
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);
}
- *status = fll_execute_arguments_add(argument, &arguments);
+ data->setting.state.status = fll_execute_arguments_add(argument, &arguments);
}
- if (F_status_is_error(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(fll_execute_arguments_add));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, macro_fake_f(fll_execute_arguments_add));
f_string_dynamics_resize(0, &arguments);
if (data->setting->defines.used) {
for (f_array_length_t i = 0; i < data->setting->defines.used; ++i) {
- *status = f_string_dynamic_mash(f_string_space_s, data->setting->defines.array[i], &defines);
- if (F_status_is_error(*status)) break;
+ 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;
} // for
- if (F_status_is_error(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(f_string_dynamic_mash));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, macro_fake_f(f_string_dynamic_mash));
f_string_dynamic_resize(0, &defines);
f_string_dynamics_resize(0, &arguments);
data->setting->work,
};
- *status = fll_execute_arguments_add_parameter_set(prefixs, names, values, 9, &arguments);
+ data->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(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(fll_execute_arguments_add_parameter_set));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, macro_fake_f(fll_execute_arguments_add_parameter_set));
f_string_dynamics_resize(0, &arguments);
f_string_dynamic_t path = f_string_dynamic_t_initialize;
if (process_script.string[0] != '/') {
- *status = f_string_dynamic_append_nulless(data->path_data_build, &path);
+ data->setting.state.status = f_string_dynamic_append_nulless(data->path_data_build, &path);
}
- if (F_status_is_error_not(*status)) {
- *status = f_string_dynamic_append_nulless(process_script, &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(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(f_string_dynamic_append_nulless));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, data->setting.state.status, macro_fake_f(f_string_dynamic_append_nulless));
f_string_dynamic_resize(0, &path);
f_string_dynamics_resize(0, &arguments);
fl_execute_parameter_t parameter = macro_fl_execute_parameter_t_initialize(FL_execute_parameter_option_path_d, 0, &data_build->environment, &signals, 0);
- *status = fll_execute_program(path, arguments, ¶meter, 0, (void *) &return_code);
+ data->setting.state.status = fll_execute_program(path, arguments, ¶meter, 0, (void *) &return_code);
f_string_dynamics_resize(0, &arguments);
- if (fll_program_standard_signal_received(data->main)) {
+ if (!((++data->main->signal_check) % fake_signal_check_d) && fll_program_standard_signal_received(data->main)) {
fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
- *status = F_status_set_error(F_interrupt);
+ data->setting.state.status = F_status_set_error(F_interrupt);
}
- else if (*status != F_child) {
- if (F_status_is_error(*status)) {
- if (F_status_set_fine(*status) == F_failure) {
+ 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->main->error, path);
}
else {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(fll_execute_program));
+ fake_print_error(data->setting, data->main->error, macro_fake_f(fll_execute_program));
}
}
else {
- fake_build_touch(data, file_stage, status);
+ fake_build_touch(data, file_stage);
}
}
#endif // _di_fake_build_execute_process_script_
#ifndef _di_fake_build_get_file_name_without_extension_
- f_status_t fake_build_get_file_name_without_extension(fake_data_t * const data, const f_string_static_t path, f_string_dynamic_t *name) {
+ 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) return;
name->used = 0;
+ data->setting.state.status = F_none;
- if (!path.used) return F_none;
+ if (!path.used) return;
- f_status_t status = f_file_name_base(path, name);
+ data->setting.state.status = f_file_name_base(path, name);
- if (F_status_is_error(status)) {
- fake_print_error(data->setting, data->main->error, status, macro_fake_f(f_file_name_base));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, macro_fake_f(f_file_name_base));
- return status;
+ return;
}
for (f_array_length_t i = name->used; i > 0; --i) {
}
} // for
- return F_none;
+ data->setting.state.status = F_none;
}
#endif // _di_fake_build_get_file_name_without_extension_
#ifndef _di_fake_build_objects_add_
- f_status_t 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) {
+ 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_build || !path || !generic || !specific || !arguments) return;
- f_status_t status = F_none;
f_array_length_t i = 0;
f_array_length_t j = 0;
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);
- status = fll_execute_arguments_add(source, arguments);
- if (F_status_is_error(status)) return status;
+ data->setting.state.status = fll_execute_arguments_add(source, arguments);
+ if (F_status_is_error(data->setting.state.status)) return;
} // for
} // for
- return F_none;
+ data->setting.state.status = F_none;
}
#endif // _di_fake_build_objects_add_
#ifndef _di_fake_build_operate_
- f_status_t fake_build_operate(fake_data_t * const data, const f_string_statics_t * const build_arguments, const bool process_pipe) {
+ void fake_build_operate(fake_data_t * const data, const f_string_statics_t * const build_arguments, const bool process_pipe) {
- if (fll_program_standard_signal_received(data->main)) {
- fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
+ if (!data) return;
+
+ if (!((++data->main->signal_check) % fake_signal_check_d)) {
+ if (fll_program_standard_signal_received(data->main)) {
+ fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
- return F_status_set_error(F_interrupt);
+ data->setting.state.status = F_status_set_error(F_interrupt);
+
+ return;
+ }
}
- f_status_t status = F_none;
+ data->setting.state.status = F_none;
+
f_mode_t mode = f_mode_t_initialize;
fake_build_data_t data_build = fake_build_data_t_initialize;
macro_f_mode_t_set_default_umask(mode, data->main->umask);
- fake_build_load_setting(data, build_arguments, process_pipe, &data_build.setting, &status);
+ fake_build_load_setting(data, build_arguments, process_pipe, &data_build.setting);
- if (F_status_is_fine(status)) {
+ if (F_status_is_fine(data->setting.state.status)) {
if (data->main->message.verbosity != f_console_verbosity_quiet_e && data->main->message.verbosity != f_console_verbosity_error_e) {
f_file_stream_lock(data->main->message.to);
- fake_print_line_first_unlocked(data->setting, data->main->message);
-
fl_print_format("%[Building%] ", data->main->message.to, data->main->context.set.important, data->main->context.set.important);
fl_print_format("%[%Q%]", data->main->message.to, data->main->context.set.notable, data_build.setting.build_name, data->main->context.set.notable);
fl_print_format("%[ using '%]", data->main->message.to, data->main->context.set.important, data->main->context.set.important);
}
}
- fake_build_load_stage(data, build_arguments && build_arguments->array[0].used ? build_arguments->array[0] : f_string_empty_s, &stage, &status);
+ fake_build_load_stage(data, build_arguments && build_arguments->array[0].used ? build_arguments->array[0] : f_string_empty_s, &stage);
- fake_build_load_environment(data, &data_build, &data_build.environment, &status);
+ fake_build_load_environment(data, &data_build, &data_build.environment);
- fake_build_skeleton(data, &data_build, mode.directory, stage.file_skeleton, &status);
+ fake_build_skeleton(data, &data_build, mode.directory, stage.file_skeleton);
- data->main->child = fake_build_execute_process_script(data, &data_build, data_build.setting.process_pre, stage.file_process_pre, &status);
+ data->main->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, &status);
+ 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);
- fake_build_copy(data, mode, fake_build_setting_files_s, data->path_data_settings, data->path_build_settings, data_build.setting.build_sources_setting, stage.file_sources_settings, 0, &status);
+ fake_build_copy(data, mode, fake_build_setting_files_s, data->path_data_settings, data->path_build_settings, data_build.setting.build_sources_setting, stage.file_sources_settings, 0);
if (data_build.setting.build_language == fake_build_language_bash_e) {
- fake_build_object_script(data, &data_build, mode, stage.file_object_script, &status);
+ fake_build_object_script(data, &data_build, mode, stage.file_object_script);
- fake_build_library_script(data, &data_build, mode, stage.file_library_script, &status);
+ fake_build_library_script(data, &data_build, mode, stage.file_library_script);
- fake_build_program_script(data, &data_build, mode, stage.file_program_script, &status);
+ fake_build_program_script(data, &data_build, mode, stage.file_program_script);
if (data_build.setting.build_script) {
f_string_static_t source = f_string_static_t_initialize;
source.used += fake_path_part_script_s.used;
source.string[source.used] = 0;
- fake_build_copy(data, mode, fake_build_scripts_s, source, data->path_build_programs_script, data_build.setting.build_sources_script, stage.file_sources_script, 0, &status);
+ fake_build_copy(data, mode, fake_build_scripts_s, source, data->path_build_programs_script, data_build.setting.build_sources_script, stage.file_sources_script, 0);
}
}
else {
path_headers_string[path_headers.used] = 0;
- fake_build_copy(data, mode, fake_build_header_files_s, source, path_headers, data_build.setting.build_sources_headers, stage.file_sources_headers, data_build.setting.preserve_path_headers ? source.used : 0, &status);
+ fake_build_copy(data, mode, fake_build_header_files_s, source, path_headers, data_build.setting.build_sources_headers, stage.file_sources_headers, data_build.setting.preserve_path_headers ? source.used : 0);
if (data_build.setting.build_shared) {
- fake_build_copy(data, mode, fake_build_header_files_shared_s, source, path_headers, data_build.setting.build_sources_headers_shared, stage.file_sources_headers, data_build.setting.preserve_path_headers ? source.used : 0, &status);
+ fake_build_copy(data, mode, fake_build_header_files_shared_s, source, path_headers, data_build.setting.build_sources_headers_shared, stage.file_sources_headers, data_build.setting.preserve_path_headers ? source.used : 0);
}
if (data_build.setting.build_static) {
- fake_build_copy(data, mode, fake_build_header_files_static_s, source, path_headers, data_build.setting.build_sources_headers_static, stage.file_sources_headers, data_build.setting.preserve_path_headers ? source.used : 0, &status);
+ fake_build_copy(data, mode, fake_build_header_files_static_s, source, path_headers, data_build.setting.build_sources_headers_static, stage.file_sources_headers, data_build.setting.preserve_path_headers ? source.used : 0);
}
}
if (data_build.setting.build_shared) {
- data->main->child = fake_build_object_shared(data, &data_build, mode, stage.file_object_shared, &status);
+ data->main->child = fake_build_object_shared(data, &data_build, mode, stage.file_object_shared);
- data->main->child = fake_build_library_shared(data, &data_build, mode, stage.file_library_shared, &status);
+ data->main->child = fake_build_library_shared(data, &data_build, mode, stage.file_library_shared);
- data->main->child = fake_build_program_shared(data, &data_build, mode, stage.file_program_shared, &status);
+ data->main->child = fake_build_program_shared(data, &data_build, mode, stage.file_program_shared);
}
if (data_build.setting.build_static) {
- data->main->child = fake_build_object_static(data, &data_build, mode, stage.file_object_static, &status);
+ data->main->child = fake_build_object_static(data, &data_build, mode, stage.file_object_static);
- data->main->child = fake_build_objects_static(data, &data_build, mode, stage.file_objects_static, &status);
+ data->main->child = fake_build_objects_static(data, &data_build, mode, stage.file_objects_static);
- data->main->child = fake_build_library_static(data, &data_build, mode, stage.file_library_static, &status);
+ data->main->child = fake_build_library_static(data, &data_build, mode, stage.file_library_static);
- data->main->child = fake_build_program_static(data, &data_build, mode, stage.file_program_static, &status);
+ data->main->child = fake_build_program_static(data, &data_build, mode, stage.file_program_static);
}
if (data_build.setting.build_script) {
source.used += fake_path_part_script_s.used;
source.string[source.used] = 0;
- fake_build_copy(data, mode, fake_build_scripts_s, source, data->path_build_programs_script, data_build.setting.build_sources_script, stage.file_sources_script, 0, &status);
+ fake_build_copy(data, mode, fake_build_scripts_s, source, data->path_build_programs_script, data_build.setting.build_sources_script, stage.file_sources_script, 0);
}
}
- fake_build_execute_process_script(data, &data_build, data_build.setting.process_post, stage.file_process_post, &status);
+ fake_build_execute_process_script(data, &data_build, data_build.setting.process_post, stage.file_process_post);
macro_fake_build_main_delete_simple(data_build);
macro_fake_build_stage_t_delete_simple(stage);
-
- return status;
}
#endif // _di_fake_build_operate_
#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, f_status_t *status) {
+ void fake_build_touch(fake_data_t * const data, const f_string_dynamic_t file) {
- if (F_status_is_error(*status)) return;
+ if (!data) return;
+ if (F_status_is_error(data->setting.state.status)) return;
- if (fll_program_standard_signal_received(data->main)) {
- fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
+ if (!((++data->main->signal_check) % fake_signal_check_d)) {
+ if (fll_program_standard_signal_received(data->main)) {
+ fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
- *status = F_status_set_error(F_interrupt);
+ data->setting.state.status = F_status_set_error(F_interrupt);
- return;
+ return;
+ }
}
f_mode_t mode = f_mode_t_initialize;
macro_f_mode_t_set_default_umask(mode, data->main->umask);
- *status = f_file_touch(file, mode.regular, F_false);
+ data->setting.state.status = f_file_touch(file, mode.regular, F_false);
- if (F_status_is_error(*status)) {
- fake_print_error_file(data->setting, data->main->error, *status, macro_fake_f(f_file_touch), file, f_file_operation_touch_s, fll_error_file_type_file_e);
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error_file(data->setting, data->main->error, macro_fake_f(f_file_touch), file, f_file_operation_touch_s, fll_error_file_type_file_e);
}
}
#endif // _di_fake_build_touch_
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_build_h
-#define _PRIVATE_build_h
+#ifndef _fake_build_h
+#define _fake_build_h
#ifdef __cplusplus
extern "C" {
#endif
-#ifndef _di_fake_build_s_
- #define FAKE_build_documentation_files_s "documentation files"
- #define FAKE_build_header_files_s "header files"
- #define FAKE_build_header_files_shared_s "shared header files"
- #define FAKE_build_header_files_static_s "static header files"
- #define FAKE_build_scripts_s "scripts"
- #define FAKE_build_setting_files_s "setting files"
-
- #define FAKE_build_documentation_files_s_length 19
- #define FAKE_build_header_files_s_length 12
- #define FAKE_build_header_files_shared_s_length 19
- #define FAKE_build_header_files_static_s_length 19
- #define FAKE_build_scripts_s_length 7
- #define FAKE_build_setting_files_s_length 13
-
- extern const f_string_static_t fake_build_documentation_files_s;
- extern const f_string_static_t fake_build_header_files_s;
- extern const f_string_static_t fake_build_header_files_shared_s;
- extern const f_string_static_t fake_build_header_files_static_s;
- extern const f_string_static_t fake_build_scripts_s;
- extern const f_string_static_t fake_build_setting_files_s;
-#endif // _di_fake_build_s_
-
-/**
- * Build Types.
- *
- * fake_build_type_*:
- * - library: A library build type.
- * - object: An object build type.
- * - program: A program build type.
- */
-#ifndef _di_fake_build_type_e_
- enum {
- fake_build_type_library_e = 1,
- fake_build_type_object_e,
- fake_build_type_program_e,
- };
-#endif // _di_fake_build_type_e_
-
/**
* Add the standard arguments for building a library/program.
*
* @param data
* The program data.
+ *
+ * This alters data.setting.state.status:
+ * F_none on success.
+ *
+ * Errors (with error bit) from: fll_execute_arguments_add()
* @param data_build
* The build data.
* @param is_shared
* A build type from the fake_build_type_* enumeration.
* @param arguments
* The arguments array to append to.
- * @param status
- * The return status.
*
* @see fll_execute_arguments_add()
*/
#ifndef _di_fake_build_arguments_standard_add_
- extern 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, f_status_t *status);
+ extern 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);
#endif // _di_fake_build_arguments_standard_add_
/**
*
* @param data
* The program data.
+ *
+ * This alters data.setting.state.status:
+ * F_none on success.
+ *
+ * F_interrupt (with error bit) on interrupt signal received.
+ *
+ * Errors (with error bit) from: f_directory_is()
+ * Errors (with error bit) from: f_file_copy()
+ * Errors (with error bit) from: f_file_name_base()
+ * Errors (with error bit) from: f_file_name_directory()
+ * Errors (with error bit) from: f_string_append()
+ * Errors (with error bit) from: f_string_dynamic_append_nulless()
+ * Errors (with error bit) from: f_string_dynamic_resize()
+ * Errors (with error bit) from: fl_directory_create()
+ * Errors (with error bit) from: fl_directory_copy()
* @param mode
* The modes for each file type.
* @param label
*
* Example: 'sources/c/level_0/fss.h' with a preseve of 10, would result in the path of 'level_0/fss.h' being preserved.
* Whereas a perserve_offset of 0 would result in a path of 'fss.h' being used (the 'level_0/' directory is not preserved).
- * @param status
- * The return status.
*
- * @return
- * F_none on success.
- *
- * Status codes (with error bit) are returned on any problem.
+ * @see f_directory_is()
+ * @see f_file_copy()
+ * @see f_file_name_base()
+ * @see f_file_name_directory()
+ * @see f_string_append()
+ * @see f_string_dynamic_append_nulless()
+ * @see f_string_dynamic_resize()
+ * @see fl_directory_create()
+ * @see fl_directory_copy()
+ * @see fll_program_print_signal_received()
*/
#ifndef _di_fake_build_copy_
- extern 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, f_status_t *status);
+ extern 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);
#endif // _di_fake_build_copy_
/**
*
* @param data
* The program data.
+ *
+ * This alters data.setting.state.status:
+ * F_none on success.
+ *
+ * Errors (with error bit) from: f_string_dynamic_append_nulless()
+ * Errors (with error bit) from: f_string_dynamic_mash()
+ * Errors (with error bit) from: fll_execute_arguments_add()
+ * Errors (with error bit) from: fll_execute_arguments_add_parameter_set()
+ * Errors (with error bit) from: fll_execute_program()
+ * Errors (with error bit) from: fake_build_touch()
* @param data_build
* The build data.
* @param process_script
* This is expected to be either setting.process_pre or setting.process_post.
* @param file_stage
* The specific stage file path.
- * @param status
- * F_none on success.
- *
- * Status codes (with error bit) are returned on any problem.
*
* @return
* The return code of the execution process.
* This generally is only needed when F_child is returned, where this holds the return status of the child process.
+ *
+ * @see f_string_dynamic_append_nulless()
+ * @see f_string_dynamic_mash()
+ * @see fll_execute_arguments_add()
+ * @see fll_execute_arguments_add_parameter_set()
+ * @see fll_execute_program()
+ * @see fake_build_touch()
*/
#ifndef _di_fake_build_execute_process_script_
- extern 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, f_status_t *status);
+ extern 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);
#endif // _di_fake_build_execute_process_script_
/**
*
* @param data
* The program data.
+ *
+ * This alters data.setting.state.status:
+ * F_none on success.
+ *
+ * Errors (with error bit) from: f_file_name_base()
* @param path
* The file path to get the file name from.
* @param name
* The processed filename.
*
- * @return
- * F_none on success.
- *
- * Status codes (with error bit) are returned on any problem.
+ * @see f_file_name_base()
*/
#ifndef _di_fake_build_get_file_name_without_extension_
- extern f_status_t fake_build_get_file_name_without_extension(fake_data_t * const data, const f_string_static_t path, f_string_dynamic_t *name);
+ extern void fake_build_get_file_name_without_extension(fake_data_t * const data, const f_string_static_t path, f_string_dynamic_t *name);
#endif // _di_fake_build_get_file_name_without_extension_
/**
*
* @param data
* The program data.
+ *
+ * This alters data.setting.state.status:
+ * F_none on success.
+ *
+ * Errors (with error bit) from: fll_execute_arguments_add()
* @param data_build
* The build data.
* @param path
* @param arguments
* The execute arguments array being updated.
*
- * @return
- * F_none on success.
- *
- * Status codes (with error bit) are returned on any problem.
+ * @see fll_execute_arguments_add()
*/
#ifndef _di_fake_build_objects_add_
extern f_status_t 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);
*
* @param data
* The program data.
+ *
+ * This alters data.setting.state.status:
+ * F_none on success.
+ *
+ * F_interrupt (with error bit) on interrupt signal received.
+ *
+ * Errors (with error bit) from: fll_program_print_signal_received()
+ * Errors (with error bit) from: fake_build_copy()
+ * Errors (with error bit) from: fake_build_execute_process_script()
+ * Errors (with error bit) from: fake_build_library_script()
+ * Errors (with error bit) from: fake_build_library_shared()
+ * Errors (with error bit) from: fake_build_library_static()
+ * Errors (with error bit) from: fake_build_load_environment()
+ * Errors (with error bit) from: fake_build_load_setting()
+ * Errors (with error bit) from: fake_build_load_stage()
+ * Errors (with error bit) from: fake_build_object_script()
+ * Errors (with error bit) from: fake_build_object_shared()
+ * Errors (with error bit) from: fake_build_object_static()
+ * Errors (with error bit) from: fake_build_objects_static()
+ * Errors (with error bit) from: fake_build_program_script()
+ * Errors (with error bit) from: fake_build_program_shared()
+ * Errors (with error bit) from: fake_build_program_static()
+ * Errors (with error bit) from: fake_build_skeleton()
* @param setting_file
* The name of the settings file to use.
* If setting_file.used is 0, then the default or program parameter supplied file is used.
* If TRUE, then use the program input pipe.
* If FALSE, then ignore the program input pipe.
*
- * @return
- * F_none on success.
- *
- * Status codes (with error bit) are returned on any problem.
+ * @see fll_program_print_signal_received()
+ * @see fake_build_copy()
+ * @see fake_build_execute_process_script()
+ * @see fake_build_library_script()
+ * @see fake_build_library_shared()
+ * @see fake_build_library_static()
+ * @see fake_build_load_environment()
+ * @see fake_build_load_setting()
+ * @see fake_build_load_stage()
+ * @see fake_build_object_script()
+ * @see fake_build_object_shared()
+ * @see fake_build_object_static()
+ * @see fake_build_objects_static()
+ * @see fake_build_program_script()
+ * @see fake_build_program_shared()
+ * @see fake_build_program_static()
+ * @see fake_build_skeleton()
*/
#ifndef _di_fake_build_operate_
- extern f_status_t fake_build_operate(fake_data_t * const data, const f_string_statics_t * const build_arguments, const bool process_pipe);
+ extern void fake_build_operate(fake_data_t * const data, const f_string_statics_t * const build_arguments, const bool process_pipe);
#endif // _di_fake_build_operate_
/**
} // extern "C"
#endif
-#endif // _PRIVATE_build_h
+#endif // _fake_build_h
-#include "iki_read.h"
+#include "../fake.h"
#ifdef __cplusplus
extern "C" {
--- /dev/null
+/**
+ * FLL - Level 3
+ *
+ * Project: Featureless Make
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ *
+ * Provides build enumeration functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
+ */
+#ifndef _fake_build_enumeration_h
+#define _fake_build_enumeration_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * The build language enumerations.
+ *
+ * fake_build_language_*_e:
+ * - bash: The GNU Bash language.
+ * - c: The C language.
+ * - cpp: The C++ language.
+ * - zsh: The ZSH language (Similar to and somewhat compatible with GNU Bash).
+ */
+#ifndef _di_fake_build_language_e_
+ enum {
+ fake_build_language_none_e = 0,
+ fake_build_language_bash_e,
+ fake_build_language_c_e,
+ fake_build_language_cpp_e,
+ fake_build_language_zsh_e,
+ }; // enum
+#endif // _di_fake_build_language_e_
+
+/**
+ * Build settings flag enumeration.
+ *
+ * data_build_setting_flag_*:
+ * - none: No flag set.
+ * - has_environment: Designate that the "environment" is specified in the "settings" Section of the Fakefile.
+ */
+#ifndef _di_fake_build_setting_flag_e_
+ enum {
+ data_build_setting_flag_none_e = 0x0,
+ data_build_setting_flag_has_environment_e = 0x1,
+ }; // enum
+#endif // _di_fake_build_setting_flag_e_
+
+/**
+ * The program version enumerations.
+ *
+ * fake_build_version_*_e:
+ * - none: No version number.
+ * - major: The major version number.
+ * - minor: The minor version number.
+ * - micro: The micro version number (sometimes called the patch version number).
+ * - nano: The nano version number.
+ */
+#ifndef _di_fake_build_version_e_
+ enum {
+ fake_build_version_none_e = 0,
+ fake_build_version_major_e,
+ fake_build_version_minor_e,
+ fake_build_version_micro_e,
+ fake_build_version_nano_e,
+ }; // enum
+#endif // _di_fake_build_version_e_
+
+/**
+ * Build Types.
+ *
+ * fake_build_type_*:
+ * - library: A library build type.
+ * - object: An object build type.
+ * - program: A program build type.
+ */
+#ifndef _di_fake_build_type_e_
+ enum {
+ fake_build_type_library_e = 1,
+ fake_build_type_object_e,
+ fake_build_type_program_e,
+ }; // enum
+#endif // _di_fake_build_type_e_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _fake_build_enumeration_h
#include "../fake.h"
-#include "../build.h"
-#include "print.h"
#ifdef __cplusplus
extern "C" {
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_build_library_h
-#define _PRIVATE_build_library_h
+#ifndef _fake_build_library_h
+#define _fake_build_library_h
#ifdef __cplusplus
extern "C" {
} // extern "C"
#endif
-#endif // _PRIVATE_build_library_h
+#endif // _fake_build_library_h
#include "../fake.h"
-#include "../print.h"
-#include "load.h"
-#include "print-error.h"
-#include "print-warning.h"
#ifdef __cplusplus
extern "C" {
#endif
#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, f_status_t * const status) {
+ void fake_build_load_environment(fake_data_t * const data, fake_build_data_t * const data_build, f_string_maps_t * const environment) {
- if (F_status_is_error(*status)) return;
+ if (!data || !data_build || !environment) return;
+ if (F_status_is_error(data->setting.state.status)) return;
// Reset the environment.
for (f_array_length_t i = 0; i < environment->used; ++i) {
for (uint8_t i = 0; i < 2; ++i) {
- *status = fl_environment_load_name(variables[i], environment);
+ data->setting.state.status = fl_environment_load_name(variables[i], environment);
- if (F_status_is_error(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(fl_environment_load_name));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, macro_fake_f(fl_environment_load_name));
return;
}
f_file_stream_unlock(data->main->error.to);
}
- *status = F_status_set_error(F_array_too_large);
+ data->setting.state.status = F_status_set_error(F_array_too_large);
return;
}
}
- *status = fl_environment_load_names(data_build->setting.environment, environment);
+ data->setting.state.status = fl_environment_load_names(data_build->setting.environment, environment);
- if (F_status_is_error(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(fl_environment_load_names));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, macro_fake_f(fl_environment_load_names));
+ }
+ else {
+ data->setting.state.status = F_none;
}
}
#endif // _di_fake_build_load_environment_
#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, f_status_t * const status) {
+ 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 (F_status_is_error(*status)) return;
+ if (!data || !setting) return;
+ if (F_status_is_error(data->setting.state.status)) return;
- if (fll_program_standard_signal_received(data->main)) {
- fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
+ if (!((++data->main->signal_check) % fake_signal_check_d)) {
+ if (fll_program_standard_signal_received(data->main)) {
+ fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
- *status = F_status_set_error(F_interrupt);
+ data->setting.state.status = F_status_set_error(F_interrupt);
- return;
+ return;
+ }
}
// Strip the build settings name from the build arguments to generate a list of modes.
f_fss_contents_t contents = f_fss_contents_t_initialize;
if (process_pipe) {
- *status = fake_pipe_buffer(data, &buffer);
+ fake_pipe_buffer(data, &buffer);
- if (F_status_is_error(*status)) {
+ if (F_status_is_error(data->setting.state.status)) {
buffer.used = 0;
}
else {
- *status = f_string_dynamic_append_assure(f_string_eol_s, &buffer);
+ data->setting.state.status = f_string_dynamic_append_assure(f_string_eol_s, &buffer);
}
}
- if (F_status_is_error_not(*status)) {
+ 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)) {
- *status = fake_file_buffer(data, path_file, process_pipe ? F_false : F_true, &buffer);
+ fake_file_buffer(data, path_file, process_pipe ? F_false : F_true, &buffer);
}
}
- if (F_status_is_error_not(*status)) {
+ if (F_status_is_error_not(data->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;
- f_state_t state = macro_f_state_t_initialize_1(fake_common_allocation_large_d, fake_common_allocation_small_d, F_none, 0, 0, &fll_program_standard_signal_handle, 0, (void *) data->main, 0);
- *status = fll_fss_extended_read(buffer, state, &range, &objects, &contents, 0, 0, &delimits, 0);
+ // @todo make sure data->setting.state.custom = (void *) data->main;
+ //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, 0);
+
+ data->setting.state.status = fll_fss_extended_read(buffer, &range, &objects, &contents, 0, 0, &delimits, 0, &data->setting.state);
- if (F_status_is_error(*status)) {
- fake_print_error_fss(data->setting, data->main->error, *status, macro_fake_f(fll_fss_extended_read), data->file_data_build_settings, range, F_true);
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error_fss(data->setting, data->main->error, macro_fake_f(fll_fss_extended_read), data->file_data_build_settings, range, F_true);
}
else {
- *status = f_fss_apply_delimit(state, delimits, &buffer);
+ data->setting.state.status = f_fss_apply_delimit(state, delimits, &buffer);
- if (F_status_is_error(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(f_fss_apply_delimit));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->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,
- status
- );
+ fake_build_load_setting_process(data, F_true, path_file, modes_custom.used ? &modes_custom : 0, buffer, objects, contents, setting);
}
}
}
// Error when required settings are not specified.
- if (F_status_is_error_not(*status)) {
+ if (F_status_is_error_not(data->setting.state.status)) {
bool failed = F_false;
f_string_static_t * const settings[] = {
} // for
if (failed) {
- *status = F_status_set_error(F_failure);
+ data->setting.state.status = F_status_set_error(F_failure);
return;
}
+
+ data->setting.state.status = F_none;
}
- fake_build_load_setting_override(data, setting, status);
+ fake_build_load_setting_override(data, setting);
}
#endif // _di_fake_build_load_setting_
if (F_status_is_error(*status) && buffer.used) return;
- if (fll_program_standard_signal_received(data->main)) {
- fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
+ if (!((++data->main->signal_check) % fake_signal_check_d)) {
+ if (fll_program_standard_signal_received(data->main)) {
+ fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
- *status = F_status_set_error(F_interrupt);
+ *status = F_status_set_error(F_interrupt);
- return;
+ return;
+ }
}
bool error_printed = F_false;
#endif // _di_fake_build_load_setting_override_
#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, f_status_t * const status) {
+ void fake_build_load_stage(fake_data_t * const data, const f_string_static_t settings_file, fake_build_stage_t * const stage) {
- if (F_status_is_error(*status)) return;
+ if (!data || !stage) return;
+ if (F_status_is_error(data->setting.state.status)) return;
- if (fll_program_standard_signal_received(data->main)) {
- fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
+ if (!((++data->main->signal_check) % fake_signal_check_d)) {
+ if (fll_program_standard_signal_received(data->main)) {
+ fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
- *status = F_status_set_error(F_interrupt);
+ data->setting.state.status = F_status_set_error(F_interrupt);
- return;
+ return;
+ }
}
const f_string_static_t names[] = {
&stage->file_sources_settings,
};
- *status = F_none;
+ data->setting.state.status = F_none;
f_string_dynamic_t settings_file_base = f_string_dynamic_t_initialize;
if (settings_file.used) {
- *status = f_file_name_base(settings_file, &settings_file_base);
+ data->setting.state.status = f_file_name_base(settings_file, &settings_file_base);
}
else {
- *status = f_file_name_base(data->file_data_build_settings, &settings_file_base);
+ data->setting.state.status = f_file_name_base(data->file_data_build_settings, &settings_file_base);
}
- if (F_status_is_error(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(f_file_name_base));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, macro_fake_f(f_file_name_base));
return;
}
for (uint8_t i = 0; i < fake_build_stage_total_d; ++i) {
- *status = f_string_dynamic_append_nulless(data->path_build_stage, values[i]);
+ data->setting.state.status = f_string_dynamic_append_nulless(data->path_build_stage, values[i]);
- if (F_status_is_error_not(*status) && data->setting->process.used) {
- *status = f_string_dynamic_append_nulless(data->setting->process, 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]);
+ }
- *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(fake_build_stage_separate_s, values[i]);
}
- if (F_status_is_error_not(*status)) {
- *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(names[i], values[i]);
}
- if (F_status_is_error_not(*status)) {
- *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(fake_build_stage_separate_s, values[i]);
}
- if (F_status_is_error_not(*status)) {
- *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(settings_file_base, values[i]);
}
- if (F_status_is_error_not(*status)) {
- *status = f_string_dynamic_append_nulless(fake_build_stage_built_s, 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(*status)) {
- fake_print_error(data->setting, data->main->error, *status, macro_fake_f(f_string_dynamic_append_nulless));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, macro_fake_f(f_string_dynamic_append_nulless));
break;
}
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_build_load_h
-#define _PRIVATE_build_load_h
+#ifndef _fake_build_load_h
+#define _fake_build_load_h
#ifdef __cplusplus
extern "C" {
#endif
/**
+ * Load the environment used when executing commands.
+ *
+ * @param data
+ * The program data.
+ *
+ * This alters data.setting.state.status:
+ * F_none on success.
+ *
+ * F_array_too_large (with error bit) if the environment variable values are too large.
+ *
+ * Errors (with error bit) from: fl_environment_load_name().
+ * Errors (with error bit) from: fl_environment_load_names().
+ * @param data_build
+ * The build data.
+ * @param environment
+ * The environment data.
+ *
+ * @see fl_environment_load_name()
+ * @see fl_environment_load_names()
+ */
+#ifndef _di_fake_build_load_environment_
+ extern void fake_build_load_environment(fake_data_t * const data, fake_build_data_t * const data_build, f_string_maps_t * const environment);
+#endif // _di_fake_build_load_environment_
+
+/**
* Find the build setting file, load it, validate it, and process it.
*
* @param data
* The program data.
+ *
+ * This alters data.setting.state.status:
+ * F_none on success.
+ *
+ * F_interrupt (with error bit) on interrupt signal received.
+ *
+ * Errors (with error bit) from: f_fss_apply_delimit().
+ * Errors (with error bit) from: f_string_dynamic_append_assure().
+ * Errors (with error bit) from: fll_fss_extended_read().
+ * Errors (with error bit) from: fake_build_load_setting_process().
* @param build_arguments
* (optional) A set of custom arguments to pass to the build.
* The first argument represents the name of the settings file to use.
* @param setting
* All build related setting data from the build setting file are loaded into this.
* These setting will have any specified mode property applied.
- * @param status
- * The return status.
- *
- * @return
- * F_none on success.
*
- * Status codes (with error bit) are returned on any problem.
+ * @see f_fss_apply_delimit()
+ * @see f_string_dynamic_append_assure()
+ * @see fll_fss_extended_read()
+ * @see fll_program_print_signal_received()
+ * @see fake_build_load_setting_process()
*/
#ifndef _di_fake_build_load_setting_
- extern 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, f_status_t * const status);
+ extern 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);
#endif // _di_fake_build_load_setting_
/**
* @param setting
* All build related setting data from the build setting file are loaded into this.
* These setting will have any specified mode property applied.
- * @param status
- * The return status.
*
* @return
* F_none on success.
* Status codes (with error bit) are returned on any problem.
*/
#ifndef _di_fake_build_load_setting_override_
- extern void fake_build_load_setting_override(fake_data_t * const data, fake_build_setting_t * const setting, f_status_t * const status);
+ extern void fake_build_load_setting_override(fake_data_t * const data, fake_build_setting_t * const setting);
#endif // _di_fake_build_load_setting_override_
/**
* @param setting
* All build related setting data from the build setting file are loaded into this.
* These setting will have any specified mode property applied.
- * @param status
- * The return status.
*
* @return
* F_none on success.
* @see fll_fss_snatch_apart()
*/
#ifndef _di_fake_build_load_setting_process_
- extern 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, f_status_t * const status);
+ extern 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);
#endif // _di_fake_build_load_setting_process_
/**
- * Load the environment used when executing commands.
+ * Load the stage file paths.
*
* @param data
* The program data.
- * @param data_build
- * The build data.
- * @param environment
- * The environment data.
- * @param status
- * The return status.
*
- * @return
- * F_none on success.
+ * This alters data.setting.state.status:
+ * F_none on success.
*
- * Status codes (with error bit) are returned on any problem.
- */
-#ifndef _di_fake_build_load_environment_
- extern void fake_build_load_environment(fake_data_t * const data, fake_build_data_t * const data_build, f_string_maps_t * const environment, f_status_t * const status);
-#endif // _di_fake_build_load_environment_
-
-/**
- * Load the stage file paths.
+ * F_interrupt (with error bit) on interrupt signal received.
*
- * @param data
- * The program data.
+ * Errors (with error bit) from: f_file_name_base().
+ * Errors (with error bit) from: f_string_dynamic_append_nulless().
* @param settings_file
* The path to the settings file.
* @param stage
* All stage file paths.
- * @param status
- * The return status.
*
- * @return
- * F_none on success.
- *
- * Status codes (with error bit) are returned on any problem.
+ * @see f_file_name_base()
+ * @see f_string_dynamic_append_nulless()
+ * @see fll_program_print_signal_received()
*/
#ifndef _di_fake_build_load_stage_
- extern void fake_build_load_stage(fake_data_t * const data, const f_string_static_t settings_file, fake_build_stage_t * const stage, f_status_t * const status);
+ extern void fake_build_load_stage(fake_data_t * const data, const f_string_static_t settings_file, fake_build_stage_t * const stage);
#endif // _di_fake_build_load_stage_
#ifdef __cplusplus
} // extern "C"
#endif
-#endif // _PRIVATE_build_load_h
+#endif // _fake_build_load_h
#include "../fake.h"
-#include "../build.h"
-#include "object.h"
-#include "print.h"
#ifdef __cplusplus
extern "C" {
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_build_object_h
-#define _PRIVATE_build_object_h
+#ifndef _fake_build_object_h
+#define _fake_build_object_h
#ifdef __cplusplus
extern "C" {
} // extern "C"
#endif
-#endif // _PRIVATE_build_object_h
+#endif // _fake_build_object_h
#include "../fake.h"
-#include "../build.h"
-#include "objects.h"
-#include "print.h"
-#include "print-error.h"
-#include "print-verbose.h"
#ifdef __cplusplus
extern "C" {
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_build_objects_h
-#define _PRIVATE_build_objects_h
+#ifndef _fake_build_objects_h
+#define _fake_build_objects_h
#ifdef __cplusplus
extern "C" {
} // extern "C"
#endif
-#endif // _PRIVATE_build_objects_h
+#endif // _fake_build_objects_h
#include "../fake.h"
-#include "print.h"
#ifdef __cplusplus
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) {
-
- if (!setting || print.verbosity < f_console_verbosity_normal_e) return F_output_not;
-
- fake_print_important_simple(setting, 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) {
-
- if (!setting || print.verbosity < f_console_verbosity_normal_e) return F_output_not;
-
- fake_print_important_simple(setting, 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) {
-
- if (!setting || print.verbosity < f_console_verbosity_normal_e) return F_output_not;
-
- fake_print_important_simple(setting, 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) {
-
- if (!setting || print.verbosity < f_console_verbosity_normal_e) return F_output_not;
-
- fake_print_important_simple(setting, 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) {
-
- if (!setting || print.verbosity < f_console_verbosity_normal_e) return F_output_not;
-
- fake_print_important_simple(setting, 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) {
-
- if (!setting || print.verbosity < f_console_verbosity_normal_e) return F_output_not;
-
- fake_print_important_simple(setting, 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) {
-
- if (!setting || print.verbosity < f_console_verbosity_normal_e) return F_output_not;
-
- fake_print_important_simple(setting, print, "Compiling static program");
-
- return F_none;
- }
-#endif // _di_fake_build_print_compile_program_static_
-
#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 || print.verbosity < f_console_verbosity_normal_e) return F_output_not;
+ if (!setting) return F_status_set_error(F_output_not);
+ if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
fake_print_wrapped_variables(setting, print, "Linked file ", from, " to ", to, 0);
#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 || print.verbosity < f_console_verbosity_normal_e) return F_output_not;
+ if (!setting) return F_status_set_error(F_output_not);
+ if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
- fake_print_important_simple(setting, print, "Creating base build directories");
+ fake_print_context_important_simple(setting, print, "Creating base build directories");
return F_none;
}
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_build_print_h
-#define _PRIVATE_build_print_h
+#ifndef _fake_build_print_h
+#define _fake_build_print_h
#ifdef __cplusplus
extern "C" {
* 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.
- *
- * @see fake_print_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);
-#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.
- *
- * @return
- * F_none on success.
- * F_output_not on success, but no printing is performed.
- *
- * @see fake_print_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);
-#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.
- *
- * @return
- * F_none on success.
- * F_output_not on success, but no printing is performed.
- *
- * @see fake_print_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);
-#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.
- *
- * @return
- * F_none on success.
- * F_output_not on success, but no printing is performed.
- *
- * @see fake_print_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);
-#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.
- *
- * @return
- * F_none on success.
- * F_output_not on success, but no printing is performed.
- *
- * @see fake_print_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);
-#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.
- *
- * @return
- * F_none on success.
- * F_output_not on success, but no printing is performed.
- *
- * @see fake_print_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);
-#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.
- *
- * @return
- * F_none on success.
- * F_output_not on success, but no printing is performed.
- *
- * @see fake_print_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);
-#endif // _di_fake_build_print_compile_program_static_
-
-/**
- * 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
* 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_
* F_none on success.
* F_output_not on success, but no printing is performed.
*
- * @see fake_print_important_simple()
+ * 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);
} // extern "C"
#endif
-#endif // _PRIVATE_build_print_h
+#endif // _fake_build_print_h
--- /dev/null
+#include "../../fake.h"
+
+#ifdef __cplusplus
+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) {
+
+ if (!setting) return F_status_set_error(F_output_not);
+ if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
+
+ fake_print_context_important_simple(setting, 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) {
+
+ if (!setting) return F_status_set_error(F_output_not);
+ if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
+
+ fake_print_context_important_simple(setting, 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) {
+
+ if (!setting) return F_status_set_error(F_output_not);
+ if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
+
+ fake_print_context_important_simple(setting, 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) {
+
+ if (!setting) return F_status_set_error(F_output_not);
+ if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
+
+ fake_print_context_important_simple(setting, 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) {
+
+ if (!setting) return F_status_set_error(F_output_not);
+ if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
+
+ fake_print_context_important_simple(setting, 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) {
+
+ if (!setting) return F_status_set_error(F_output_not);
+ if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
+
+ fake_print_context_important_simple(setting, 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) {
+
+ if (!setting) return F_status_set_error(F_output_not);
+ if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
+
+ fake_print_context_important_simple(setting, print, "Compiling static program");
+
+ return F_none;
+ }
+#endif // _di_fake_build_print_compile_program_static_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
--- /dev/null
+/**
+ * FLL - Level 3
+ *
+ * Project: Featureless Make
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ *
+ * Provides build print compile functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
+ */
+#ifndef _fake_build_print_compile_h
+#define _fake_build_print_compile_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.
+ *
+ * @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_compile_library_shared_
+ extern f_status_t fake_build_print_compile_library_shared(fake_setting_t * const setting, const fl_print_t 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.
+ *
+ * @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_compile_library_static_
+ extern f_status_t fake_build_print_compile_library_static(fake_setting_t * const setting, const fl_print_t 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.
+ *
+ * @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_compile_object_shared_
+ extern f_status_t fake_build_print_compile_object_shared(fake_setting_t * const setting, const fl_print_t 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.
+ *
+ * @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_compile_object_static_
+ extern f_status_t fake_build_print_compile_object_static(fake_setting_t * const setting, const fl_print_t 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.
+ *
+ * @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_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);
+#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.
+ *
+ * @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_compile_program_shared_
+ extern f_status_t fake_build_print_compile_program_shared(fake_setting_t * const setting, const fl_print_t 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.
+ *
+ * @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_compile_program_static_
+ extern f_status_t fake_build_print_compile_program_static(fake_setting_t * const setting, const fl_print_t print);
+#endif // _di_fake_build_print_compile_program_static_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _fake_build_print_compile_h
-#include "../fake.h"
-#include "print-verbose.h"
+#include "../../fake.h"
#ifdef __cplusplus
extern "C" {
#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) {
- if (!setting || 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_print_context_wrapped_variable(setting, print, "The path ", path, " could not be created, a parent directory is invalid or does not exist");
#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) {
- if (!setting || 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_print_context_wrapped_variable(setting, print, "The path ", path, " exists but is not a 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) {
- if (!setting || 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_print_context_wrapped_variables(setting, print, "The setting ", name, " is required but is not specified in the settings file ", path, 0);
#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) {
+ if (!setting) 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");
return F_none;
#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) {
- if (!setting || 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_print_context_wrapped_variable(setting, print, "A setting in the settings file ", path, " is too long");
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_build_print_error_h
-#define _PRIVATE_build_print_error_h
+#ifndef _fake_build_print_error_h
+#define _fake_build_print_error_h
#ifdef __cplusplus
extern "C" {
* 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_build_print_error_cannot_create_due_to_parent_
* 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_build_print_error_exist_not_directory_
* 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_missing_required_setting_
* 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_mode_invalid_
* 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_too_long_
} // extern "C"
#endif
-#endif // _PRIVATE_build_print_error_h
+#endif // _fake_build_print_error_h
-#include "../fake.h"
-#include "print-verbose.h"
+#include "../../fake.h"
#ifdef __cplusplus
extern "C" {
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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);
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_build_print_verbose_h
-#define _PRIVATE_build_print_verbose_h
+#ifndef _fake_build_print_verbose_h
+#define _fake_build_print_verbose_h
#ifdef __cplusplus
extern "C" {
* 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_simple_variable()
*/
#ifndef _di_fake_build_print_verbose_create_directory_
} // extern "C"
#endif
-#endif // _PRIVATE_build_print_verbose_h
+#endif // _fake_build_print_verbose_h
-#include "../fake.h"
-#include "print-warning.h"
+#include "../../fake.h"
#ifdef __cplusplus
extern "C" {
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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 || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ 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);
- fake_print_line_first_unlocked(setting, print);
-
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);
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_build_print_warning_h
-#define _PRIVATE_build_print_warning_h
+#ifndef _fake_build_print_warning_h
+#define _fake_build_print_warning_h
#ifdef __cplusplus
extern "C" {
* 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_parameters()
*/
#ifndef _di_fake_build_print_warning_parameters_contradict_
* 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_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
- *
- * @see fake_print_line_first_unlocked()
*/
#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);
* 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_parameters()
*/
#ifndef _di_fake_build_print_error_settings_both_cannot_using_language_
* @see f_file_stream_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
- *
- * @see fake_print_line_first_unlocked()
*/
#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);
* @see f_file_stream_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
- *
- * @see fake_print_line_first_unlocked()
*/
#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 "C"
#endif
-#endif // _PRIVATE_build_print_warning_h
+#endif // _fake_build_print_warning_h
#include "../fake.h"
-#include "../build.h"
-#include "program.h"
-#include "print.h"
#ifdef __cplusplus
extern "C" {
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_build_program_h
-#define _PRIVATE_build_program_h
+#ifndef _fake_build_program_h
+#define _fake_build_program_h
#ifdef __cplusplus
extern "C" {
} // extern "C"
#endif
-#endif // _PRIVATE_build_program_h
+#endif // _fake_build_program_h
#include "../fake.h"
-#include "../build.h"
-#include "skeleton.h"
-#include "print.h"
-#include "print-verbose.h"
#ifdef __cplusplus
extern "C" {
#endif
#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, f_status_t * const status) {
+ 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 (F_status_is_error(*status) || f_file_exists(file_stage, F_true) == F_true || *status == F_child) return;
+ if (!data || !data_build) return;
+ if (F_status_is_error(data->setting.state.status) || data->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;
path_headers.used = data->path_build_includes.used + data_build->setting.path_headers.used;
if (f_path_separator_s.used && directorys[i].string[j] != f_path_separator_s.string[0]) continue;
+ if (!((++main->signal_check) % fake_signal_check_d)) {
+ if (fll_program_standard_signal_received(data->main)) {
+ fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
+
+ data->setting.state.status = F_status_set_error(F_interrupt);
+
+ return;
+ }
+ }
+
directorys[i].string[j] = 0; // @fixme this is an error because static strings might be in use.
- *status = f_directory_exists(directorys[i]);
+ data->setting.state.status = f_directory_exists(directorys[i]);
- if (F_status_is_error(*status) || *status == F_false) {
+ if (F_status_is_error(data->setting.state.status) || data->setting.state.status == F_false) {
directorys[i].string[j] = f_path_separator_s.string[0];
break;
}
- if (*status == F_file_found_not) {
- *status = f_directory_create(directorys[i], mode);
+ if (data->setting.state.status == F_file_found_not) {
+ data->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(*status)) break;
+ if (F_status_is_error(data->setting.state.status)) break;
} // for
- if (F_status_is_fine(*status) && directorys[i].used && f_path_separator_s.used && directorys[i].string[directorys[i].used - 1] != f_path_separator_s.string[0]) {
- *status = f_directory_exists(directorys[i]);
+ if (F_status_is_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_error_not(*status)) {
- if (*status == F_false) {
- *status = f_directory_create(directorys[i], mode);
+ 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);
created = F_true;
}
}
}
- if (F_status_is_error(*status)) {
- if (F_status_set_fine(*status) == F_file_found) {
- *status = F_none;
+ 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;
continue;
}
- fake_print_error_file(data->setting, data->main->error, *status, macro_fake_f(f_directory_create), directorys[i], f_file_operation_create_s, fll_error_file_type_directory_e);
+ fake_print_error_file(data->setting, data->main->error, macro_fake_f(f_directory_create), directorys[i], f_file_operation_create_s, fll_error_file_type_directory_e);
return;
}
}
} // for
- fake_build_touch(data, file_stage, status);
+ fake_build_touch(data, file_stage);
+
+ if (F_status_is_error_not(data->setting.state.status)) {
+ data->setting.state.status = F_none;
+ }
}
#endif // _di_fake_build_skeleton_
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_build_skeleton_h
-#define _PRIVATE_build_skeleton_h
+#ifndef _fake_build_skeleton_h
+#define _fake_build_skeleton_h
#ifdef __cplusplus
extern "C" {
*
* @param data
* The program data.
+ *
+ * This alters data.setting.state.status:
+ * F_none on success.
+ *
+ * F_interrupt (with error bit) on interrupt signal received.
+ *
+ * Errors (with error bit) from: f_directory_create().
+ * Errors (with error bit) from: f_directory_exists().
+ * Errors (with error bit) from: fake_build_touch().
* @param data_build
* The build data.
* @param mode
* The directory mode.
* @param file_stage
* The specific stage file path.
- * @param status
- * The return status.
- *
- * @return
- * F_none on success.
*
- * Status codes (with error bit) are returned on any problem.
+ * @see f_directory_create()
+ * @see f_directory_exists()
+ * @see fll_program_standard_signal_received()
+ * @see fake_build_touch()
*/
#ifndef _di_fake_build_skeleton_
- extern 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, f_status_t * const status);
+ extern 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);
#endif // _di_fake_build_skeleton_
#ifdef __cplusplus
} // extern "C"
#endif
-#endif // _PRIVATE_build_skeleton_h
+#endif // _fake_build_skeleton_h
--- /dev/null
+#include "../fake.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _di_fake_build_s_
+const f_string_static_t fake_build_documentation_files_s = macro_f_string_static_t_initialize(FAKE_build_documentation_files_s, 0, FAKE_build_documentation_files_s_length);
+ const f_string_static_t fake_build_header_files_s = macro_f_string_static_t_initialize(FAKE_build_header_files_s, 0, FAKE_build_header_files_s_length);
+ const f_string_static_t fake_build_header_files_shared_s = macro_f_string_static_t_initialize(FAKE_build_header_files_shared_s, 0, FAKE_build_header_files_shared_s_length);
+ const f_string_static_t fake_build_header_files_static_s = macro_f_string_static_t_initialize(FAKE_build_header_files_static_s, 0, FAKE_build_header_files_static_s_length);
+ const f_string_static_t fake_build_scripts_s = macro_f_string_static_t_initialize(FAKE_build_scripts_s, 0, FAKE_build_scripts_s_length);
+ const f_string_static_t fake_build_setting_files_s = macro_f_string_static_t_initialize(FAKE_build_setting_files_s, 0, FAKE_build_setting_files_s_length);
+#endif // _di_fake_build_s_
+
+#ifndef _di_fake_build_language_s_
+ const f_string_static_t fake_build_language_bash_s = macro_f_string_static_t_initialize(FAKE_build_language_bash_s, 0, FAKE_build_language_bash_s_length);
+ const f_string_static_t fake_build_language_c_s = macro_f_string_static_t_initialize(FAKE_build_language_c_s, 0, FAKE_build_language_c_s_length);
+ const f_string_static_t fake_build_language_cpp_s = macro_f_string_static_t_initialize(FAKE_build_language_cpp_s, 0, FAKE_build_language_cpp_s_length);
+ const f_string_static_t fake_build_language_zsh_s = macro_f_string_static_t_initialize(FAKE_build_language_zsh_s, 0, FAKE_build_language_zsh_s_length);
+#endif // _di_fake_build_language_s_
+
+#ifndef _di_fake_build_version_s_
+ const f_string_static_t fake_build_version_major_s = macro_f_string_static_t_initialize(FAKE_build_version_major_s, 0, FAKE_build_version_major_s_length);
+ const f_string_static_t fake_build_version_minor_s = macro_f_string_static_t_initialize(FAKE_build_version_minor_s, 0, FAKE_build_version_minor_s_length);
+ const f_string_static_t fake_build_version_micro_s = macro_f_string_static_t_initialize(FAKE_build_version_micro_s, 0, FAKE_build_version_micro_s_length);
+ const f_string_static_t fake_build_version_nano_s = macro_f_string_static_t_initialize(FAKE_build_version_nano_s, 0, FAKE_build_version_nano_s_length);
+#endif // _di_fake_build_version_s_
+
+#ifndef _di_fake_build_setting_t_
+ const f_string_static_t fake_build_setting_default_ar_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_ar_s, 0, FAKE_build_setting_default_ar_s_length);
+ const f_string_static_t fake_build_setting_default_gcc_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_gcc_s, 0, FAKE_build_setting_default_gcc_s_length);
+ const f_string_static_t fake_build_setting_default_version_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_version_s, 0, FAKE_build_setting_default_version_s_length);
+ const f_string_static_t fake_build_setting_default_version_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_version_prefix_s, 0, FAKE_build_setting_default_version_prefix_s_length);
+ const f_string_static_t fake_build_setting_default_yes_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_yes_s, 0, FAKE_build_setting_default_yes_s_length);
+
+ const f_string_static_t fake_build_setting_name_build_compiler_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_compiler_s, 0, FAKE_build_setting_name_build_compiler_s_length);
+ const f_string_static_t fake_build_setting_name_build_indexer_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_indexer_s, 0, FAKE_build_setting_name_build_indexer_s_length);
+ const f_string_static_t fake_build_setting_name_build_indexer_arguments_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_indexer_arguments_s, 0, FAKE_build_setting_name_build_indexer_arguments_s_length);
+ const f_string_static_t fake_build_setting_name_build_language_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_language_s, 0, FAKE_build_setting_name_build_language_s_length);
+ const f_string_static_t fake_build_setting_name_build_libraries_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_s, 0, FAKE_build_setting_name_build_libraries_s_length);
+ const f_string_static_t fake_build_setting_name_build_libraries_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_shared_s, 0, FAKE_build_setting_name_build_libraries_shared_s_length);
+ const f_string_static_t fake_build_setting_name_build_libraries_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_static_s, 0, FAKE_build_setting_name_build_libraries_static_s_length);
+ const f_string_static_t fake_build_setting_name_build_name_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_name_s, 0, FAKE_build_setting_name_build_name_s_length);
+ const f_string_static_t fake_build_setting_name_build_objects_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_s, 0, FAKE_build_setting_name_build_objects_library_s_length);
+ const f_string_static_t fake_build_setting_name_build_objects_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_shared_s, 0, FAKE_build_setting_name_build_objects_library_shared_s_length);
+ const f_string_static_t fake_build_setting_name_build_objects_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_static_s, 0, FAKE_build_setting_name_build_objects_library_static_s_length);
+ const f_string_static_t fake_build_setting_name_build_objects_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_s, 0, FAKE_build_setting_name_build_objects_program_s_length);
+ const f_string_static_t fake_build_setting_name_build_objects_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_shared_s, 0, FAKE_build_setting_name_build_objects_program_shared_s_length);
+ const f_string_static_t fake_build_setting_name_build_objects_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_static_s, 0, FAKE_build_setting_name_build_objects_program_static_s_length);
+ const f_string_static_t fake_build_setting_name_build_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_script_s, 0, FAKE_build_setting_name_build_script_s_length);
+ const f_string_static_t fake_build_setting_name_build_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_shared_s, 0, FAKE_build_setting_name_build_shared_s_length);
+ const f_string_static_t fake_build_setting_name_build_sources_documentation_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_documentation_s, 0, FAKE_build_setting_name_build_sources_documentation_s_length);
+ const f_string_static_t fake_build_setting_name_build_sources_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_s, 0, FAKE_build_setting_name_build_sources_headers_s_length);
+ const f_string_static_t fake_build_setting_name_build_sources_headers_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_shared_s, 0, FAKE_build_setting_name_build_sources_headers_shared_s_length);
+ const f_string_static_t fake_build_setting_name_build_sources_headers_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_static_s, 0, FAKE_build_setting_name_build_sources_headers_static_s_length);
+ const f_string_static_t fake_build_setting_name_build_sources_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_s, 0, FAKE_build_setting_name_build_sources_library_s_length);
+ const f_string_static_t fake_build_setting_name_build_sources_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_shared_s, 0, FAKE_build_setting_name_build_sources_library_shared_s_length);
+ const f_string_static_t fake_build_setting_name_build_sources_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_static_s, 0, FAKE_build_setting_name_build_sources_library_static_s_length);
+ const f_string_static_t fake_build_setting_name_build_sources_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_s, 0, FAKE_build_setting_name_build_sources_object_s_length);
+ const f_string_static_t fake_build_setting_name_build_sources_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_shared_s, 0, FAKE_build_setting_name_build_sources_object_shared_s_length);
+ const f_string_static_t fake_build_setting_name_build_sources_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_static_s, 0, FAKE_build_setting_name_build_sources_object_static_s_length);
+ const f_string_static_t fake_build_setting_name_build_sources_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_s, 0, FAKE_build_setting_name_build_sources_program_s_length);
+ const f_string_static_t fake_build_setting_name_build_sources_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_shared_s, 0, FAKE_build_setting_name_build_sources_program_shared_s_length);
+ const f_string_static_t fake_build_setting_name_build_sources_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_static_s, 0, FAKE_build_setting_name_build_sources_program_static_s_length);
+ const f_string_static_t fake_build_setting_name_build_sources_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_script_s, 0, FAKE_build_setting_name_build_sources_script_s_length);
+ const f_string_static_t fake_build_setting_name_build_sources_setting_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_setting_s, 0, FAKE_build_setting_name_build_sources_setting_s_length);
+ const f_string_static_t fake_build_setting_name_build_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_static_s, 0, FAKE_build_setting_name_build_static_s_length);
+ const f_string_static_t fake_build_setting_name_defines_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_s, 0, FAKE_build_setting_name_defines_s_length);
+ const f_string_static_t fake_build_setting_name_defines_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_s, 0, FAKE_build_setting_name_defines_library_s_length);
+ const f_string_static_t fake_build_setting_name_defines_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_shared_s, 0, FAKE_build_setting_name_defines_library_shared_s_length);
+ const f_string_static_t fake_build_setting_name_defines_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_static_s, 0, FAKE_build_setting_name_defines_library_static_s_length);
+ const f_string_static_t fake_build_setting_name_defines_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_s, 0, FAKE_build_setting_name_defines_object_s_length);
+ const f_string_static_t fake_build_setting_name_defines_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_shared_s, 0, FAKE_build_setting_name_defines_object_shared_s_length);
+ const f_string_static_t fake_build_setting_name_defines_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_static_s, 0, FAKE_build_setting_name_defines_object_static_s_length);
+ const f_string_static_t fake_build_setting_name_defines_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_s, 0, FAKE_build_setting_name_defines_program_s_length);
+ const f_string_static_t fake_build_setting_name_defines_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_shared_s, 0, FAKE_build_setting_name_defines_program_shared_s_length);
+ const f_string_static_t fake_build_setting_name_defines_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_static_s, 0, FAKE_build_setting_name_defines_program_static_s_length);
+ const f_string_static_t fake_build_setting_name_defines_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_shared_s, 0, FAKE_build_setting_name_defines_shared_s_length);
+ const f_string_static_t fake_build_setting_name_defines_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_static_s, 0, FAKE_build_setting_name_defines_static_s_length);
+ const f_string_static_t fake_build_setting_name_environment_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_environment_s, 0, FAKE_build_setting_name_environment_s_length);
+ const f_string_static_t fake_build_setting_name_flags_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_s, 0, FAKE_build_setting_name_flags_s_length);
+ const f_string_static_t fake_build_setting_name_flags_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_s, 0, FAKE_build_setting_name_flags_library_s_length);
+ const f_string_static_t fake_build_setting_name_flags_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_shared_s, 0, FAKE_build_setting_name_flags_library_shared_s_length);
+ const f_string_static_t fake_build_setting_name_flags_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_static_s, 0, FAKE_build_setting_name_flags_library_static_s_length);
+ const f_string_static_t fake_build_setting_name_flags_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_s, 0, FAKE_build_setting_name_flags_object_s_length);
+ const f_string_static_t fake_build_setting_name_flags_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_shared_s, 0, FAKE_build_setting_name_flags_object_shared_s_length);
+ const f_string_static_t fake_build_setting_name_flags_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_static_s, 0, FAKE_build_setting_name_flags_object_static_s_length);
+ const f_string_static_t fake_build_setting_name_flags_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_s, 0, FAKE_build_setting_name_flags_program_s_length);
+ const f_string_static_t fake_build_setting_name_flags_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_shared_s, 0, FAKE_build_setting_name_flags_program_shared_s_length);
+ const f_string_static_t fake_build_setting_name_flags_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_static_s, 0, FAKE_build_setting_name_flags_program_static_s_length);
+ const f_string_static_t fake_build_setting_name_flags_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_shared_s, 0, FAKE_build_setting_name_flags_shared_s_length);
+ const f_string_static_t fake_build_setting_name_flags_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_static_s, 0, FAKE_build_setting_name_flags_static_s_length);
+ const f_string_static_t fake_build_setting_name_has_path_standard_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_has_path_standard_s, 0, FAKE_build_setting_name_has_path_standard_s_length);
+ const f_string_static_t fake_build_setting_name_modes_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_modes_s, 0, FAKE_build_setting_name_modes_s_length);
+ const f_string_static_t fake_build_setting_name_modes_default_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_modes_default_s, 0, FAKE_build_setting_name_modes_default_s_length);
+ const f_string_static_t fake_build_setting_name_path_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_headers_s, 0, FAKE_build_setting_name_path_headers_s_length);
+ const f_string_static_t fake_build_setting_name_path_language_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_language_s, 0, FAKE_build_setting_name_path_language_s_length);
+ const f_string_static_t fake_build_setting_name_path_library_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_script_s, 0, FAKE_build_setting_name_path_library_script_s_length);
+ const f_string_static_t fake_build_setting_name_path_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_shared_s, 0, FAKE_build_setting_name_path_library_shared_s_length);
+ const f_string_static_t fake_build_setting_name_path_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_static_s, 0, FAKE_build_setting_name_path_library_static_s_length);
+ const f_string_static_t fake_build_setting_name_path_object_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_script_s, 0, FAKE_build_setting_name_path_object_script_s_length);
+ const f_string_static_t fake_build_setting_name_path_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_shared_s, 0, FAKE_build_setting_name_path_object_shared_s_length);
+ const f_string_static_t fake_build_setting_name_path_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_static_s, 0, FAKE_build_setting_name_path_object_static_s_length);
+ const f_string_static_t fake_build_setting_name_path_program_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_script_s, 0, FAKE_build_setting_name_path_program_script_s_length);
+ const f_string_static_t fake_build_setting_name_path_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_shared_s, 0, FAKE_build_setting_name_path_program_shared_s_length);
+ const f_string_static_t fake_build_setting_name_path_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_static_s, 0, FAKE_build_setting_name_path_program_static_s_length);
+ const f_string_static_t fake_build_setting_name_path_sources_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_sources_s, 0, FAKE_build_setting_name_path_sources_s_length);
+ const f_string_static_t fake_build_setting_name_path_sources_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_sources_object_s, 0, FAKE_build_setting_name_path_sources_object_s_length);
+ const f_string_static_t fake_build_setting_name_preserve_path_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_preserve_path_headers_s, 0, FAKE_build_setting_name_preserve_path_headers_s_length);
+ const f_string_static_t fake_build_setting_name_process_post_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_process_post_s, 0, FAKE_build_setting_name_process_post_s_length);
+ const f_string_static_t fake_build_setting_name_process_pre_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_process_pre_s, 0, FAKE_build_setting_name_process_pre_s_length);
+ const f_string_static_t fake_build_setting_name_search_exclusive_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_exclusive_s, 0, FAKE_build_setting_name_search_exclusive_s_length);
+ const f_string_static_t fake_build_setting_name_search_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_shared_s, 0, FAKE_build_setting_name_search_shared_s_length);
+ const f_string_static_t fake_build_setting_name_search_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_static_s, 0, FAKE_build_setting_name_search_static_s_length);
+ const f_string_static_t fake_build_setting_name_version_file_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_file_s, 0, FAKE_build_setting_name_version_file_s_length);
+ const f_string_static_t fake_build_setting_name_version_major_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_major_s, 0, FAKE_build_setting_name_version_major_s_length);
+ const f_string_static_t fake_build_setting_name_version_major_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_major_prefix_s, 0, FAKE_build_setting_name_version_major_prefix_s_length);
+ const f_string_static_t fake_build_setting_name_version_micro_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_micro_s, 0, FAKE_build_setting_name_version_micro_s_length);
+ const f_string_static_t fake_build_setting_name_version_micro_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_micro_prefix_s, 0, FAKE_build_setting_name_version_micro_prefix_s_length);
+ const f_string_static_t fake_build_setting_name_version_minor_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_minor_s, 0, FAKE_build_setting_name_version_minor_s_length);
+ const f_string_static_t fake_build_setting_name_version_minor_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_minor_prefix_s, 0, FAKE_build_setting_name_version_minor_prefix_s_length);
+ const f_string_static_t fake_build_setting_name_version_nano_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_nano_s, 0, FAKE_build_setting_name_version_nano_s_length);
+ const f_string_static_t fake_build_setting_name_version_nano_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_nano_prefix_s, 0, FAKE_build_setting_name_version_nano_prefix_s_length);
+ const f_string_static_t fake_build_setting_name_version_target_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_target_s, 0, FAKE_build_setting_name_version_target_s_length);
+#endif // _di_fake_build_setting_t_
+
+#ifndef _di_fake_build_stage_t_
+ const f_string_static_t fake_build_stage_built_s = macro_f_string_static_t_initialize(FAKE_build_stage_built_s, 0, FAKE_build_stage_built_s_length);
+ const f_string_static_t fake_build_stage_library_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_script_s, 0, FAKE_build_stage_library_script_s_length);
+ const f_string_static_t fake_build_stage_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_shared_s, 0, FAKE_build_stage_library_shared_s_length);
+ const f_string_static_t fake_build_stage_library_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_static_s, 0, FAKE_build_stage_library_static_s_length);
+ const f_string_static_t fake_build_stage_object_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_script_s, 0, FAKE_build_stage_object_script_s_length);
+ const f_string_static_t fake_build_stage_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_shared_s, 0, FAKE_build_stage_object_shared_s_length);
+ const f_string_static_t fake_build_stage_object_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_static_s, 0, FAKE_build_stage_object_static_s_length);
+ const f_string_static_t fake_build_stage_objects_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_objects_static_s, 0, FAKE_build_stage_objects_static_s_length);
+ const f_string_static_t fake_build_stage_process_post_s = macro_f_string_static_t_initialize(FAKE_build_stage_process_post_s, 0, FAKE_build_stage_process_post_s_length);
+ const f_string_static_t fake_build_stage_process_pre_s = macro_f_string_static_t_initialize(FAKE_build_stage_process_pre_s, 0, FAKE_build_stage_process_pre_s_length);
+ const f_string_static_t fake_build_stage_program_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_script_s, 0, FAKE_build_stage_program_script_s_length);
+ const f_string_static_t fake_build_stage_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_shared_s, 0, FAKE_build_stage_program_shared_s_length);
+ const f_string_static_t fake_build_stage_program_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_static_s, 0, FAKE_build_stage_program_static_s_length);
+ const f_string_static_t fake_build_stage_separate_s = macro_f_string_static_t_initialize(FAKE_build_stage_separate_s, 0, FAKE_build_stage_separate_s_length);
+ const f_string_static_t fake_build_stage_skeleton_s = macro_f_string_static_t_initialize(FAKE_build_stage_skeleton_s, 0, FAKE_build_stage_skeleton_s_length);
+ const f_string_static_t fake_build_stage_sources_documentation_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_documentation_s, 0, FAKE_build_stage_sources_documentation_s_length);
+ const f_string_static_t fake_build_stage_sources_headers_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_headers_s, 0, FAKE_build_stage_sources_headers_s_length);
+ const f_string_static_t fake_build_stage_sources_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_script_s, 0, FAKE_build_stage_sources_script_s_length);
+ const f_string_static_t fake_build_stage_sources_settings_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_settings_s, 0, FAKE_build_stage_sources_settings_s_length);
+#endif // _di_fake_build_stage_t_
+
+#ifndef _di_fake_build_parameter_
+ const f_string_static_t fake_build_parameter_library_include_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_include_s, 0, FAKE_build_parameter_library_include_s_length);
+ const f_string_static_t fake_build_parameter_library_link_file_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_link_file_s, 0, FAKE_build_parameter_library_link_file_s_length);
+ const f_string_static_t fake_build_parameter_library_link_path_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_link_path_s, 0, FAKE_build_parameter_library_link_path_s_length);
+ const f_string_static_t fake_build_parameter_library_name_prefix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_prefix_s, 0, FAKE_build_parameter_library_name_prefix_s_length);
+ const f_string_static_t fake_build_parameter_library_name_suffix_shared_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_suffix_shared_s, 0, FAKE_build_parameter_library_name_suffix_shared_s_length);
+ const f_string_static_t fake_build_parameter_library_name_suffix_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_suffix_static_s, 0, FAKE_build_parameter_library_name_suffix_static_s_length);
+ const f_string_static_t fake_build_parameter_library_output_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_output_s, 0, FAKE_build_parameter_library_output_s_length);
+ const f_string_static_t fake_build_parameter_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_shared_s, 0, FAKE_build_parameter_library_shared_s_length);
+ const f_string_static_t fake_build_parameter_library_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_static_s, 0, FAKE_build_parameter_library_static_s_length);
+ const f_string_static_t fake_build_parameter_library_shared_prefix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_shared_prefix_s, 0, FAKE_build_parameter_library_shared_prefix_s_length);
+
+ const f_string_static_t fake_build_parameter_object_compile_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_compile_s, 0, FAKE_build_parameter_object_compile_s_length);
+ const f_string_static_t fake_build_parameter_object_name_suffix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_name_suffix_s, 0, FAKE_build_parameter_object_name_suffix_s_length);
+ const f_string_static_t fake_build_parameter_object_output_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_output_s, 0, FAKE_build_parameter_object_output_s_length);
+ const f_string_static_t fake_build_parameter_object_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_static_s, 0, FAKE_build_parameter_object_static_s_length);
+#endif // _di_fake_build_parameter_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
--- /dev/null
+/**
+ * FLL - Level 3
+ *
+ * Project: Featureless Make
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ *
+ * Provides build string functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
+ */
+#ifndef _fake_build_string_h
+#define _fake_build_string_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _di_fake_build_s_
+ #define FAKE_build_documentation_files_s "documentation files"
+ #define FAKE_build_header_files_s "header files"
+ #define FAKE_build_header_files_shared_s "shared header files"
+ #define FAKE_build_header_files_static_s "static header files"
+ #define FAKE_build_scripts_s "scripts"
+ #define FAKE_build_setting_files_s "setting files"
+
+ #define FAKE_build_documentation_files_s_length 19
+ #define FAKE_build_header_files_s_length 12
+ #define FAKE_build_header_files_shared_s_length 19
+ #define FAKE_build_header_files_static_s_length 19
+ #define FAKE_build_scripts_s_length 7
+ #define FAKE_build_setting_files_s_length 13
+
+ extern const f_string_static_t fake_build_documentation_files_s;
+ extern const f_string_static_t fake_build_header_files_s;
+ extern const f_string_static_t fake_build_header_files_shared_s;
+ extern const f_string_static_t fake_build_header_files_static_s;
+ extern const f_string_static_t fake_build_scripts_s;
+ extern const f_string_static_t fake_build_setting_files_s;
+#endif // _di_fake_build_s_
+
+/**
+ * The build language strings.
+ *
+ * fake_build_language_*_s:
+ * - bash: The GNU Bash language.
+ * - c: The C language.
+ * - cpp: The C++ language.
+ * - zsh: The ZSH language (Similar to and somewhat compatible with GNU Bash).
+ */
+#ifndef _di_fake_build_language_s_
+ #define FAKE_build_language_bash_s "bash"
+ #define FAKE_build_language_c_s "c"
+ #define FAKE_build_language_cpp_s "c++"
+ #define FAKE_build_language_zsh_s "zsh"
+
+ #define FAKE_build_language_bash_s_length 4
+ #define FAKE_build_language_c_s_length 1
+ #define FAKE_build_language_cpp_s_length 3
+ #define FAKE_build_language_zsh_s_length 3
+
+ extern const f_string_static_t fake_build_language_bash_s;
+ extern const f_string_static_t fake_build_language_c_s;
+ extern const f_string_static_t fake_build_language_cpp_s;
+ extern const f_string_static_t fake_build_language_zsh_s;
+#endif // _di_fake_build_language_s_
+
+/**
+ * The program version strings.
+ */
+#ifndef _di_fake_build_version_s_
+ #define FAKE_build_version_major_s "major"
+ #define FAKE_build_version_minor_s "minor"
+ #define FAKE_build_version_micro_s "micro"
+ #define FAKE_build_version_nano_s "nano"
+
+ #define FAKE_build_version_major_s_length 5
+ #define FAKE_build_version_minor_s_length 5
+ #define FAKE_build_version_micro_s_length 5
+ #define FAKE_build_version_nano_s_length 4
+
+ extern const f_string_static_t fake_build_version_major_s;
+ extern const f_string_static_t fake_build_version_minor_s;
+ extern const f_string_static_t fake_build_version_micro_s;
+ extern const f_string_static_t fake_build_version_nano_s;
+#endif // _di_fake_build_version_s_
+
+#ifndef _di_fake_build_setting_s_
+ #define FAKE_build_setting_default_ar_s "ar"
+ #define FAKE_build_setting_default_gcc_s "gcc"
+ #define FAKE_build_setting_default_version_s "0"
+ #define FAKE_build_setting_default_version_prefix_s "."
+ #define FAKE_build_setting_default_yes_s "yes"
+
+ #define FAKE_build_setting_name_build_compiler_s "build_compiler"
+ #define FAKE_build_setting_name_build_indexer_s "build_indexer"
+ #define FAKE_build_setting_name_build_indexer_arguments_s "build_indexer_arguments"
+ #define FAKE_build_setting_name_build_language_s "build_language"
+ #define FAKE_build_setting_name_build_libraries_s "build_libraries"
+ #define FAKE_build_setting_name_build_libraries_shared_s "build_libraries_shared"
+ #define FAKE_build_setting_name_build_libraries_static_s "build_libraries_static"
+ #define FAKE_build_setting_name_build_name_s "build_name"
+ #define FAKE_build_setting_name_build_objects_library_s "build_objects_library"
+ #define FAKE_build_setting_name_build_objects_library_shared_s "build_objects_library_shared"
+ #define FAKE_build_setting_name_build_objects_library_static_s "build_objects_library_static"
+ #define FAKE_build_setting_name_build_objects_program_s "build_objects_program"
+ #define FAKE_build_setting_name_build_objects_program_shared_s "build_objects_program_shared"
+ #define FAKE_build_setting_name_build_objects_program_static_s "build_objects_program_static"
+ #define FAKE_build_setting_name_build_script_s "build_script"
+ #define FAKE_build_setting_name_build_shared_s "build_shared"
+ #define FAKE_build_setting_name_build_sources_documentation_s "build_sources_documentation"
+ #define FAKE_build_setting_name_build_sources_headers_s "build_sources_headers"
+ #define FAKE_build_setting_name_build_sources_headers_shared_s "build_sources_headers_shared"
+ #define FAKE_build_setting_name_build_sources_headers_static_s "build_sources_headers_static"
+ #define FAKE_build_setting_name_build_sources_library_s "build_sources_library"
+ #define FAKE_build_setting_name_build_sources_library_shared_s "build_sources_library_shared"
+ #define FAKE_build_setting_name_build_sources_library_static_s "build_sources_library_static"
+ #define FAKE_build_setting_name_build_sources_object_s "build_sources_object"
+ #define FAKE_build_setting_name_build_sources_object_shared_s "build_sources_object_shared"
+ #define FAKE_build_setting_name_build_sources_object_static_s "build_sources_object_static"
+ #define FAKE_build_setting_name_build_sources_program_s "build_sources_program"
+ #define FAKE_build_setting_name_build_sources_program_shared_s "build_sources_program_shared"
+ #define FAKE_build_setting_name_build_sources_program_static_s "build_sources_program_static"
+ #define FAKE_build_setting_name_build_sources_script_s "build_sources_script"
+ #define FAKE_build_setting_name_build_sources_setting_s "build_sources_setting"
+ #define FAKE_build_setting_name_build_static_s "build_static"
+ #define FAKE_build_setting_name_defines_s "defines"
+ #define FAKE_build_setting_name_defines_library_s "defines_library"
+ #define FAKE_build_setting_name_defines_library_shared_s "defines_library_shared"
+ #define FAKE_build_setting_name_defines_library_static_s "defines_library_static"
+ #define FAKE_build_setting_name_defines_object_s "defines_object"
+ #define FAKE_build_setting_name_defines_object_shared_s "defines_object_shared"
+ #define FAKE_build_setting_name_defines_object_static_s "defines_object_static"
+ #define FAKE_build_setting_name_defines_program_s "defines_program"
+ #define FAKE_build_setting_name_defines_program_shared_s "defines_program_shared"
+ #define FAKE_build_setting_name_defines_program_static_s "defines_program_static"
+ #define FAKE_build_setting_name_defines_shared_s "defines_shared"
+ #define FAKE_build_setting_name_defines_static_s "defines_static"
+ #define FAKE_build_setting_name_environment_s "environment"
+ #define FAKE_build_setting_name_flags_s "flags"
+ #define FAKE_build_setting_name_flags_library_s "flags_library"
+ #define FAKE_build_setting_name_flags_library_shared_s "flags_library_shared"
+ #define FAKE_build_setting_name_flags_library_static_s "flags_library_static"
+ #define FAKE_build_setting_name_flags_object_s "flags_object"
+ #define FAKE_build_setting_name_flags_object_shared_s "flags_object_shared"
+ #define FAKE_build_setting_name_flags_object_static_s "flags_object_static"
+ #define FAKE_build_setting_name_flags_program_s "flags_program"
+ #define FAKE_build_setting_name_flags_program_shared_s "flags_program_shared"
+ #define FAKE_build_setting_name_flags_program_static_s "flags_program_static"
+ #define FAKE_build_setting_name_flags_shared_s "flags_shared"
+ #define FAKE_build_setting_name_flags_static_s "flags_static"
+ #define FAKE_build_setting_name_has_path_standard_s "has_path_standard"
+ #define FAKE_build_setting_name_modes_s "modes"
+ #define FAKE_build_setting_name_modes_default_s "modes_default"
+ #define FAKE_build_setting_name_path_headers_s "path_headers"
+ #define FAKE_build_setting_name_path_language_s "path_language"
+ #define FAKE_build_setting_name_path_library_script_s "path_library_script"
+ #define FAKE_build_setting_name_path_library_shared_s "path_library_shared"
+ #define FAKE_build_setting_name_path_library_static_s "path_library_static"
+ #define FAKE_build_setting_name_path_object_script_s "path_object_script"
+ #define FAKE_build_setting_name_path_object_shared_s "path_object_shared"
+ #define FAKE_build_setting_name_path_object_static_s "path_object_static"
+ #define FAKE_build_setting_name_path_program_script_s "path_program_script"
+ #define FAKE_build_setting_name_path_program_shared_s "path_program_shared"
+ #define FAKE_build_setting_name_path_program_static_s "path_program_static"
+ #define FAKE_build_setting_name_path_sources_s "path_sources"
+ #define FAKE_build_setting_name_path_sources_object_s "path_sources_object"
+ #define FAKE_build_setting_name_preserve_path_headers_s "preserve_path_headers"
+ #define FAKE_build_setting_name_process_post_s "process_post"
+ #define FAKE_build_setting_name_process_pre_s "process_pre"
+ #define FAKE_build_setting_name_search_exclusive_s "search_exclusive"
+ #define FAKE_build_setting_name_search_shared_s "search_shared"
+ #define FAKE_build_setting_name_search_static_s "search_static"
+ #define FAKE_build_setting_name_version_file_s "version_file"
+ #define FAKE_build_setting_name_version_major_s "version_major"
+ #define FAKE_build_setting_name_version_major_prefix_s "version_major_prefix"
+ #define FAKE_build_setting_name_version_micro_s "version_micro"
+ #define FAKE_build_setting_name_version_micro_prefix_s "version_micro_prefix"
+ #define FAKE_build_setting_name_version_minor_s "version_minor"
+ #define FAKE_build_setting_name_version_minor_prefix_s "version_minor_prefix"
+ #define FAKE_build_setting_name_version_nano_s "version_nano"
+ #define FAKE_build_setting_name_version_nano_prefix_s "version_nano_prefix"
+ #define FAKE_build_setting_name_version_target_s "version_target"
+
+ #define FAKE_build_setting_default_ar_s_length 2
+ #define FAKE_build_setting_default_gcc_s_length 3
+ #define FAKE_build_setting_default_version_s_length 1
+ #define FAKE_build_setting_default_version_prefix_s_length 1
+ #define FAKE_build_setting_default_yes_s_length 3
+
+ #define FAKE_build_setting_name_build_compiler_s_length 14
+ #define FAKE_build_setting_name_build_indexer_s_length 13
+ #define FAKE_build_setting_name_build_indexer_arguments_s_length 23
+ #define FAKE_build_setting_name_build_language_s_length 14
+ #define FAKE_build_setting_name_build_libraries_s_length 15
+ #define FAKE_build_setting_name_build_libraries_shared_s_length 22
+ #define FAKE_build_setting_name_build_libraries_static_s_length 22
+ #define FAKE_build_setting_name_build_name_s_length 10
+ #define FAKE_build_setting_name_build_objects_library_s_length 21
+ #define FAKE_build_setting_name_build_objects_library_shared_s_length 28
+ #define FAKE_build_setting_name_build_objects_library_static_s_length 28
+ #define FAKE_build_setting_name_build_objects_program_s_length 21
+ #define FAKE_build_setting_name_build_objects_program_shared_s_length 28
+ #define FAKE_build_setting_name_build_objects_program_static_s_length 28
+ #define FAKE_build_setting_name_build_script_s_length 12
+ #define FAKE_build_setting_name_build_shared_s_length 12
+ #define FAKE_build_setting_name_build_sources_documentation_s_length 27
+ #define FAKE_build_setting_name_build_sources_headers_s_length 21
+ #define FAKE_build_setting_name_build_sources_headers_shared_s_length 28
+ #define FAKE_build_setting_name_build_sources_headers_static_s_length 28
+ #define FAKE_build_setting_name_build_sources_library_s_length 21
+ #define FAKE_build_setting_name_build_sources_library_shared_s_length 28
+ #define FAKE_build_setting_name_build_sources_library_static_s_length 28
+ #define FAKE_build_setting_name_build_sources_object_s_length 20
+ #define FAKE_build_setting_name_build_sources_object_shared_s_length 27
+ #define FAKE_build_setting_name_build_sources_object_static_s_length 27
+ #define FAKE_build_setting_name_build_sources_program_s_length 21
+ #define FAKE_build_setting_name_build_sources_program_shared_s_length 28
+ #define FAKE_build_setting_name_build_sources_program_static_s_length 28
+ #define FAKE_build_setting_name_build_sources_script_s_length 20
+ #define FAKE_build_setting_name_build_sources_setting_s_length 21
+ #define FAKE_build_setting_name_build_static_s_length 12
+ #define FAKE_build_setting_name_environment_s_length 11
+ #define FAKE_build_setting_name_defines_s_length 7
+ #define FAKE_build_setting_name_defines_library_s_length 15
+ #define FAKE_build_setting_name_defines_library_shared_s_length 22
+ #define FAKE_build_setting_name_defines_library_static_s_length 22
+ #define FAKE_build_setting_name_defines_object_s_length 14
+ #define FAKE_build_setting_name_defines_object_shared_s_length 21
+ #define FAKE_build_setting_name_defines_object_static_s_length 21
+ #define FAKE_build_setting_name_defines_program_s_length 15
+ #define FAKE_build_setting_name_defines_program_shared_s_length 22
+ #define FAKE_build_setting_name_defines_program_static_s_length 22
+ #define FAKE_build_setting_name_defines_shared_s_length 14
+ #define FAKE_build_setting_name_defines_static_s_length 14
+ #define FAKE_build_setting_name_flags_s_length 5
+ #define FAKE_build_setting_name_flags_library_s_length 13
+ #define FAKE_build_setting_name_flags_library_shared_s_length 20
+ #define FAKE_build_setting_name_flags_library_static_s_length 20
+ #define FAKE_build_setting_name_flags_object_s_length 12
+ #define FAKE_build_setting_name_flags_object_shared_s_length 19
+ #define FAKE_build_setting_name_flags_object_static_s_length 19
+ #define FAKE_build_setting_name_flags_program_s_length 13
+ #define FAKE_build_setting_name_flags_program_shared_s_length 20
+ #define FAKE_build_setting_name_flags_program_static_s_length 20
+ #define FAKE_build_setting_name_flags_shared_s_length 12
+ #define FAKE_build_setting_name_flags_static_s_length 12
+ #define FAKE_build_setting_name_has_path_standard_s_length 17
+ #define FAKE_build_setting_name_modes_s_length 5
+ #define FAKE_build_setting_name_modes_default_s_length 13
+ #define FAKE_build_setting_name_path_headers_s_length 12
+ #define FAKE_build_setting_name_path_language_s_length 13
+ #define FAKE_build_setting_name_path_library_script_s_length 19
+ #define FAKE_build_setting_name_path_library_shared_s_length 19
+ #define FAKE_build_setting_name_path_library_static_s_length 19
+ #define FAKE_build_setting_name_path_object_script_s_length 18
+ #define FAKE_build_setting_name_path_object_shared_s_length 18
+ #define FAKE_build_setting_name_path_object_static_s_length 18
+ #define FAKE_build_setting_name_path_program_script_s_length 19
+ #define FAKE_build_setting_name_path_program_shared_s_length 19
+ #define FAKE_build_setting_name_path_program_static_s_length 19
+ #define FAKE_build_setting_name_path_sources_s_length 12
+ #define FAKE_build_setting_name_path_sources_object_s_length 19
+ #define FAKE_build_setting_name_preserve_path_headers_s_length 21
+ #define FAKE_build_setting_name_process_post_s_length 12
+ #define FAKE_build_setting_name_process_pre_s_length 11
+ #define FAKE_build_setting_name_search_exclusive_s_length 16
+ #define FAKE_build_setting_name_search_shared_s_length 13
+ #define FAKE_build_setting_name_search_static_s_length 13
+ #define FAKE_build_setting_name_version_file_s_length 12
+ #define FAKE_build_setting_name_version_major_s_length 13
+ #define FAKE_build_setting_name_version_major_prefix_s_length 20
+ #define FAKE_build_setting_name_version_micro_s_length 13
+ #define FAKE_build_setting_name_version_micro_prefix_s_length 20
+ #define FAKE_build_setting_name_version_minor_s_length 13
+ #define FAKE_build_setting_name_version_minor_prefix_s_length 20
+ #define FAKE_build_setting_name_version_nano_s_length 12
+ #define FAKE_build_setting_name_version_nano_prefix_s_length 19
+ #define FAKE_build_setting_name_version_target_s_length 14
+
+ extern const f_string_static_t fake_build_setting_default_ar_s;
+ extern const f_string_static_t fake_build_setting_default_gcc_s;
+ extern const f_string_static_t fake_build_setting_default_version_s;
+ extern const f_string_static_t fake_build_setting_default_version_prefix_s;
+ extern const f_string_static_t fake_build_setting_default_yes_s;
+
+ extern const f_string_static_t fake_build_setting_name_build_compiler_s;
+ extern const f_string_static_t fake_build_setting_name_build_indexer_s;
+ extern const f_string_static_t fake_build_setting_name_build_indexer_arguments_s;
+ extern const f_string_static_t fake_build_setting_name_build_language_s;
+ extern const f_string_static_t fake_build_setting_name_build_libraries_s;
+ extern const f_string_static_t fake_build_setting_name_build_libraries_shared_s;
+ extern const f_string_static_t fake_build_setting_name_build_libraries_static_s;
+ extern const f_string_static_t fake_build_setting_name_build_name_s;
+ extern const f_string_static_t fake_build_setting_name_build_objects_library_s;
+ extern const f_string_static_t fake_build_setting_name_build_objects_library_shared_s;
+ extern const f_string_static_t fake_build_setting_name_build_objects_library_static_s;
+ extern const f_string_static_t fake_build_setting_name_build_objects_program_s;
+ extern const f_string_static_t fake_build_setting_name_build_objects_program_shared_s;
+ extern const f_string_static_t fake_build_setting_name_build_objects_program_static_s;
+ extern const f_string_static_t fake_build_setting_name_build_script_s;
+ extern const f_string_static_t fake_build_setting_name_build_shared_s;
+ extern const f_string_static_t fake_build_setting_name_build_sources_documentation_s;
+ extern const f_string_static_t fake_build_setting_name_build_sources_headers_s;
+ extern const f_string_static_t fake_build_setting_name_build_sources_headers_shared_s;
+ extern const f_string_static_t fake_build_setting_name_build_sources_headers_static_s;
+ extern const f_string_static_t fake_build_setting_name_build_sources_library_s;
+ extern const f_string_static_t fake_build_setting_name_build_sources_library_shared_s;
+ extern const f_string_static_t fake_build_setting_name_build_sources_library_static_s;
+ extern const f_string_static_t fake_build_setting_name_build_sources_object_s;
+ extern const f_string_static_t fake_build_setting_name_build_sources_object_shared_s;
+ extern const f_string_static_t fake_build_setting_name_build_sources_object_static_s;
+ extern const f_string_static_t fake_build_setting_name_build_sources_program_s;
+ extern const f_string_static_t fake_build_setting_name_build_sources_program_shared_s;
+ extern const f_string_static_t fake_build_setting_name_build_sources_program_static_s;
+ extern const f_string_static_t fake_build_setting_name_build_sources_script_s;
+ extern const f_string_static_t fake_build_setting_name_build_sources_setting_s;
+ extern const f_string_static_t fake_build_setting_name_build_static_s;
+ extern const f_string_static_t fake_build_setting_name_defines_s;
+ extern const f_string_static_t fake_build_setting_name_defines_library_s;
+ extern const f_string_static_t fake_build_setting_name_defines_library_shared_s;
+ extern const f_string_static_t fake_build_setting_name_defines_library_static_s;
+ extern const f_string_static_t fake_build_setting_name_defines_object_s;
+ extern const f_string_static_t fake_build_setting_name_defines_object_shared_s;
+ extern const f_string_static_t fake_build_setting_name_defines_object_static_s;
+ extern const f_string_static_t fake_build_setting_name_defines_program_s;
+ extern const f_string_static_t fake_build_setting_name_defines_program_shared_s;
+ extern const f_string_static_t fake_build_setting_name_defines_program_static_s;
+ extern const f_string_static_t fake_build_setting_name_defines_shared_s;
+ extern const f_string_static_t fake_build_setting_name_defines_static_s;
+ extern const f_string_static_t fake_build_setting_name_environment_s;
+ extern const f_string_static_t fake_build_setting_name_flags_s;
+ extern const f_string_static_t fake_build_setting_name_flags_library_s;
+ extern const f_string_static_t fake_build_setting_name_flags_library_shared_s;
+ extern const f_string_static_t fake_build_setting_name_flags_library_static_s;
+ extern const f_string_static_t fake_build_setting_name_flags_object_s;
+ extern const f_string_static_t fake_build_setting_name_flags_object_shared_s;
+ extern const f_string_static_t fake_build_setting_name_flags_object_static_s;
+ extern const f_string_static_t fake_build_setting_name_flags_program_s;
+ extern const f_string_static_t fake_build_setting_name_flags_program_shared_s;
+ extern const f_string_static_t fake_build_setting_name_flags_program_static_s;
+ extern const f_string_static_t fake_build_setting_name_flags_shared_s;
+ extern const f_string_static_t fake_build_setting_name_flags_static_s;
+ extern const f_string_static_t fake_build_setting_name_has_path_standard_s;
+ extern const f_string_static_t fake_build_setting_name_modes_s;
+ extern const f_string_static_t fake_build_setting_name_modes_default_s;
+ extern const f_string_static_t fake_build_setting_name_path_headers_s;
+ extern const f_string_static_t fake_build_setting_name_path_language_s;
+ extern const f_string_static_t fake_build_setting_name_path_library_script_s;
+ extern const f_string_static_t fake_build_setting_name_path_library_shared_s;
+ extern const f_string_static_t fake_build_setting_name_path_library_static_s;
+ extern const f_string_static_t fake_build_setting_name_path_object_script_s;
+ extern const f_string_static_t fake_build_setting_name_path_object_shared_s;
+ extern const f_string_static_t fake_build_setting_name_path_object_static_s;
+ extern const f_string_static_t fake_build_setting_name_path_program_script_s;
+ extern const f_string_static_t fake_build_setting_name_path_program_shared_s;
+ extern const f_string_static_t fake_build_setting_name_path_program_static_s;
+ extern const f_string_static_t fake_build_setting_name_path_sources_s;
+ extern const f_string_static_t fake_build_setting_name_path_sources_object_s;
+ extern const f_string_static_t fake_build_setting_name_preserve_path_headers_s;
+ extern const f_string_static_t fake_build_setting_name_process_post_s;
+ extern const f_string_static_t fake_build_setting_name_process_pre_s;
+ extern const f_string_static_t fake_build_setting_name_search_exclusive_s;
+ extern const f_string_static_t fake_build_setting_name_search_shared_s;
+ extern const f_string_static_t fake_build_setting_name_search_static_s;
+ extern const f_string_static_t fake_build_setting_name_version_file_s;
+ extern const f_string_static_t fake_build_setting_name_version_major_s;
+ extern const f_string_static_t fake_build_setting_name_version_major_prefix_s;
+ extern const f_string_static_t fake_build_setting_name_version_micro_s;
+ extern const f_string_static_t fake_build_setting_name_version_micro_prefix_s;
+ extern const f_string_static_t fake_build_setting_name_version_minor_s;
+ extern const f_string_static_t fake_build_setting_name_version_minor_prefix_s;
+ extern const f_string_static_t fake_build_setting_name_version_nano_s;
+ extern const f_string_static_t fake_build_setting_name_version_nano_prefix_s;
+ extern const f_string_static_t fake_build_setting_name_version_target_s;
+#endif // _di_fake_build_setting_s_
+
+#ifndef _di_fake_build_stage_s_
+ #define FAKE_build_stage_built_s ".built"
+ #define FAKE_build_stage_library_script_s "library_script"
+ #define FAKE_build_stage_library_shared_s "library_shared"
+ #define FAKE_build_stage_library_static_s "library_static"
+ #define FAKE_build_stage_object_script_s "object_script"
+ #define FAKE_build_stage_object_shared_s "object_shared"
+ #define FAKE_build_stage_object_static_s "object_static"
+ #define FAKE_build_stage_objects_static_s "objects_static"
+ #define FAKE_build_stage_process_post_s "process_post"
+ #define FAKE_build_stage_process_pre_s "process_pre"
+ #define FAKE_build_stage_program_script_s "program_script"
+ #define FAKE_build_stage_program_shared_s "program_shared"
+ #define FAKE_build_stage_program_static_s "program_static"
+ #define FAKE_build_stage_separate_s "-"
+ #define FAKE_build_stage_skeleton_s "skeleton"
+ #define FAKE_build_stage_sources_documentation_s "sources_documentation"
+ #define FAKE_build_stage_sources_headers_s "sources_headers"
+ #define FAKE_build_stage_sources_script_s "sources_script"
+ #define FAKE_build_stage_sources_settings_s "sources_settings"
+
+ #define FAKE_build_stage_built_s_length 6
+ #define FAKE_build_stage_library_script_s_length 14
+ #define FAKE_build_stage_library_shared_s_length 14
+ #define FAKE_build_stage_library_static_s_length 14
+ #define FAKE_build_stage_object_script_s_length 13
+ #define FAKE_build_stage_object_shared_s_length 13
+ #define FAKE_build_stage_object_static_s_length 13
+ #define FAKE_build_stage_objects_static_s_length 14
+ #define FAKE_build_stage_process_post_s_length 12
+ #define FAKE_build_stage_process_pre_s_length 11
+ #define FAKE_build_stage_program_script_s_length 14
+ #define FAKE_build_stage_program_shared_s_length 14
+ #define FAKE_build_stage_program_static_s_length 14
+ #define FAKE_build_stage_separate_s_length 1
+ #define FAKE_build_stage_skeleton_s_length 8
+ #define FAKE_build_stage_sources_documentation_s_length 21
+ #define FAKE_build_stage_sources_headers_s_length 15
+ #define FAKE_build_stage_sources_script_s_length 14
+ #define FAKE_build_stage_sources_settings_s_length 16
+
+ extern const f_string_static_t fake_build_stage_built_s;
+ extern const f_string_static_t fake_build_stage_library_script_s;
+ extern const f_string_static_t fake_build_stage_library_shared_s;
+ extern const f_string_static_t fake_build_stage_library_static_s;
+ extern const f_string_static_t fake_build_stage_object_script_s;
+ extern const f_string_static_t fake_build_stage_object_shared_s;
+ extern const f_string_static_t fake_build_stage_object_static_s;
+ extern const f_string_static_t fake_build_stage_objects_static_s;
+ extern const f_string_static_t fake_build_stage_process_post_s;
+ extern const f_string_static_t fake_build_stage_process_pre_s;
+ extern const f_string_static_t fake_build_stage_program_script_s;
+ extern const f_string_static_t fake_build_stage_program_shared_s;
+ extern const f_string_static_t fake_build_stage_program_static_s;
+ extern const f_string_static_t fake_build_stage_separate_s;
+ extern const f_string_static_t fake_build_stage_skeleton_s;
+ extern const f_string_static_t fake_build_stage_sources_documentation_s;
+ extern const f_string_static_t fake_build_stage_sources_headers_s;
+ extern const f_string_static_t fake_build_stage_sources_script_s;
+ extern const f_string_static_t fake_build_stage_sources_settings_s;
+#endif // _di_fake_build_stage_s_
+
+#ifndef _di_fake_build_parameter_s_
+ #define FAKE_build_parameter_library_include_s "-I"
+ #define FAKE_build_parameter_library_link_file_s "-l"
+ #define FAKE_build_parameter_library_link_path_s "-L"
+ #define FAKE_build_parameter_library_name_prefix_s "lib"
+ #define FAKE_build_parameter_library_name_suffix_shared_s ".so"
+ #define FAKE_build_parameter_library_name_suffix_static_s ".a"
+ #define FAKE_build_parameter_library_output_s "-o"
+ #define FAKE_build_parameter_library_shared_s "-shared"
+ #define FAKE_build_parameter_library_static_s "-static"
+ #define FAKE_build_parameter_library_shared_prefix_s "-Wl,-soname,"
+
+ #define FAKE_build_parameter_library_include_s_length 2
+ #define FAKE_build_parameter_library_link_file_s_length 2
+ #define FAKE_build_parameter_library_link_path_s_length 2
+ #define FAKE_build_parameter_library_name_prefix_s_length 3
+ #define FAKE_build_parameter_library_name_suffix_shared_s_length 3
+ #define FAKE_build_parameter_library_name_suffix_static_s_length 2
+ #define FAKE_build_parameter_library_output_s_length 2
+ #define FAKE_build_parameter_library_shared_s_length 7
+ #define FAKE_build_parameter_library_static_s_length 7
+ #define FAKE_build_parameter_library_shared_prefix_s_length 12
+
+ extern const f_string_static_t fake_build_parameter_library_include_s;
+ extern const f_string_static_t fake_build_parameter_library_link_file_s;
+ extern const f_string_static_t fake_build_parameter_library_link_path_s;
+ extern const f_string_static_t fake_build_parameter_library_name_prefix_s;
+ extern const f_string_static_t fake_build_parameter_library_name_suffix_shared_s;
+ extern const f_string_static_t fake_build_parameter_library_name_suffix_static_s;
+ extern const f_string_static_t fake_build_parameter_library_output_s;
+ extern const f_string_static_t fake_build_parameter_library_shared_s;
+ extern const f_string_static_t fake_build_parameter_library_static_s;
+ extern const f_string_static_t fake_build_parameter_library_shared_prefix_s;
+
+ #define FAKE_build_parameter_object_compile_s "-c"
+ #define FAKE_build_parameter_object_name_suffix_s ".o"
+ #define FAKE_build_parameter_object_output_s "-o"
+ #define FAKE_build_parameter_object_static_s "-static"
+
+ #define FAKE_build_parameter_object_compile_s_length 2
+ #define FAKE_build_parameter_object_name_suffix_s_length 2
+ #define FAKE_build_parameter_object_output_s_length 2
+ #define FAKE_build_parameter_object_static_s_length 7
+
+ extern const f_string_static_t fake_build_parameter_object_compile_s;
+ extern const f_string_static_t fake_build_parameter_object_name_suffix_s;
+ extern const f_string_static_t fake_build_parameter_object_output_s;
+ extern const f_string_static_t fake_build_parameter_object_static_s;
+#endif // _di_fake_build_parameter_s_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _fake_build_string_h
#include "fake.h"
-#include "clean.h"
#ifdef __cplusplus
extern "C" {
if (data->main->message.verbosity != f_console_verbosity_quiet_e && data->main->message.verbosity != f_console_verbosity_error_e) {
f_file_stream_lock(data->main->message.to);
- fake_print_line_first_unlocked(data->setting, data->main->message);
-
fl_print_format("%[Deleting all files within build directory '%]", data->main->message.to, data->main->context.set.important, data->main->context.set.important);
fl_print_format("%[%Q%]", data->main->message.to, data->main->context.set.notable, data->setting->build, data->main->context.set.notable);
fl_print_format("%['.%]%r", data->main->message.to, data->main->context.set.important, data->main->context.set.important, f_string_eol_s);
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_clean_h
-#define _PRIVATE_clean_h
+#ifndef _fake_clean_h
+#define _fake_clean_h
#ifdef __cplusplus
extern "C" {
} // extern "C"
#endif
-#endif // _PRIVATE_clean_h
+#endif // _fake_clean_h
}
if (F_status_is_error(setting->state.status)) {
+ fake_print_line_first(setting, main->message);
+
fake_print_error(setting, main->error, setting->state.status, macro_fake_f(f_console_parameter_process));
return;
setting->state.status = fll_program_parameter_process_context(choices, modes, F_true, main);
if (F_status_is_error(setting->state.status)) {
+ fake_print_line_first(setting, main->message);
+
fake_print_error(setting, main->error, setting->state.status, macro_fake_f(fll_program_parameter_process_context));
return;
setting->state.status = fll_program_parameter_process_verbosity(choices, verbosity, F_true, main);
if (F_status_is_error(setting->state.status)) {
+ fake_print_line_first(setting, main->message);
+
fake_print_error(setting, main->error, setting->state.status, macro_fake_f(fll_program_parameter_process_verbosity));
return;
setting->state.status = F_status_set_error(F_parameter);
if (main->error.verbosity > f_console_verbosity_quiet_e) {
- fake_print_line_first_locked(setting, main->error);
+ fake_print_line_first(setting, main->message);
fll_program_print_error_parameter_missing_value(main->error, f_console_symbol_long_normal_s, names[i]);
}
// @todo fix this to print an error about the actual invalid character so that it can be investigated.
if (F_status_is_error(setting->state.status)) {
+ fake_print_line_first(setting, main->message);
+
if (fake_print_error_fallback(setting, main->error, setting->state.status, macro_fake_f(f_utf_is_word_dash_plus)) == F_false) {
fll_program_print_error_parameter_process(main->error, f_console_symbol_long_normal_s, names[i]);
}
setting->state.status = f_path_directory_cleanup(main->parameters.arguments.array[index], variable[i]);
if (F_status_is_error(setting->state.status)) {
+ fake_print_line_first(setting, main->message);
+
if (main->error.verbosity > f_console_verbosity_quiet_e) {
- fake_print_line_first_locked(setting, main->error);
+ fake_print_line_first(setting, main->message);
if (fake_print_error_fallback(setting, main->error, setting->state.status, macro_fake_f(f_path_directory_cleanup)) == F_false) {
fll_program_print_error_parameter_process(main->error, f_console_symbol_long_normal_s, names[i]);
setting->state.status = f_string_dynamic_resize(0, variable[i]);
if (F_status_is_error(setting->state.status)) {
+ fake_print_line_first(setting, main->message);
+
fake_print_error(setting, main->error, setting->state.status, macro_fake_f(f_string_dynamic_resize));
return;
setting->state.status = f_string_dynamic_resize(0, variable[i]);
if (F_status_is_error(setting->state.status)) {
+ fake_print_line_first(setting, main->message);
+
fake_print_error(setting, main->error, setting->state.status, macro_fake_f(f_string_dynamic_resize));
return;
setting->state.status = F_status_set_error(F_parameter);
if (main->error.verbosity > f_console_verbosity_quiet_e) {
- fake_print_line_first_locked(setting, main->error);
+ fake_print_line_first(setting, main->message);
fll_program_print_error_parameter_missing_value(main->error, f_console_symbol_long_normal_s, names[i]);
}
if (F_status_is_error(setting->state.status)) {
if (main->error.verbosity > f_console_verbosity_quiet_e) {
- fake_print_line_first_locked(setting, main->error);
+ fake_print_line_first(setting, main->message);
if (fake_print_error_fallback(setting, main->error, setting->state.status, macro_fake_f(fll_program_parameter_additional_rip)) == F_false) {
fll_program_print_error_parameter_process(main->error, f_console_symbol_long_normal_s, names[i]);
setting->state.status = f_utf_is_word_dash_plus(main->parameters.arguments.array[i].string + j, width_max, F_false);
if (F_status_is_error(setting->state.status)) {
- // @todo fix this to print an error about the actual invalid character so that it can be investigated.
+ fake_print_line_first(setting, main->message);
+ // @todo fix this to print an error about the actual invalid character so that it can be investigated.
if (fake_print_error_fallback(setting, main->error, setting->state.status, macro_fake_f(f_utf_is_word_dash_plus)) == F_false) {
fll_program_print_error_parameter_process(main->error, f_console_symbol_long_normal_s, names[i]);
}
setting->state.status = f_uint8s_increase_by(1, &setting->operations);
if (F_status_is_error(setting->state.status)) {
+ fake_print_line_first(setting, main->message);
+
fake_print_error(setting, main->error, setting->state.status, macro_fake_f(f_uint8s_increase_by));
return;
state->state->status = f_uint8s_increase(fake_default_allocation_small_d, &data->setting->operations);
if (F_status_is_error(state->state->status)) {
+ fake_print_line_first(setting, main->message);
+
fake_print_error(data->setting, data->main->error, state->state->status, macro_fake_f(f_uint8s_increase));
return;
* - allocation_large: An allocation step used for buffers that are anticipated to have large buffers.
* - allocation_pipe: A buffer size used for processing piped data.
* - allocation_small: An allocation step used for buffers that are anticipated to have small buffers.
- * - signal_check: Number of iterations before performing signal check in non-threaded signal handling.
*/
#ifndef _di_fake_d_
#define fake_allocation_console_d 4
#define fake_allocation_large_d 256
#define fake_allocation_pipe_d 16384
#define fake_allocation_small_d 16
- #define fake_signal_check_d 20000
#endif // _di_fake_d_
/**
- * The program defines.
+ * The program signal defines.
*
* fake_signal_*_d:
- * - check: The normal signal check.
+ * - check: Number of iterations before performing signal check in non-threaded signal handling.
* - check_tiny: The tiny check.
* - check_short: The short signal check.
*/
/**
* Provide common/generic definitions.
*
- * _di_fake_common_*_d:
- * - allocation_large: Large allocation block size.
- * - allocation_small: Small allocation block size.
- * - max_initial_buffer: Max size to maintain the buffer (to avoid buffer bloat after an overly large allocation) (131072 = 128k).
- * - max_operation: Maximum number of operations.
- * - max_recursion_depth: Maximum recursion depth.
- * - max_stack: Maximum stack call depth.
+ * _di_fake_max_*_d:
+ * - initial_buffer: Max size to maintain the buffer (to avoid buffer bloat after an overly large allocation) (131072 = 128k).
+ * - operation: Maximum number of operations.
+ * - recursion_depth: Maximum recursion depth.
+ * - stack: Maximum stack call depth.
*/
-#ifndef _di_fake_common_d_
- #define fake_common_allocation_large_d 256
- #define fake_common_allocation_small_d 16
- #define fake_common_max_initial_buffer_d 131072
- #define fake_common_max_operation_d 35
- #define fake_common_max_recursion_depth_d 65535
- #define fake_common_max_stack_d 8192
-#endif // _di_fake_common_d_
+#ifndef _di_fake_max_d_
+ #define fake_max_initial_buffer_d 131072
+ #define fake_max_operation_d 35
+ #define fake_max_recursion_depth_d 65535
+ #define fake_max_stack_d 8192
+#endif // _di_fake_max_d_
#ifdef __cplusplus
} // extern "C"
#endif // _di_fake_main_flag_e_
/**
- * The build language enumerations.
- *
- * fake_build_language_*_e:
- * - bash: The GNU Bash language.
- * - c: The C language.
- * - cpp: The C++ language.
- * - zsh: The ZSH language (Similar to and somewhat compatible with GNU Bash).
- */
-#ifndef _di_fake_build_language_e_
- enum {
- fake_build_language_none_e = 0,
- fake_build_language_bash_e,
- fake_build_language_c_e,
- fake_build_language_cpp_e,
- fake_build_language_zsh_e,
- }; // enum
-#endif // _di_fake_build_language_e_
-
-/**
- * Build settings flag enumeration.
- *
- * data_build_setting_flag_*:
- * - none: No flag set.
- * - has_environment: Designate that the "environment" is specified in the "settings" Section of the Fakefile.
- */
-#ifndef _di_fake_build_setting_flag_e_
- enum {
- data_build_setting_flag_none_e = 0x0,
- data_build_setting_flag_has_environment_e = 0x1,
- }; // enum
-#endif // _di_fake_build_setting_flag_e_
-
-/**
- * The program version enumerations.
- *
- * fake_build_version_*_e:
- * - none: No version number.
- * - major: The major version number.
- * - minor: The minor version number.
- * - micro: The micro version number (sometimes called the patch version number).
- * - nano: The nano version number.
- */
-#ifndef _di_fake_build_version_e_
- enum {
- fake_build_version_none_e = 0,
- fake_build_version_major_e,
- fake_build_version_minor_e,
- fake_build_version_micro_e,
- fake_build_version_nano_e,
- }; // enum
-#endif // _di_fake_build_version_e_
-
-/**
* The program operation enumerations.
*
* fake_operation_*_e:
const f_string_static_t fake_default_work_s = macro_f_string_static_t_initialize(FAKE_default_work_s, 0, FAKE_default_work_s_length);
#endif // _di_fake_default_s_
-#ifndef _di_fake_build_language_s_
- const f_string_static_t fake_build_language_bash_s = macro_f_string_static_t_initialize(FAKE_build_language_bash_s, 0, FAKE_build_language_bash_s_length);
- const f_string_static_t fake_build_language_c_s = macro_f_string_static_t_initialize(FAKE_build_language_c_s, 0, FAKE_build_language_c_s_length);
- const f_string_static_t fake_build_language_cpp_s = macro_f_string_static_t_initialize(FAKE_build_language_cpp_s, 0, FAKE_build_language_cpp_s_length);
- const f_string_static_t fake_build_language_zsh_s = macro_f_string_static_t_initialize(FAKE_build_language_zsh_s, 0, FAKE_build_language_zsh_s_length);
-#endif // _di_fake_build_language_s_
-
-#ifndef _di_fake_build_version_s_
- const f_string_static_t fake_build_version_major_s = macro_f_string_static_t_initialize(FAKE_build_version_major_s, 0, FAKE_build_version_major_s_length);
- const f_string_static_t fake_build_version_minor_s = macro_f_string_static_t_initialize(FAKE_build_version_minor_s, 0, FAKE_build_version_minor_s_length);
- const f_string_static_t fake_build_version_micro_s = macro_f_string_static_t_initialize(FAKE_build_version_micro_s, 0, FAKE_build_version_micro_s_length);
- const f_string_static_t fake_build_version_nano_s = macro_f_string_static_t_initialize(FAKE_build_version_nano_s, 0, FAKE_build_version_nano_s_length);
-#endif // _di_fake_build_version_s_
-
#ifndef _di_fake_parameter_s_
const f_string_static_t fake_short_build_s = macro_f_string_static_t_initialize(FAKE_short_build_s, 0, FAKE_short_build_s_length);
const f_string_static_t fake_short_data_s = macro_f_string_static_t_initialize(FAKE_short_data_s, 0, FAKE_short_data_s_length);
const f_string_static_t fake_other_operation_skeleton_s = macro_f_string_static_t_initialize(FAKE_other_operation_skeleton_s, 0, FAKE_other_operation_skeleton_s_length);
#endif // _di_fake_parameter_s_
-#ifndef _di_fake_build_setting_t_
- const f_string_static_t fake_build_setting_default_ar_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_ar_s, 0, FAKE_build_setting_default_ar_s_length);
- const f_string_static_t fake_build_setting_default_gcc_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_gcc_s, 0, FAKE_build_setting_default_gcc_s_length);
- const f_string_static_t fake_build_setting_default_version_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_version_s, 0, FAKE_build_setting_default_version_s_length);
- const f_string_static_t fake_build_setting_default_version_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_version_prefix_s, 0, FAKE_build_setting_default_version_prefix_s_length);
- const f_string_static_t fake_build_setting_default_yes_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_yes_s, 0, FAKE_build_setting_default_yes_s_length);
-
- const f_string_static_t fake_build_setting_name_build_compiler_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_compiler_s, 0, FAKE_build_setting_name_build_compiler_s_length);
- const f_string_static_t fake_build_setting_name_build_indexer_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_indexer_s, 0, FAKE_build_setting_name_build_indexer_s_length);
- const f_string_static_t fake_build_setting_name_build_indexer_arguments_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_indexer_arguments_s, 0, FAKE_build_setting_name_build_indexer_arguments_s_length);
- const f_string_static_t fake_build_setting_name_build_language_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_language_s, 0, FAKE_build_setting_name_build_language_s_length);
- const f_string_static_t fake_build_setting_name_build_libraries_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_s, 0, FAKE_build_setting_name_build_libraries_s_length);
- const f_string_static_t fake_build_setting_name_build_libraries_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_shared_s, 0, FAKE_build_setting_name_build_libraries_shared_s_length);
- const f_string_static_t fake_build_setting_name_build_libraries_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_static_s, 0, FAKE_build_setting_name_build_libraries_static_s_length);
- const f_string_static_t fake_build_setting_name_build_name_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_name_s, 0, FAKE_build_setting_name_build_name_s_length);
- const f_string_static_t fake_build_setting_name_build_objects_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_s, 0, FAKE_build_setting_name_build_objects_library_s_length);
- const f_string_static_t fake_build_setting_name_build_objects_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_shared_s, 0, FAKE_build_setting_name_build_objects_library_shared_s_length);
- const f_string_static_t fake_build_setting_name_build_objects_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_static_s, 0, FAKE_build_setting_name_build_objects_library_static_s_length);
- const f_string_static_t fake_build_setting_name_build_objects_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_s, 0, FAKE_build_setting_name_build_objects_program_s_length);
- const f_string_static_t fake_build_setting_name_build_objects_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_shared_s, 0, FAKE_build_setting_name_build_objects_program_shared_s_length);
- const f_string_static_t fake_build_setting_name_build_objects_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_static_s, 0, FAKE_build_setting_name_build_objects_program_static_s_length);
- const f_string_static_t fake_build_setting_name_build_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_script_s, 0, FAKE_build_setting_name_build_script_s_length);
- const f_string_static_t fake_build_setting_name_build_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_shared_s, 0, FAKE_build_setting_name_build_shared_s_length);
- const f_string_static_t fake_build_setting_name_build_sources_documentation_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_documentation_s, 0, FAKE_build_setting_name_build_sources_documentation_s_length);
- const f_string_static_t fake_build_setting_name_build_sources_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_s, 0, FAKE_build_setting_name_build_sources_headers_s_length);
- const f_string_static_t fake_build_setting_name_build_sources_headers_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_shared_s, 0, FAKE_build_setting_name_build_sources_headers_shared_s_length);
- const f_string_static_t fake_build_setting_name_build_sources_headers_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_static_s, 0, FAKE_build_setting_name_build_sources_headers_static_s_length);
- const f_string_static_t fake_build_setting_name_build_sources_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_s, 0, FAKE_build_setting_name_build_sources_library_s_length);
- const f_string_static_t fake_build_setting_name_build_sources_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_shared_s, 0, FAKE_build_setting_name_build_sources_library_shared_s_length);
- const f_string_static_t fake_build_setting_name_build_sources_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_static_s, 0, FAKE_build_setting_name_build_sources_library_static_s_length);
- const f_string_static_t fake_build_setting_name_build_sources_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_s, 0, FAKE_build_setting_name_build_sources_object_s_length);
- const f_string_static_t fake_build_setting_name_build_sources_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_shared_s, 0, FAKE_build_setting_name_build_sources_object_shared_s_length);
- const f_string_static_t fake_build_setting_name_build_sources_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_static_s, 0, FAKE_build_setting_name_build_sources_object_static_s_length);
- const f_string_static_t fake_build_setting_name_build_sources_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_s, 0, FAKE_build_setting_name_build_sources_program_s_length);
- const f_string_static_t fake_build_setting_name_build_sources_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_shared_s, 0, FAKE_build_setting_name_build_sources_program_shared_s_length);
- const f_string_static_t fake_build_setting_name_build_sources_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_static_s, 0, FAKE_build_setting_name_build_sources_program_static_s_length);
- const f_string_static_t fake_build_setting_name_build_sources_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_script_s, 0, FAKE_build_setting_name_build_sources_script_s_length);
- const f_string_static_t fake_build_setting_name_build_sources_setting_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_setting_s, 0, FAKE_build_setting_name_build_sources_setting_s_length);
- const f_string_static_t fake_build_setting_name_build_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_static_s, 0, FAKE_build_setting_name_build_static_s_length);
- const f_string_static_t fake_build_setting_name_defines_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_s, 0, FAKE_build_setting_name_defines_s_length);
- const f_string_static_t fake_build_setting_name_defines_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_s, 0, FAKE_build_setting_name_defines_library_s_length);
- const f_string_static_t fake_build_setting_name_defines_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_shared_s, 0, FAKE_build_setting_name_defines_library_shared_s_length);
- const f_string_static_t fake_build_setting_name_defines_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_static_s, 0, FAKE_build_setting_name_defines_library_static_s_length);
- const f_string_static_t fake_build_setting_name_defines_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_s, 0, FAKE_build_setting_name_defines_object_s_length);
- const f_string_static_t fake_build_setting_name_defines_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_shared_s, 0, FAKE_build_setting_name_defines_object_shared_s_length);
- const f_string_static_t fake_build_setting_name_defines_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_static_s, 0, FAKE_build_setting_name_defines_object_static_s_length);
- const f_string_static_t fake_build_setting_name_defines_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_s, 0, FAKE_build_setting_name_defines_program_s_length);
- const f_string_static_t fake_build_setting_name_defines_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_shared_s, 0, FAKE_build_setting_name_defines_program_shared_s_length);
- const f_string_static_t fake_build_setting_name_defines_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_static_s, 0, FAKE_build_setting_name_defines_program_static_s_length);
- const f_string_static_t fake_build_setting_name_defines_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_shared_s, 0, FAKE_build_setting_name_defines_shared_s_length);
- const f_string_static_t fake_build_setting_name_defines_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_static_s, 0, FAKE_build_setting_name_defines_static_s_length);
- const f_string_static_t fake_build_setting_name_environment_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_environment_s, 0, FAKE_build_setting_name_environment_s_length);
- const f_string_static_t fake_build_setting_name_flags_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_s, 0, FAKE_build_setting_name_flags_s_length);
- const f_string_static_t fake_build_setting_name_flags_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_s, 0, FAKE_build_setting_name_flags_library_s_length);
- const f_string_static_t fake_build_setting_name_flags_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_shared_s, 0, FAKE_build_setting_name_flags_library_shared_s_length);
- const f_string_static_t fake_build_setting_name_flags_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_static_s, 0, FAKE_build_setting_name_flags_library_static_s_length);
- const f_string_static_t fake_build_setting_name_flags_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_s, 0, FAKE_build_setting_name_flags_object_s_length);
- const f_string_static_t fake_build_setting_name_flags_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_shared_s, 0, FAKE_build_setting_name_flags_object_shared_s_length);
- const f_string_static_t fake_build_setting_name_flags_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_static_s, 0, FAKE_build_setting_name_flags_object_static_s_length);
- const f_string_static_t fake_build_setting_name_flags_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_s, 0, FAKE_build_setting_name_flags_program_s_length);
- const f_string_static_t fake_build_setting_name_flags_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_shared_s, 0, FAKE_build_setting_name_flags_program_shared_s_length);
- const f_string_static_t fake_build_setting_name_flags_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_static_s, 0, FAKE_build_setting_name_flags_program_static_s_length);
- const f_string_static_t fake_build_setting_name_flags_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_shared_s, 0, FAKE_build_setting_name_flags_shared_s_length);
- const f_string_static_t fake_build_setting_name_flags_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_static_s, 0, FAKE_build_setting_name_flags_static_s_length);
- const f_string_static_t fake_build_setting_name_has_path_standard_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_has_path_standard_s, 0, FAKE_build_setting_name_has_path_standard_s_length);
- const f_string_static_t fake_build_setting_name_modes_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_modes_s, 0, FAKE_build_setting_name_modes_s_length);
- const f_string_static_t fake_build_setting_name_modes_default_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_modes_default_s, 0, FAKE_build_setting_name_modes_default_s_length);
- const f_string_static_t fake_build_setting_name_path_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_headers_s, 0, FAKE_build_setting_name_path_headers_s_length);
- const f_string_static_t fake_build_setting_name_path_language_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_language_s, 0, FAKE_build_setting_name_path_language_s_length);
- const f_string_static_t fake_build_setting_name_path_library_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_script_s, 0, FAKE_build_setting_name_path_library_script_s_length);
- const f_string_static_t fake_build_setting_name_path_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_shared_s, 0, FAKE_build_setting_name_path_library_shared_s_length);
- const f_string_static_t fake_build_setting_name_path_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_static_s, 0, FAKE_build_setting_name_path_library_static_s_length);
- const f_string_static_t fake_build_setting_name_path_object_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_script_s, 0, FAKE_build_setting_name_path_object_script_s_length);
- const f_string_static_t fake_build_setting_name_path_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_shared_s, 0, FAKE_build_setting_name_path_object_shared_s_length);
- const f_string_static_t fake_build_setting_name_path_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_static_s, 0, FAKE_build_setting_name_path_object_static_s_length);
- const f_string_static_t fake_build_setting_name_path_program_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_script_s, 0, FAKE_build_setting_name_path_program_script_s_length);
- const f_string_static_t fake_build_setting_name_path_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_shared_s, 0, FAKE_build_setting_name_path_program_shared_s_length);
- const f_string_static_t fake_build_setting_name_path_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_static_s, 0, FAKE_build_setting_name_path_program_static_s_length);
- const f_string_static_t fake_build_setting_name_path_sources_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_sources_s, 0, FAKE_build_setting_name_path_sources_s_length);
- const f_string_static_t fake_build_setting_name_path_sources_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_sources_object_s, 0, FAKE_build_setting_name_path_sources_object_s_length);
- const f_string_static_t fake_build_setting_name_preserve_path_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_preserve_path_headers_s, 0, FAKE_build_setting_name_preserve_path_headers_s_length);
- const f_string_static_t fake_build_setting_name_process_post_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_process_post_s, 0, FAKE_build_setting_name_process_post_s_length);
- const f_string_static_t fake_build_setting_name_process_pre_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_process_pre_s, 0, FAKE_build_setting_name_process_pre_s_length);
- const f_string_static_t fake_build_setting_name_search_exclusive_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_exclusive_s, 0, FAKE_build_setting_name_search_exclusive_s_length);
- const f_string_static_t fake_build_setting_name_search_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_shared_s, 0, FAKE_build_setting_name_search_shared_s_length);
- const f_string_static_t fake_build_setting_name_search_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_static_s, 0, FAKE_build_setting_name_search_static_s_length);
- const f_string_static_t fake_build_setting_name_version_file_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_file_s, 0, FAKE_build_setting_name_version_file_s_length);
- const f_string_static_t fake_build_setting_name_version_major_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_major_s, 0, FAKE_build_setting_name_version_major_s_length);
- const f_string_static_t fake_build_setting_name_version_major_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_major_prefix_s, 0, FAKE_build_setting_name_version_major_prefix_s_length);
- const f_string_static_t fake_build_setting_name_version_micro_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_micro_s, 0, FAKE_build_setting_name_version_micro_s_length);
- const f_string_static_t fake_build_setting_name_version_micro_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_micro_prefix_s, 0, FAKE_build_setting_name_version_micro_prefix_s_length);
- const f_string_static_t fake_build_setting_name_version_minor_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_minor_s, 0, FAKE_build_setting_name_version_minor_s_length);
- const f_string_static_t fake_build_setting_name_version_minor_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_minor_prefix_s, 0, FAKE_build_setting_name_version_minor_prefix_s_length);
- const f_string_static_t fake_build_setting_name_version_nano_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_nano_s, 0, FAKE_build_setting_name_version_nano_s_length);
- const f_string_static_t fake_build_setting_name_version_nano_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_nano_prefix_s, 0, FAKE_build_setting_name_version_nano_prefix_s_length);
- const f_string_static_t fake_build_setting_name_version_target_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_target_s, 0, FAKE_build_setting_name_version_target_s_length);
-#endif // _di_fake_build_setting_t_
-
-#ifndef _di_fake_build_stage_t_
- const f_string_static_t fake_build_stage_built_s = macro_f_string_static_t_initialize(FAKE_build_stage_built_s, 0, FAKE_build_stage_built_s_length);
- const f_string_static_t fake_build_stage_library_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_script_s, 0, FAKE_build_stage_library_script_s_length);
- const f_string_static_t fake_build_stage_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_shared_s, 0, FAKE_build_stage_library_shared_s_length);
- const f_string_static_t fake_build_stage_library_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_static_s, 0, FAKE_build_stage_library_static_s_length);
- const f_string_static_t fake_build_stage_object_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_script_s, 0, FAKE_build_stage_object_script_s_length);
- const f_string_static_t fake_build_stage_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_shared_s, 0, FAKE_build_stage_object_shared_s_length);
- const f_string_static_t fake_build_stage_object_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_static_s, 0, FAKE_build_stage_object_static_s_length);
- const f_string_static_t fake_build_stage_objects_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_objects_static_s, 0, FAKE_build_stage_objects_static_s_length);
- const f_string_static_t fake_build_stage_process_post_s = macro_f_string_static_t_initialize(FAKE_build_stage_process_post_s, 0, FAKE_build_stage_process_post_s_length);
- const f_string_static_t fake_build_stage_process_pre_s = macro_f_string_static_t_initialize(FAKE_build_stage_process_pre_s, 0, FAKE_build_stage_process_pre_s_length);
- const f_string_static_t fake_build_stage_program_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_script_s, 0, FAKE_build_stage_program_script_s_length);
- const f_string_static_t fake_build_stage_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_shared_s, 0, FAKE_build_stage_program_shared_s_length);
- const f_string_static_t fake_build_stage_program_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_static_s, 0, FAKE_build_stage_program_static_s_length);
- const f_string_static_t fake_build_stage_separate_s = macro_f_string_static_t_initialize(FAKE_build_stage_separate_s, 0, FAKE_build_stage_separate_s_length);
- const f_string_static_t fake_build_stage_skeleton_s = macro_f_string_static_t_initialize(FAKE_build_stage_skeleton_s, 0, FAKE_build_stage_skeleton_s_length);
- const f_string_static_t fake_build_stage_sources_documentation_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_documentation_s, 0, FAKE_build_stage_sources_documentation_s_length);
- const f_string_static_t fake_build_stage_sources_headers_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_headers_s, 0, FAKE_build_stage_sources_headers_s_length);
- const f_string_static_t fake_build_stage_sources_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_script_s, 0, FAKE_build_stage_sources_script_s_length);
- const f_string_static_t fake_build_stage_sources_settings_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_settings_s, 0, FAKE_build_stage_sources_settings_s_length);
-#endif // _di_fake_build_stage_t_
-
-#ifndef _di_fake_build_parameter_
- const f_string_static_t fake_build_parameter_library_include_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_include_s, 0, FAKE_build_parameter_library_include_s_length);
- const f_string_static_t fake_build_parameter_library_link_file_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_link_file_s, 0, FAKE_build_parameter_library_link_file_s_length);
- const f_string_static_t fake_build_parameter_library_link_path_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_link_path_s, 0, FAKE_build_parameter_library_link_path_s_length);
- const f_string_static_t fake_build_parameter_library_name_prefix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_prefix_s, 0, FAKE_build_parameter_library_name_prefix_s_length);
- const f_string_static_t fake_build_parameter_library_name_suffix_shared_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_suffix_shared_s, 0, FAKE_build_parameter_library_name_suffix_shared_s_length);
- const f_string_static_t fake_build_parameter_library_name_suffix_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_suffix_static_s, 0, FAKE_build_parameter_library_name_suffix_static_s_length);
- const f_string_static_t fake_build_parameter_library_output_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_output_s, 0, FAKE_build_parameter_library_output_s_length);
- const f_string_static_t fake_build_parameter_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_shared_s, 0, FAKE_build_parameter_library_shared_s_length);
- const f_string_static_t fake_build_parameter_library_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_static_s, 0, FAKE_build_parameter_library_static_s_length);
- const f_string_static_t fake_build_parameter_library_shared_prefix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_shared_prefix_s, 0, FAKE_build_parameter_library_shared_prefix_s_length);
-
- const f_string_static_t fake_build_parameter_object_compile_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_compile_s, 0, FAKE_build_parameter_object_compile_s_length);
- const f_string_static_t fake_build_parameter_object_name_suffix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_name_suffix_s, 0, FAKE_build_parameter_object_name_suffix_s_length);
- const f_string_static_t fake_build_parameter_object_output_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_output_s, 0, FAKE_build_parameter_object_output_s_length);
- const f_string_static_t fake_build_parameter_object_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_static_s, 0, FAKE_build_parameter_object_static_s_length);
-#endif // _di_fake_build_parameter_
-
#ifndef _di_fake_common_
const f_string_static_t fake_common_file_path_access_s = macro_f_string_static_t_initialize(FAKE_common_file_path_access_s, 0, FAKE_common_file_path_access_s_length);
const f_string_static_t fake_common_file_directory_copy_s = macro_f_string_static_t_initialize(FAKE_common_file_directory_copy_s, 0, FAKE_common_file_directory_copy_s_length);
#endif // _di_fake_default_s_
/**
- * The build language strings.
- *
- * fake_build_language_*_s:
- * - bash: The GNU Bash language.
- * - c: The C language.
- * - cpp: The C++ language.
- * - zsh: The ZSH language (Similar to and somewhat compatible with GNU Bash).
- */
-#ifndef _di_fake_build_language_s_
- #define FAKE_build_language_bash_s "bash"
- #define FAKE_build_language_c_s "c"
- #define FAKE_build_language_cpp_s "c++"
- #define FAKE_build_language_zsh_s "zsh"
-
- #define FAKE_build_language_bash_s_length 4
- #define FAKE_build_language_c_s_length 1
- #define FAKE_build_language_cpp_s_length 3
- #define FAKE_build_language_zsh_s_length 3
-
- extern const f_string_static_t fake_build_language_bash_s;
- extern const f_string_static_t fake_build_language_c_s;
- extern const f_string_static_t fake_build_language_cpp_s;
- extern const f_string_static_t fake_build_language_zsh_s;
-#endif // _di_fake_build_language_s_
-
-/**
- * The program version strings.
- */
-#ifndef _di_fake_build_version_s_
- #define FAKE_build_version_major_s "major"
- #define FAKE_build_version_minor_s "minor"
- #define FAKE_build_version_micro_s "micro"
- #define FAKE_build_version_nano_s "nano"
-
- #define FAKE_build_version_major_s_length 5
- #define FAKE_build_version_minor_s_length 5
- #define FAKE_build_version_micro_s_length 5
- #define FAKE_build_version_nano_s_length 4
-
- extern const f_string_static_t fake_build_version_major_s;
- extern const f_string_static_t fake_build_version_minor_s;
- extern const f_string_static_t fake_build_version_micro_s;
- extern const f_string_static_t fake_build_version_nano_s;
-#endif // _di_fake_build_version_s_
-
-/**
* The main program parameters.
*/
#ifndef _di_fake_parameter_s_
extern const f_string_static_t fake_other_operation_skeleton_s;
#endif // _di_fake_parameter_s_
-#ifndef _di_fake_build_setting_s_
- #define FAKE_build_setting_default_ar_s "ar"
- #define FAKE_build_setting_default_gcc_s "gcc"
- #define FAKE_build_setting_default_version_s "0"
- #define FAKE_build_setting_default_version_prefix_s "."
- #define FAKE_build_setting_default_yes_s "yes"
-
- #define FAKE_build_setting_name_build_compiler_s "build_compiler"
- #define FAKE_build_setting_name_build_indexer_s "build_indexer"
- #define FAKE_build_setting_name_build_indexer_arguments_s "build_indexer_arguments"
- #define FAKE_build_setting_name_build_language_s "build_language"
- #define FAKE_build_setting_name_build_libraries_s "build_libraries"
- #define FAKE_build_setting_name_build_libraries_shared_s "build_libraries_shared"
- #define FAKE_build_setting_name_build_libraries_static_s "build_libraries_static"
- #define FAKE_build_setting_name_build_name_s "build_name"
- #define FAKE_build_setting_name_build_objects_library_s "build_objects_library"
- #define FAKE_build_setting_name_build_objects_library_shared_s "build_objects_library_shared"
- #define FAKE_build_setting_name_build_objects_library_static_s "build_objects_library_static"
- #define FAKE_build_setting_name_build_objects_program_s "build_objects_program"
- #define FAKE_build_setting_name_build_objects_program_shared_s "build_objects_program_shared"
- #define FAKE_build_setting_name_build_objects_program_static_s "build_objects_program_static"
- #define FAKE_build_setting_name_build_script_s "build_script"
- #define FAKE_build_setting_name_build_shared_s "build_shared"
- #define FAKE_build_setting_name_build_sources_documentation_s "build_sources_documentation"
- #define FAKE_build_setting_name_build_sources_headers_s "build_sources_headers"
- #define FAKE_build_setting_name_build_sources_headers_shared_s "build_sources_headers_shared"
- #define FAKE_build_setting_name_build_sources_headers_static_s "build_sources_headers_static"
- #define FAKE_build_setting_name_build_sources_library_s "build_sources_library"
- #define FAKE_build_setting_name_build_sources_library_shared_s "build_sources_library_shared"
- #define FAKE_build_setting_name_build_sources_library_static_s "build_sources_library_static"
- #define FAKE_build_setting_name_build_sources_object_s "build_sources_object"
- #define FAKE_build_setting_name_build_sources_object_shared_s "build_sources_object_shared"
- #define FAKE_build_setting_name_build_sources_object_static_s "build_sources_object_static"
- #define FAKE_build_setting_name_build_sources_program_s "build_sources_program"
- #define FAKE_build_setting_name_build_sources_program_shared_s "build_sources_program_shared"
- #define FAKE_build_setting_name_build_sources_program_static_s "build_sources_program_static"
- #define FAKE_build_setting_name_build_sources_script_s "build_sources_script"
- #define FAKE_build_setting_name_build_sources_setting_s "build_sources_setting"
- #define FAKE_build_setting_name_build_static_s "build_static"
- #define FAKE_build_setting_name_defines_s "defines"
- #define FAKE_build_setting_name_defines_library_s "defines_library"
- #define FAKE_build_setting_name_defines_library_shared_s "defines_library_shared"
- #define FAKE_build_setting_name_defines_library_static_s "defines_library_static"
- #define FAKE_build_setting_name_defines_object_s "defines_object"
- #define FAKE_build_setting_name_defines_object_shared_s "defines_object_shared"
- #define FAKE_build_setting_name_defines_object_static_s "defines_object_static"
- #define FAKE_build_setting_name_defines_program_s "defines_program"
- #define FAKE_build_setting_name_defines_program_shared_s "defines_program_shared"
- #define FAKE_build_setting_name_defines_program_static_s "defines_program_static"
- #define FAKE_build_setting_name_defines_shared_s "defines_shared"
- #define FAKE_build_setting_name_defines_static_s "defines_static"
- #define FAKE_build_setting_name_environment_s "environment"
- #define FAKE_build_setting_name_flags_s "flags"
- #define FAKE_build_setting_name_flags_library_s "flags_library"
- #define FAKE_build_setting_name_flags_library_shared_s "flags_library_shared"
- #define FAKE_build_setting_name_flags_library_static_s "flags_library_static"
- #define FAKE_build_setting_name_flags_object_s "flags_object"
- #define FAKE_build_setting_name_flags_object_shared_s "flags_object_shared"
- #define FAKE_build_setting_name_flags_object_static_s "flags_object_static"
- #define FAKE_build_setting_name_flags_program_s "flags_program"
- #define FAKE_build_setting_name_flags_program_shared_s "flags_program_shared"
- #define FAKE_build_setting_name_flags_program_static_s "flags_program_static"
- #define FAKE_build_setting_name_flags_shared_s "flags_shared"
- #define FAKE_build_setting_name_flags_static_s "flags_static"
- #define FAKE_build_setting_name_has_path_standard_s "has_path_standard"
- #define FAKE_build_setting_name_modes_s "modes"
- #define FAKE_build_setting_name_modes_default_s "modes_default"
- #define FAKE_build_setting_name_path_headers_s "path_headers"
- #define FAKE_build_setting_name_path_language_s "path_language"
- #define FAKE_build_setting_name_path_library_script_s "path_library_script"
- #define FAKE_build_setting_name_path_library_shared_s "path_library_shared"
- #define FAKE_build_setting_name_path_library_static_s "path_library_static"
- #define FAKE_build_setting_name_path_object_script_s "path_object_script"
- #define FAKE_build_setting_name_path_object_shared_s "path_object_shared"
- #define FAKE_build_setting_name_path_object_static_s "path_object_static"
- #define FAKE_build_setting_name_path_program_script_s "path_program_script"
- #define FAKE_build_setting_name_path_program_shared_s "path_program_shared"
- #define FAKE_build_setting_name_path_program_static_s "path_program_static"
- #define FAKE_build_setting_name_path_sources_s "path_sources"
- #define FAKE_build_setting_name_path_sources_object_s "path_sources_object"
- #define FAKE_build_setting_name_preserve_path_headers_s "preserve_path_headers"
- #define FAKE_build_setting_name_process_post_s "process_post"
- #define FAKE_build_setting_name_process_pre_s "process_pre"
- #define FAKE_build_setting_name_search_exclusive_s "search_exclusive"
- #define FAKE_build_setting_name_search_shared_s "search_shared"
- #define FAKE_build_setting_name_search_static_s "search_static"
- #define FAKE_build_setting_name_version_file_s "version_file"
- #define FAKE_build_setting_name_version_major_s "version_major"
- #define FAKE_build_setting_name_version_major_prefix_s "version_major_prefix"
- #define FAKE_build_setting_name_version_micro_s "version_micro"
- #define FAKE_build_setting_name_version_micro_prefix_s "version_micro_prefix"
- #define FAKE_build_setting_name_version_minor_s "version_minor"
- #define FAKE_build_setting_name_version_minor_prefix_s "version_minor_prefix"
- #define FAKE_build_setting_name_version_nano_s "version_nano"
- #define FAKE_build_setting_name_version_nano_prefix_s "version_nano_prefix"
- #define FAKE_build_setting_name_version_target_s "version_target"
-
- #define FAKE_build_setting_default_ar_s_length 2
- #define FAKE_build_setting_default_gcc_s_length 3
- #define FAKE_build_setting_default_version_s_length 1
- #define FAKE_build_setting_default_version_prefix_s_length 1
- #define FAKE_build_setting_default_yes_s_length 3
-
- #define FAKE_build_setting_name_build_compiler_s_length 14
- #define FAKE_build_setting_name_build_indexer_s_length 13
- #define FAKE_build_setting_name_build_indexer_arguments_s_length 23
- #define FAKE_build_setting_name_build_language_s_length 14
- #define FAKE_build_setting_name_build_libraries_s_length 15
- #define FAKE_build_setting_name_build_libraries_shared_s_length 22
- #define FAKE_build_setting_name_build_libraries_static_s_length 22
- #define FAKE_build_setting_name_build_name_s_length 10
- #define FAKE_build_setting_name_build_objects_library_s_length 21
- #define FAKE_build_setting_name_build_objects_library_shared_s_length 28
- #define FAKE_build_setting_name_build_objects_library_static_s_length 28
- #define FAKE_build_setting_name_build_objects_program_s_length 21
- #define FAKE_build_setting_name_build_objects_program_shared_s_length 28
- #define FAKE_build_setting_name_build_objects_program_static_s_length 28
- #define FAKE_build_setting_name_build_script_s_length 12
- #define FAKE_build_setting_name_build_shared_s_length 12
- #define FAKE_build_setting_name_build_sources_documentation_s_length 27
- #define FAKE_build_setting_name_build_sources_headers_s_length 21
- #define FAKE_build_setting_name_build_sources_headers_shared_s_length 28
- #define FAKE_build_setting_name_build_sources_headers_static_s_length 28
- #define FAKE_build_setting_name_build_sources_library_s_length 21
- #define FAKE_build_setting_name_build_sources_library_shared_s_length 28
- #define FAKE_build_setting_name_build_sources_library_static_s_length 28
- #define FAKE_build_setting_name_build_sources_object_s_length 20
- #define FAKE_build_setting_name_build_sources_object_shared_s_length 27
- #define FAKE_build_setting_name_build_sources_object_static_s_length 27
- #define FAKE_build_setting_name_build_sources_program_s_length 21
- #define FAKE_build_setting_name_build_sources_program_shared_s_length 28
- #define FAKE_build_setting_name_build_sources_program_static_s_length 28
- #define FAKE_build_setting_name_build_sources_script_s_length 20
- #define FAKE_build_setting_name_build_sources_setting_s_length 21
- #define FAKE_build_setting_name_build_static_s_length 12
- #define FAKE_build_setting_name_environment_s_length 11
- #define FAKE_build_setting_name_defines_s_length 7
- #define FAKE_build_setting_name_defines_library_s_length 15
- #define FAKE_build_setting_name_defines_library_shared_s_length 22
- #define FAKE_build_setting_name_defines_library_static_s_length 22
- #define FAKE_build_setting_name_defines_object_s_length 14
- #define FAKE_build_setting_name_defines_object_shared_s_length 21
- #define FAKE_build_setting_name_defines_object_static_s_length 21
- #define FAKE_build_setting_name_defines_program_s_length 15
- #define FAKE_build_setting_name_defines_program_shared_s_length 22
- #define FAKE_build_setting_name_defines_program_static_s_length 22
- #define FAKE_build_setting_name_defines_shared_s_length 14
- #define FAKE_build_setting_name_defines_static_s_length 14
- #define FAKE_build_setting_name_flags_s_length 5
- #define FAKE_build_setting_name_flags_library_s_length 13
- #define FAKE_build_setting_name_flags_library_shared_s_length 20
- #define FAKE_build_setting_name_flags_library_static_s_length 20
- #define FAKE_build_setting_name_flags_object_s_length 12
- #define FAKE_build_setting_name_flags_object_shared_s_length 19
- #define FAKE_build_setting_name_flags_object_static_s_length 19
- #define FAKE_build_setting_name_flags_program_s_length 13
- #define FAKE_build_setting_name_flags_program_shared_s_length 20
- #define FAKE_build_setting_name_flags_program_static_s_length 20
- #define FAKE_build_setting_name_flags_shared_s_length 12
- #define FAKE_build_setting_name_flags_static_s_length 12
- #define FAKE_build_setting_name_has_path_standard_s_length 17
- #define FAKE_build_setting_name_modes_s_length 5
- #define FAKE_build_setting_name_modes_default_s_length 13
- #define FAKE_build_setting_name_path_headers_s_length 12
- #define FAKE_build_setting_name_path_language_s_length 13
- #define FAKE_build_setting_name_path_library_script_s_length 19
- #define FAKE_build_setting_name_path_library_shared_s_length 19
- #define FAKE_build_setting_name_path_library_static_s_length 19
- #define FAKE_build_setting_name_path_object_script_s_length 18
- #define FAKE_build_setting_name_path_object_shared_s_length 18
- #define FAKE_build_setting_name_path_object_static_s_length 18
- #define FAKE_build_setting_name_path_program_script_s_length 19
- #define FAKE_build_setting_name_path_program_shared_s_length 19
- #define FAKE_build_setting_name_path_program_static_s_length 19
- #define FAKE_build_setting_name_path_sources_s_length 12
- #define FAKE_build_setting_name_path_sources_object_s_length 19
- #define FAKE_build_setting_name_preserve_path_headers_s_length 21
- #define FAKE_build_setting_name_process_post_s_length 12
- #define FAKE_build_setting_name_process_pre_s_length 11
- #define FAKE_build_setting_name_search_exclusive_s_length 16
- #define FAKE_build_setting_name_search_shared_s_length 13
- #define FAKE_build_setting_name_search_static_s_length 13
- #define FAKE_build_setting_name_version_file_s_length 12
- #define FAKE_build_setting_name_version_major_s_length 13
- #define FAKE_build_setting_name_version_major_prefix_s_length 20
- #define FAKE_build_setting_name_version_micro_s_length 13
- #define FAKE_build_setting_name_version_micro_prefix_s_length 20
- #define FAKE_build_setting_name_version_minor_s_length 13
- #define FAKE_build_setting_name_version_minor_prefix_s_length 20
- #define FAKE_build_setting_name_version_nano_s_length 12
- #define FAKE_build_setting_name_version_nano_prefix_s_length 19
- #define FAKE_build_setting_name_version_target_s_length 14
-
- extern const f_string_static_t fake_build_setting_default_ar_s;
- extern const f_string_static_t fake_build_setting_default_gcc_s;
- extern const f_string_static_t fake_build_setting_default_version_s;
- extern const f_string_static_t fake_build_setting_default_version_prefix_s;
- extern const f_string_static_t fake_build_setting_default_yes_s;
-
- extern const f_string_static_t fake_build_setting_name_build_compiler_s;
- extern const f_string_static_t fake_build_setting_name_build_indexer_s;
- extern const f_string_static_t fake_build_setting_name_build_indexer_arguments_s;
- extern const f_string_static_t fake_build_setting_name_build_language_s;
- extern const f_string_static_t fake_build_setting_name_build_libraries_s;
- extern const f_string_static_t fake_build_setting_name_build_libraries_shared_s;
- extern const f_string_static_t fake_build_setting_name_build_libraries_static_s;
- extern const f_string_static_t fake_build_setting_name_build_name_s;
- extern const f_string_static_t fake_build_setting_name_build_objects_library_s;
- extern const f_string_static_t fake_build_setting_name_build_objects_library_shared_s;
- extern const f_string_static_t fake_build_setting_name_build_objects_library_static_s;
- extern const f_string_static_t fake_build_setting_name_build_objects_program_s;
- extern const f_string_static_t fake_build_setting_name_build_objects_program_shared_s;
- extern const f_string_static_t fake_build_setting_name_build_objects_program_static_s;
- extern const f_string_static_t fake_build_setting_name_build_script_s;
- extern const f_string_static_t fake_build_setting_name_build_shared_s;
- extern const f_string_static_t fake_build_setting_name_build_sources_documentation_s;
- extern const f_string_static_t fake_build_setting_name_build_sources_headers_s;
- extern const f_string_static_t fake_build_setting_name_build_sources_headers_shared_s;
- extern const f_string_static_t fake_build_setting_name_build_sources_headers_static_s;
- extern const f_string_static_t fake_build_setting_name_build_sources_library_s;
- extern const f_string_static_t fake_build_setting_name_build_sources_library_shared_s;
- extern const f_string_static_t fake_build_setting_name_build_sources_library_static_s;
- extern const f_string_static_t fake_build_setting_name_build_sources_object_s;
- extern const f_string_static_t fake_build_setting_name_build_sources_object_shared_s;
- extern const f_string_static_t fake_build_setting_name_build_sources_object_static_s;
- extern const f_string_static_t fake_build_setting_name_build_sources_program_s;
- extern const f_string_static_t fake_build_setting_name_build_sources_program_shared_s;
- extern const f_string_static_t fake_build_setting_name_build_sources_program_static_s;
- extern const f_string_static_t fake_build_setting_name_build_sources_script_s;
- extern const f_string_static_t fake_build_setting_name_build_sources_setting_s;
- extern const f_string_static_t fake_build_setting_name_build_static_s;
- extern const f_string_static_t fake_build_setting_name_defines_s;
- extern const f_string_static_t fake_build_setting_name_defines_library_s;
- extern const f_string_static_t fake_build_setting_name_defines_library_shared_s;
- extern const f_string_static_t fake_build_setting_name_defines_library_static_s;
- extern const f_string_static_t fake_build_setting_name_defines_object_s;
- extern const f_string_static_t fake_build_setting_name_defines_object_shared_s;
- extern const f_string_static_t fake_build_setting_name_defines_object_static_s;
- extern const f_string_static_t fake_build_setting_name_defines_program_s;
- extern const f_string_static_t fake_build_setting_name_defines_program_shared_s;
- extern const f_string_static_t fake_build_setting_name_defines_program_static_s;
- extern const f_string_static_t fake_build_setting_name_defines_shared_s;
- extern const f_string_static_t fake_build_setting_name_defines_static_s;
- extern const f_string_static_t fake_build_setting_name_environment_s;
- extern const f_string_static_t fake_build_setting_name_flags_s;
- extern const f_string_static_t fake_build_setting_name_flags_library_s;
- extern const f_string_static_t fake_build_setting_name_flags_library_shared_s;
- extern const f_string_static_t fake_build_setting_name_flags_library_static_s;
- extern const f_string_static_t fake_build_setting_name_flags_object_s;
- extern const f_string_static_t fake_build_setting_name_flags_object_shared_s;
- extern const f_string_static_t fake_build_setting_name_flags_object_static_s;
- extern const f_string_static_t fake_build_setting_name_flags_program_s;
- extern const f_string_static_t fake_build_setting_name_flags_program_shared_s;
- extern const f_string_static_t fake_build_setting_name_flags_program_static_s;
- extern const f_string_static_t fake_build_setting_name_flags_shared_s;
- extern const f_string_static_t fake_build_setting_name_flags_static_s;
- extern const f_string_static_t fake_build_setting_name_has_path_standard_s;
- extern const f_string_static_t fake_build_setting_name_modes_s;
- extern const f_string_static_t fake_build_setting_name_modes_default_s;
- extern const f_string_static_t fake_build_setting_name_path_headers_s;
- extern const f_string_static_t fake_build_setting_name_path_language_s;
- extern const f_string_static_t fake_build_setting_name_path_library_script_s;
- extern const f_string_static_t fake_build_setting_name_path_library_shared_s;
- extern const f_string_static_t fake_build_setting_name_path_library_static_s;
- extern const f_string_static_t fake_build_setting_name_path_object_script_s;
- extern const f_string_static_t fake_build_setting_name_path_object_shared_s;
- extern const f_string_static_t fake_build_setting_name_path_object_static_s;
- extern const f_string_static_t fake_build_setting_name_path_program_script_s;
- extern const f_string_static_t fake_build_setting_name_path_program_shared_s;
- extern const f_string_static_t fake_build_setting_name_path_program_static_s;
- extern const f_string_static_t fake_build_setting_name_path_sources_s;
- extern const f_string_static_t fake_build_setting_name_path_sources_object_s;
- extern const f_string_static_t fake_build_setting_name_preserve_path_headers_s;
- extern const f_string_static_t fake_build_setting_name_process_post_s;
- extern const f_string_static_t fake_build_setting_name_process_pre_s;
- extern const f_string_static_t fake_build_setting_name_search_exclusive_s;
- extern const f_string_static_t fake_build_setting_name_search_shared_s;
- extern const f_string_static_t fake_build_setting_name_search_static_s;
- extern const f_string_static_t fake_build_setting_name_version_file_s;
- extern const f_string_static_t fake_build_setting_name_version_major_s;
- extern const f_string_static_t fake_build_setting_name_version_major_prefix_s;
- extern const f_string_static_t fake_build_setting_name_version_micro_s;
- extern const f_string_static_t fake_build_setting_name_version_micro_prefix_s;
- extern const f_string_static_t fake_build_setting_name_version_minor_s;
- extern const f_string_static_t fake_build_setting_name_version_minor_prefix_s;
- extern const f_string_static_t fake_build_setting_name_version_nano_s;
- extern const f_string_static_t fake_build_setting_name_version_nano_prefix_s;
- extern const f_string_static_t fake_build_setting_name_version_target_s;
-#endif // _di_fake_build_setting_s_
-
-#ifndef _di_fake_build_stage_s_
- #define FAKE_build_stage_built_s ".built"
- #define FAKE_build_stage_library_script_s "library_script"
- #define FAKE_build_stage_library_shared_s "library_shared"
- #define FAKE_build_stage_library_static_s "library_static"
- #define FAKE_build_stage_object_script_s "object_script"
- #define FAKE_build_stage_object_shared_s "object_shared"
- #define FAKE_build_stage_object_static_s "object_static"
- #define FAKE_build_stage_objects_static_s "objects_static"
- #define FAKE_build_stage_process_post_s "process_post"
- #define FAKE_build_stage_process_pre_s "process_pre"
- #define FAKE_build_stage_program_script_s "program_script"
- #define FAKE_build_stage_program_shared_s "program_shared"
- #define FAKE_build_stage_program_static_s "program_static"
- #define FAKE_build_stage_separate_s "-"
- #define FAKE_build_stage_skeleton_s "skeleton"
- #define FAKE_build_stage_sources_documentation_s "sources_documentation"
- #define FAKE_build_stage_sources_headers_s "sources_headers"
- #define FAKE_build_stage_sources_script_s "sources_script"
- #define FAKE_build_stage_sources_settings_s "sources_settings"
-
- #define FAKE_build_stage_built_s_length 6
- #define FAKE_build_stage_library_script_s_length 14
- #define FAKE_build_stage_library_shared_s_length 14
- #define FAKE_build_stage_library_static_s_length 14
- #define FAKE_build_stage_object_script_s_length 13
- #define FAKE_build_stage_object_shared_s_length 13
- #define FAKE_build_stage_object_static_s_length 13
- #define FAKE_build_stage_objects_static_s_length 14
- #define FAKE_build_stage_process_post_s_length 12
- #define FAKE_build_stage_process_pre_s_length 11
- #define FAKE_build_stage_program_script_s_length 14
- #define FAKE_build_stage_program_shared_s_length 14
- #define FAKE_build_stage_program_static_s_length 14
- #define FAKE_build_stage_separate_s_length 1
- #define FAKE_build_stage_skeleton_s_length 8
- #define FAKE_build_stage_sources_documentation_s_length 21
- #define FAKE_build_stage_sources_headers_s_length 15
- #define FAKE_build_stage_sources_script_s_length 14
- #define FAKE_build_stage_sources_settings_s_length 16
-
- extern const f_string_static_t fake_build_stage_built_s;
- extern const f_string_static_t fake_build_stage_library_script_s;
- extern const f_string_static_t fake_build_stage_library_shared_s;
- extern const f_string_static_t fake_build_stage_library_static_s;
- extern const f_string_static_t fake_build_stage_object_script_s;
- extern const f_string_static_t fake_build_stage_object_shared_s;
- extern const f_string_static_t fake_build_stage_object_static_s;
- extern const f_string_static_t fake_build_stage_objects_static_s;
- extern const f_string_static_t fake_build_stage_process_post_s;
- extern const f_string_static_t fake_build_stage_process_pre_s;
- extern const f_string_static_t fake_build_stage_program_script_s;
- extern const f_string_static_t fake_build_stage_program_shared_s;
- extern const f_string_static_t fake_build_stage_program_static_s;
- extern const f_string_static_t fake_build_stage_separate_s;
- extern const f_string_static_t fake_build_stage_skeleton_s;
- extern const f_string_static_t fake_build_stage_sources_documentation_s;
- extern const f_string_static_t fake_build_stage_sources_headers_s;
- extern const f_string_static_t fake_build_stage_sources_script_s;
- extern const f_string_static_t fake_build_stage_sources_settings_s;
-#endif // _di_fake_build_stage_s_
-
-#ifndef _di_fake_build_parameter_s_
- #define FAKE_build_parameter_library_include_s "-I"
- #define FAKE_build_parameter_library_link_file_s "-l"
- #define FAKE_build_parameter_library_link_path_s "-L"
- #define FAKE_build_parameter_library_name_prefix_s "lib"
- #define FAKE_build_parameter_library_name_suffix_shared_s ".so"
- #define FAKE_build_parameter_library_name_suffix_static_s ".a"
- #define FAKE_build_parameter_library_output_s "-o"
- #define FAKE_build_parameter_library_shared_s "-shared"
- #define FAKE_build_parameter_library_static_s "-static"
- #define FAKE_build_parameter_library_shared_prefix_s "-Wl,-soname,"
-
- #define FAKE_build_parameter_library_include_s_length 2
- #define FAKE_build_parameter_library_link_file_s_length 2
- #define FAKE_build_parameter_library_link_path_s_length 2
- #define FAKE_build_parameter_library_name_prefix_s_length 3
- #define FAKE_build_parameter_library_name_suffix_shared_s_length 3
- #define FAKE_build_parameter_library_name_suffix_static_s_length 2
- #define FAKE_build_parameter_library_output_s_length 2
- #define FAKE_build_parameter_library_shared_s_length 7
- #define FAKE_build_parameter_library_static_s_length 7
- #define FAKE_build_parameter_library_shared_prefix_s_length 12
-
- extern const f_string_static_t fake_build_parameter_library_include_s;
- extern const f_string_static_t fake_build_parameter_library_link_file_s;
- extern const f_string_static_t fake_build_parameter_library_link_path_s;
- extern const f_string_static_t fake_build_parameter_library_name_prefix_s;
- extern const f_string_static_t fake_build_parameter_library_name_suffix_shared_s;
- extern const f_string_static_t fake_build_parameter_library_name_suffix_static_s;
- extern const f_string_static_t fake_build_parameter_library_output_s;
- extern const f_string_static_t fake_build_parameter_library_shared_s;
- extern const f_string_static_t fake_build_parameter_library_static_s;
- extern const f_string_static_t fake_build_parameter_library_shared_prefix_s;
-
- #define FAKE_build_parameter_object_compile_s "-c"
- #define FAKE_build_parameter_object_name_suffix_s ".o"
- #define FAKE_build_parameter_object_output_s "-o"
- #define FAKE_build_parameter_object_static_s "-static"
-
- #define FAKE_build_parameter_object_compile_s_length 2
- #define FAKE_build_parameter_object_name_suffix_s_length 2
- #define FAKE_build_parameter_object_output_s_length 2
- #define FAKE_build_parameter_object_static_s_length 7
-
- extern const f_string_static_t fake_build_parameter_object_compile_s;
- extern const f_string_static_t fake_build_parameter_object_name_suffix_s;
- extern const f_string_static_t fake_build_parameter_object_output_s;
- extern const f_string_static_t fake_build_parameter_object_static_s;
-#endif // _di_fake_build_parameter_s_
-
#ifndef _di_fake_common_s_
#define FAKE_common_file_directory_copy_s "copy directory"
#define FAKE_common_file_path_access_s "access"
#include "fake.h"
-#include "fake/path_generate.h"
-#include "build.h"
-#include "clean.h"
-#include "make.h"
-#include "make/operate.h"
-#include "print.h"
-#include "skeleton.h"
#ifdef __cplusplus
extern "C" {
if (!main || !setting) return;
if (F_status_is_error(setting->state.status)) {
- fake_print_line_last_locked(setting, main->error);
+ fake_print_line_last(setting, main->message);
return;
}
data.main = main;
data.setting = setting;
- setting->state.status = fake_path_generate(&data);
+ fake_path_generate(&data);
if (F_status_is_error(setting->state.status)) {
fake_data_delete(&data);
fake_print_error_failure_operation(setting, main->error, data.operation);
}
- fake_print_line_last_locked(setting, main->error);
+ fake_print_line_last(setting, main->message);
}
else if (setting->state.status != F_child) {
if (F_status_is_error_not(setting->state.status)) {
}
if (setting->state.status != F_interrupt) {
- fake_print_line_last_locked(setting, main->message);
+ fake_print_line_last(setting, main->message);
}
}
*status = fll_execute_program(program, arguments, ¶meter, 0, (void *) &return_code);
- if (fll_program_standard_signal_received(data->main)) {
- fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
+ if (!((++data->main->signal_check) % fake_signal_check_d)) {
+ if (fll_program_standard_signal_received(data->main)) {
+ fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
- *status = F_status_set_error(F_interrupt);
+ *status = F_status_set_error(F_interrupt);
- return 0;
+ return 0;
+ }
}
if (*status == F_child) return return_code;
if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
f_file_stream_lock(data->main->error.to);
- fake_print_line_first_unlocked(data->setting, data->main->error);
-
fl_print_format("%[%QFailed to find program '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context);
fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, program, data->main->error.notable);
fl_print_format("%[' for executing.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
#endif // _di_fake_execute_
#ifndef _di_fake_file_buffer_
- f_status_t fake_file_buffer(fake_data_t * const data, const f_string_static_t path_file, const bool required, f_string_dynamic_t * const 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 (fll_program_standard_signal_received(data->main)) {
- fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
+ if (!((++data->main->signal_check) % fake_signal_check_d)) {
+ if (fll_program_standard_signal_received(data->main)) {
+ fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
- return F_status_set_error(F_interrupt);
+ data->setting.state.status = F_status_set_error(F_interrupt);
+
+ return;
+ }
}
- f_status_t status = f_file_exists(path_file, F_true);
+ data->setting.state.status = f_file_exists(path_file, F_true);
- if (F_status_is_error(status)) {
- fake_print_error_file(data->setting, data->main->error, status, 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->setting.state.status)) {
+ fake_print_error_file(data->setting, data->main->error, macro_fake_f(f_file_exists), path_file, f_file_operation_find_s, fll_error_file_type_file_e);
- return status;
+ return;
}
- if (status == F_true) {
+ if (data->setting.state.status == F_true) {
{
off_t size_file = 0;
- status = f_file_size(path_file, F_true, &size_file);
+ data->setting.state.status = f_file_size(path_file, F_true, &size_file);
- if (F_status_is_error(status)) {
- fake_print_error_file(data->setting, data->main->error, status, 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->setting.state.status)) {
+ fake_print_error_file(data->setting, data->main->error, , macro_fake_f(f_file_size), path_file, f_file_operation_read_s, fll_error_file_type_file_e);
- return status;
+ return;
}
- if (size_file > fake_common_max_initial_buffer_d) {
- size_file = fake_common_max_initial_buffer_d;
+ if (size_file > fake_max_initial_buffer_d) {
+ size_file = fake_max_initial_buffer_d;
}
- status = f_string_dynamic_increase_by(size_file, buffer);
+ data->setting.state.status = f_string_dynamic_increase_by(size_file, buffer);
- if (F_status_is_error(status)) {
+ if (F_status_is_error(data->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->main->error, status, macro_fake_f(f_string_dynamic_increase_by), path_file, message, fll_error_file_type_file_e);
+ fake_print_error_file(data->setting, data->main->error, macro_fake_f(f_string_dynamic_increase_by), path_file, message, fll_error_file_type_file_e);
- return status;
+ return;
}
- status = F_true;
+ data->setting.state.status = F_true;
}
f_file_t file = f_file_t_initialize;
- status = f_file_stream_open(path_file, f_string_empty_s, &file);
+ data->setting.state.status = f_file_stream_open(path_file, f_string_empty_s, &file);
- if (F_status_is_error(status)) {
- fake_print_error_file(data->setting, data->main->error, status, 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->setting.state.status)) {
+ fake_print_error_file(data->setting, data->main->error, macro_fake_f(f_file_stream_open), path_file, f_file_operation_open_s, fll_error_file_type_file_e);
- return status;
+ return;
}
- status = f_file_stream_read(file, buffer);
+ data->setting.state.status = f_file_stream_read(file, buffer);
f_file_stream_flush(file);
f_file_stream_close(&file);
- if (F_status_is_error(status)) {
- fake_print_error_file(data->setting, data->main->error, status, 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->setting.state.status)) {
+ fake_print_error_file(data->setting, data->main->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;
}
}
else {
if (required) {
- status = F_status_set_error(F_file_found_not);
+ data->setting.state.status = F_status_set_error(F_file_found_not);
- fake_print_error_file(data->setting, data->main->error, status, macro_fake_f(f_file_exists), path_file, f_file_operation_find_s, fll_error_file_type_file_e);
+ fake_print_error_file(data->setting, data->main->error, macro_fake_f(f_file_exists), path_file, f_file_operation_find_s, fll_error_file_type_file_e);
}
}
-
- return status;
}
#endif // _di_fake_file_buffer_
#ifndef _di_fake_pipe_buffer_
- f_status_t fake_pipe_buffer(fake_data_t * const data, f_string_dynamic_t * const buffer) {
+ void fake_pipe_buffer(fake_data_t * const data, f_string_dynamic_t * const buffer) {
+
+ if (!data || !buffer) return;
- f_status_t status = F_none;
f_file_t file = f_file_t_initialize;
file.id = F_type_descriptor_input_d;
file.stream = F_type_input_d;
file.size_read = fake_default_allocation_pipe_d;
- status = f_string_dynamic_increase_by(fake_common_max_initial_buffer_d, buffer);
+ data->setting.state.status = f_string_dynamic_increase_by(fake_max_initial_buffer_d, buffer);
- if (F_status_is_error(status)) {
+ if (F_status_is_error(data->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->main->error, status, 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->setting, data->main->error, macro_fake_f(f_string_dynamic_increase_by), f_string_ascii_minus_s, message, fll_error_file_type_file_e);
- return status;
+ return;
}
// Reset the error state before processing.
clearerr(F_type_input_d);
do {
- if (fll_program_standard_signal_received(data->main)) {
- fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
+ if (!((++data->main->signal_check) % fake_signal_check_d)) {
+ if (fll_program_standard_signal_received(data->main)) {
+ fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
- return F_status_set_error(F_interrupt);
+ f_file_stream_read_block = F_status_set_error(F_interrupt);
+
+ return;
+ }
}
- status = f_file_stream_read_block(file, buffer);
+ data->setting.state.status = f_file_stream_read_block(file, buffer);
- } while (F_status_is_fine(status) && status != F_interrupt && status != F_none_eof);
+ } while (F_status_is_fine(data->setting.state.status) && data->setting.state.status != F_interrupt && data->setting.state.status != F_none_eof);
- if (F_status_is_error(status)) {
- fake_print_error_file(data->setting, data->main->error, status, 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->setting.state.status)) {
+ fake_print_error_file(data->setting, data->main->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;
}
-
- return status;
}
#endif // _di_fake_pipe_buffer_
#ifndef _di_fake_validate_parameter_paths_
f_status_t fake_validate_parameter_paths(fake_data_t * const data) {
- if (fll_program_standard_signal_received(data->main)) {
- fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
+ if (!((++data->main->signal_check) % fake_signal_check_d)) {
+ if (fll_program_standard_signal_received(data->main)) {
+ fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
- return F_status_set_error(F_interrupt);
+ return F_status_set_error(F_interrupt);
+ }
}
const f_string_static_t names[] = {
else if (requireds[i] == F_true) {
f_file_stream_lock(data->main->error.to);
- fake_print_line_first_unlocked(data->setting, data->main->error);
-
fl_print_format("%[%QNo valid path for the (required) directory parameter '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context);
fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, names[i], data->main->error.notable);
fl_print_format("%[' was found.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
#include <program/fake/main/common/string.h>
#include <program/fake/main/common/type.h>
#include <program/fake/main/common.h>
+#include <program/fake/main/build.h>
+#include <program/fake/main/build/enumeration.h>
+#include <program/fake/main/build/library.h>
+#include <program/fake/main/build/load.h>
+#include <program/fake/main/build/object.h>
+#include <program/fake/main/build/objects.h>
+#include <program/fake/main/build/print.h>
+#include <program/fake/main/build/print/compile.h>
+#include <program/fake/main/build/print/error.h>
+#include <program/fake/main/build/print/verbose.h>
+#include <program/fake/main/build/print/warning.h>
+#include <program/fake/main/build/program.h>
+#include <program/fake/main/build/skeleton.h>
+#include <program/fake/main/build/string.h>
+#include <program/fake/main/clean.h>
+#include <program/fake/main/fake/path_generate.h>
+#include <program/fake/main/make.h>
+#include <program/fake/main/make/load_fakefile.h>
+#include <program/fake/main/make/operate.h>
+#include <program/fake/main/make/operate_block.h>
+#include <program/fake/main/make/operate_process.h>
+#include <program/fake/main/make/operate_process_type.h>
+#include <program/fake/main/make/operate_validate.h>
+#include <program/fake/main/make/operate_validate_type.h>
+#include <program/fake/main/make/print.h>
+#include <program/fake/main/make/print/error.h>
+#include <program/fake/main/make/print/verbose.h>
+#include <program/fake/main/make/print/warning.h>
#include <program/fake/main/print.h>
-#include <program/fake/main/print-error.h>
-#include <program/fake/main/print-verbose.h>
-#include <program/fake/main/print-warning.h>
+#include <program/fake/main/print/context.h>
+#include <program/fake/main/print/error.h>
+#include <program/fake/main/print/operation.h>
+#include <program/fake/main/print/verbose.h>
+#include <program/fake/main/print/warning.h>
+#include <program/fake/main/skeleton.h>
#ifdef __cplusplus
extern "C" {
*
* @param data
* The program data.
+ *
+ * This alters data.setting.state.status:
+ * F_none on success.
+ * F_false on file not found and file is not required.
+ *
+ * F_file_found_not (with error bit) if file is not found and file is required.
+ * F_interrupt (with error bit) on interrupt signal received.
+ *
+ * Errors (with error bit) from: f_file_exists()
+ * Errors (with error bit) from: f_file_size()
+ * Errors (with error bit) from: f_file_stream_open()
+ * Errors (with error bit) from: f_file_stream_read()
+ * Errors (with error bit) from: f_string_dynamic_increase_by()
* @param path_file
* The path to the file to load.
* @param required
* @param buffer
* A buffer containing the contents of the file.
*
- * @return
- * F_none on success.
- * F_false on file not found and file is not required.
- *
- * F_file_found_not (with error bit) if file is not found and file is required.
- * F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal.
- *
- * Status codes (with error bit) are returned on any problem.
+ * @see f_file_exists()
+ * @see f_file_size()
+ * @see f_file_stream_open()
+ * @see f_file_stream_read()
+ * @see f_string_dynamic_increase_by()
*/
#ifndef _di_fake_file_buffer_
- extern f_status_t fake_file_buffer(fake_data_t * const data, const f_string_static_t path_file, const bool required, f_string_dynamic_t * const buffer);
+ extern 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);
#endif // _di_fake_file_buffer_
/**
*
* @param data
* The program data.
- * @param buffer
- * A buffer containing the contents of the file.
*
- * @return
- * F_none on success.
+ * This alters data.setting.state.status:
+ * F_none on success.
*
- * F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal.
+ * F_interrupt (with error bit) on interrupt signal received.
*
- * Status codes (with error bit) are returned on any problem.
+ * Errors (with error bit) from: f_file_stream_read_block()
+ * Errors (with error bit) from: f_string_dynamic_increase_by()
+ * @param buffer
+ * A buffer containing the contents of the file.
+ *
+ * @see f_file_stream_read_block()
+ * @see f_string_dynamic_increase_by()
*/
#ifndef _di_fake_pipe_buffer_
- extern f_status_t fake_pipe_buffer(fake_data_t * const data, f_string_dynamic_t * const buffer);
+ extern void fake_pipe_buffer(fake_data_t * const data, f_string_dynamic_t * const buffer);
#endif // _di_fake_pipe_buffer_
/**
#include "../fake.h"
-#include "path_generate.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _di_fake_path_generate_
- f_status_t fake_path_generate(fake_data_t * const data) {
+ void fake_path_generate(fake_data_t * const data) {
- f_status_t status = F_none;
+ if (!data) return;
+
+ data->setting.state.status = F_none;
uint8_t i = 0;
{
values[i][j]->used = 0;
} // for
- status = fake_path_generate_string_dynamic(data, sources[i], values[i], parameters_size[i]);
+ fake_path_generate_string_dynamic(data, sources[i], values[i], parameters_size[i]);
- if (F_status_is_error(status)) {
- fake_print_error(data->setting, data->main->error, status, macro_fake_f(fake_path_generate_string_dynamic));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, data->setting.state.status, macro_fake_f(fake_path_generate_string_dynamic));
- return status;
+ return;
}
} // for
}
for (i = 0; i < 13; ++i) {
- status = f_string_dynamic_append_nulless(sources[i], values[i]);
+ data->setting.state.status = f_string_dynamic_append_nulless(sources[i], values[i]);
- if (F_status_is_error(status)) {
- fake_print_error(data->setting, data->main->error, status, macro_fake_f(f_string_dynamic_append_nulless));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, macro_fake_f(f_string_dynamic_append_nulless));
- return status;
+ return;
}
} // for
}
for (i = 0; i < 5; ++i) {
- status = fake_path_generate_string_dynamic(data, sources[i], values[i], parameters_size[i]);
+ fake_path_generate_string_dynamic(data, sources[i], values[i], parameters_size[i]);
- if (F_status_is_error(status)) {
- fake_print_error(data->setting, data->main->error, status, macro_fake_f(fake_path_generate_string_dynamic));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, macro_fake_f(fake_path_generate_string_dynamic));
- return status;
+ return;
}
} // for
}
for (i = 0; i < 16; ++i) {
- status = f_string_dynamic_append_nulless(sources[i], values[i]);
+ data->setting.state.status = f_string_dynamic_append_nulless(sources[i], values[i]);
- if (F_status_is_error(status)) {
- fake_print_error(data->setting, data->main->error, status, macro_fake_f(f_string_dynamic_append_nulless));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, macro_fake_f(f_string_dynamic_append_nulless));
- return status;
+ return;
}
} // for
}
values[i]->used = 0;
- status = f_string_dynamic_append_nulless(data->setting->work, values[i]);
+ data->setting.state.status = f_string_dynamic_append_nulless(data->setting->work, values[i]);
- if (F_status_is_error(status)) {
- fake_print_error(data->setting, data->main->error, status, macro_fake_f(f_string_dynamic_append_nulless));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, macro_fake_f(f_string_dynamic_append_nulless));
- return status;
+ return;
}
} // for
}
for (i = 0; i < 3; ++i) {
- status = f_string_dynamic_append_nulless(sources[i], values[i]);
+ data->setting.state.status = f_string_dynamic_append_nulless(sources[i], values[i]);
- if (F_status_is_error(status)) {
- fake_print_error(data->setting, data->main->error, status, macro_fake_f(f_string_dynamic_append_nulless));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, macro_fake_f(f_string_dynamic_append_nulless));
- return status;
+ return;
}
} // for
}
for (i = 0; i < 2; ++i) {
- status = fake_path_generate_string_dynamic(data, sources[i], values[i], parameters_size[i]);
+ data->setting.state.status = fake_path_generate_string_dynamic(data, sources[i], values[i], parameters_size[i]);
- if (F_status_is_error(status)) {
- fake_print_error(data->setting, data->main->error, status, macro_fake_f(fake_path_generate_string_dynamic));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, macro_fake_f(fake_path_generate_string_dynamic));
- return status;
+ return;
}
} // for
}
for (i = 0; i < 6; ++i) {
- status = f_string_dynamic_append_nulless(sources[i], values[i]);
+ data->setting.state.status = f_string_dynamic_append_nulless(sources[i], values[i]);
- if (F_status_is_error(status)) {
- fake_print_error(data->setting, data->main->error, status, macro_fake_f(f_string_dynamic_append_nulless));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data->setting, data->main->error, data->setting.state.status, macro_fake_f(f_string_dynamic_append_nulless));
- return status;
+ return;
}
} // for
}
}
- return F_none;
+ data->setting.state.status = F_none;
}
#endif // _di_fake_path_generate_
#ifndef _di_fake_path_generate_string_dynamic_
- f_status_t 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) {
+ 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) return;
- f_status_t status = F_none;
+ data->setting.state.status = F_none;
for (uint8_t i = 0; i < length; ++i) {
- status = f_string_dynamic_append_nulless(source, destination[i]);
- if (F_status_is_error(status)) return status;
+ data->setting.state.status = f_string_dynamic_append_nulless(source, destination[i]);
+ if (F_status_is_error(data->setting.state.status)) break;
} // for
-
- return F_none;
}
#endif // _di_fake_path_generate_string_dynamic_
* @param data
* The program data.
*
- * @return
- * F_none on success.
+ * This alters data.setting.state.status:
+ * F_none on success.
*
- * Status codes (with error bit) are returned on any problem.
+ * Errors (with error bit) from: f_string_dynamic_append_nulless().
+ * Errors (with error bit) from: fake_path_generate_string_dynamic().
+ *
+ * @see f_string_dynamic_append_nulless()
+ *
+ * @see fake_path_generate_string_dynamic()
*/
#ifndef _di_fake_path_generate_
- extern f_status_t fake_path_generate(fake_data_t * const data);
+ extern void fake_path_generate(fake_data_t * const data);
#endif // _di_fake_path_generate_
/**
*
* The given source is applied to each destination.
*
- * @param daa
+ * @param data
* The program data.
+ *
+ * This alters data.setting.state.status:
+ * F_none on success.
+ *
+ * Errors (with error bit) from: f_string_dynamic_append_nulless().
+ *
* @param source
* The string to copy from.
* @param destination
* @param length
* The size of the values.
*
- * @return
- * F_none on success.
- *
- * Status codes (with error bit) are returned on any problem.
+ * @see f_string_dynamic_append_nulless()
*/
#ifndef _di_fake_path_generate_string_dynamic_
- extern f_status_t fake_path_generate_string_dynamic(fake_data_t * const data, const f_string_dynamic_t source, f_string_dynamic_t *destination[], const uint8_t size);
+ extern 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 size);
#endif // _di_fake_path_generate_string_dynamic_
#ifdef __cplusplus
#include "fake.h"
-#include "make.h"
#ifdef __cplusplus
extern "C" {
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_make_h
-#define _PRIVATE_make_h
+#ifndef _fake_make_h
+#define _fake_make_h
#ifdef __cplusplus
extern "C" {
} // extern "C"
#endif
-#endif // _PRIVATE_make_h
+#endif // _fake_make_h
#include "../fake.h"
-#include "../build/load.h"
-#include "load_fakefile.h"
-#include "operate_validate.h"
-#include "print-error.h"
-#include "print-warning.h"
#ifdef __cplusplus
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;
- f_state_t state = macro_f_state_t_initialize_1(fake_common_allocation_large_d, fake_common_allocation_small_d, F_none, 0, 0, &fll_program_standard_signal_handle, 0, (void *) data_make->main, 0);
+ 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_make->main, 0);
*status = fll_fss_basic_list_read(data_make->buffer, state, &range, &list_objects, &list_contents, &delimits, 0, &comments);
bool missing_settings = F_true;
f_fss_set_t settings = f_fss_set_t_initialize;
- f_state_t state = macro_f_state_t_initialize_1(fake_common_allocation_large_d, fake_common_allocation_small_d, F_none, 0, 0, &fll_program_standard_signal_handle, 0, (void *) data_make->main, 0);
+ 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_make->main, 0);
if (list_objects.used > data_make->fakefile.size) {
macro_f_fss_nameds_t_resize((*status), data_make->fakefile, list_objects.used);
#include "../fake.h"
-#include "load_parameters.h"
#ifdef __cplusplus
extern "C" {
#include "../fake.h"
-#include "../print.h"
-#include "load_parameters.h"
-#include "load_fakefile.h"
-#include "operate.h"
-#include "operate_block.h"
-#include "operate_process.h"
-#include "operate_validate.h"
-#include "print.h"
-#include "print-error.h"
-#include "print-warning.h"
#ifdef __cplusplus
extern "C" {
#ifndef _di_fake_make_operate_
f_status_t fake_make_operate(fake_data_t * const data) {
- if (fll_program_standard_signal_received(data->main)) {
- fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
+ if (!((++data->main->signal_check) % fake_signal_check_d)) {
+ if (fll_program_standard_signal_received(data->main)) {
+ fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
- return F_status_set_error(F_interrupt);
+ return F_status_set_error(F_interrupt);
+ }
}
fake_make_print_now_making(data->setting, data->main->message, data->setting->fakefile);
f_iki_data_t *iki_data = &data_make->cache_iki;
- f_state_t state = macro_f_state_t_initialize_1(fake_common_allocation_large_d, fake_common_allocation_small_d, F_none, 0, 0, &fll_program_standard_signal_handle, 0, (void *) data_make->main, 0);
+ 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_make->main, 0);
f_string_range_t range = f_string_range_t_initialize;
f_string_map_multis_t *parameter = &data_make->setting_make.parameter;
#endif // _di_fake_make_operate_expand_context_
#ifndef _di_fake_make_operate_expand_environment_
- f_status_t fake_make_operate_expand_environment(fake_make_data_t * const data_make, const uint8_t quote, const f_string_range_t range_name) {
+ void fake_make_operate_expand_environment(fake_make_data_t * const data_make, const uint8_t quote, const f_string_range_t range_name) {
- f_status_t status = F_none;
+ data->setting.state.status = F_none;
data_make->cache_1.used = 0;
data_make->cache_2.used = 0;
- status = f_string_dynamic_increase_by((range_name.stop - range_name.start) + 2, &data_make->cache_1);
+ data->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(status)) {
- status = f_string_dynamic_partial_append_nulless(data_make->buffer, range_name, &data_make->cache_1);
+ if (F_status_is_error_not(data->setting.state.status)) {
+ data->setting.state.status = f_string_dynamic_partial_append_nulless(data_make->buffer, range_name, &data_make->cache_1);
}
- if (F_status_is_error_not(status)) {
- status = f_environment_get(data_make->cache_1, &data_make->cache_2);
+ if (F_status_is_error_not(data->setting.state.status)) {
+ data->setting.state.status = f_environment_get(data_make->cache_1, &data_make->cache_2);
}
- if (F_status_is_error(status)) return status;
- if (status == F_exist_not) return F_false;
+ if (F_status_is_error(data->setting.state.status)) return;
- status = f_string_dynamics_increase(fake_default_allocation_small_d, &data_make->cache_arguments);
+ if (data->setting.state.status == F_exist_not) {
+ data->setting.state.status = F_false;
- if (F_status_is_error_not(status)) {
- status = f_string_dynamic_increase_by(data_make->cache_2.used + 1, &data_make->cache_arguments.array[data_make->cache_arguments.used]);
+ return;
}
- if (F_status_is_error_not(status)) {
- status = f_string_dynamic_append_nulless(data_make->cache_2, &data_make->cache_arguments.array[data_make->cache_arguments.used]);
+ data->setting.state.status = f_string_dynamics_increase(fake_default_allocation_small_d, &data_make->cache_arguments);
+
+ if (F_status_is_error_not(data->setting.state.status)) {
+ data->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(status)) return status;
+ if (F_status_is_error_not(data->setting.state.status)) {
+ data->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->setting.state.status)) return;
if (!quote) {
++data_make->cache_arguments.used;
- status = f_string_dynamics_increase(fake_default_allocation_small_d, &data_make->cache_arguments);
- if (F_status_is_error(status)) return status;
+ data->setting.state.status = f_string_dynamics_increase(fake_default_allocation_small_d, &data_make->cache_arguments);
+ if (F_status_is_error(data->setting.state.status)) return;
}
- if (data_make->cache_2.used) return F_true;
-
- return F_data_not;
+ data->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, f_status_t * const status) {
+ 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 (F_status_is_error(*status) || *status == F_child) return data_make->data->main->child;
+ if (!data_make || !section_stack) return 0;
+ if (F_status_is_error(data->setting.state.status) || data->setting.state.status == F_child) return data_make->data->main->child;
if (id_section >= data_make->fakefile.used) {
- *status = F_status_set_error(F_parameter);
+ data->setting.state.status = F_status_set_error(F_parameter);
- fake_print_error(data_make->setting, data_make->error, F_parameter, macro_fake_f(fake_make_operate_section));
+ fake_print_error(data_make->setting, data_make->error, macro_fake_f(fake_make_operate_section));
return 0;
}
// Add the operation id to the operation stack.
- *status = f_array_lengths_increase(fake_default_allocation_small_d, section_stack);
+ data->setting.state.status = f_array_lengths_increase(fake_default_allocation_small_d, section_stack);
- if (F_status_is_error(*status)) {
- fake_print_error(data_make->setting, data_make->error, *status, macro_fake_f(f_array_lengths_increase));
+ if (F_status_is_error(data->setting.state.status)) {
+ fake_print_error(data_make->setting, data_make->error, macro_fake_f(f_array_lengths_increase));
return 0;
}
f_array_length_t i = 0;
f_array_length_t j = 0;
- for (i = 0; i < section->objects.used; ++i, *status = F_none) {
+ for (i = 0; i < section->objects.used; ++i, data->setting.state.status = F_none) {
for (j = 0; j < data_make->cache_arguments.size; ++j) {
data_make->cache_arguments.array[j].used = 0;
state_process.operation_previous = state_process.operation;
state_process.operation = 0;
- if (!(i % fake_signal_check_short_d)) {
+ if (!((++data_make->main->signal_check) % fake_signal_check_short_d)) {
if (fll_program_standard_signal_received(data_make->main)) {
fll_program_print_signal_received(data_make->main->warning, data_make->data->setting->line_first, data_make->main->signal_received);
- *status = F_status_set_error(F_interrupt);
+ data->setting.state.status = F_status_set_error(F_interrupt);
break;
}
data_make->main->signal_check = 0;
}
- for (j = 0; j < fake_common_max_operation_d; ++j) {
+ for (j = 0; j < fake_max_operation_d; ++j) {
if (fl_string_dynamic_partial_compare_string(operations_name[j].string, data_make->buffer, operations_name[j].used, section->objects.array[i]) == F_equal_to) {
state_process.operation = operations_type[j];
if (!state_process.operation) {
fake_print_error_operation_unknown(data_make->setting, data_make->error, data_make->buffer, section->name, section->objects.array[i]);
- *status = F_status_set_error(F_valid_not);
+ data->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_common_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_common_max_stack_d);
+ 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);
- *status = F_status_set_error(F_recurse);
+ data->setting.state.status = F_status_set_error(F_recurse);
}
}
- fake_make_operate_expand(data_make, section->name, section->contents.array[i], section->quotess.array[i], status);
+ fake_make_operate_expand(data_make, section->name, section->contents.array[i], section->quotess.array[i]);
fake_make_operate_block_prepare(&state_process);
if (state_process.block != fake_state_process_block_done_e && state_process.block != fake_state_process_block_skip_e) {
- fake_make_operate_validate(data_make, section->name, &state_process, section_stack, status);
+ fake_make_operate_validate(data_make, section->name, &state_process, section_stack);
}
- if (F_status_is_error(*status)) {
+ if (F_status_is_error(data->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;
}
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, status);
- if (*status == F_child) return result;
+ result = fake_make_operate_process(data_make, section->name, &state_process, section_stack);
+ if (data->setting.state.status == F_child) return result;
}
- fake_make_operate_block_postprocess(i == section->objects.used, &state_process, status);
+ fake_make_operate_block_postprocess(data_make, i == section->objects.used, &state_process);
}
- if (F_status_set_fine(*status) == F_interrupt) break;
+ if (F_status_set_fine(data->setting.state.status) == F_interrupt) break;
- if (F_status_is_error(*status)) {
+ if (F_status_is_error(data->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(*status) == F_signal_abort && !section_stack->used) {
+ if (F_status_set_fine(data->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;
fake_print_error_operation_failed(data_make->setting, 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(*status) == F_signal_abort) break;
+ if (F_status_set_fine(data->setting.state.status) == F_signal_abort) break;
// F_signal_abort is used by the exit section operation.
- if (F_status_set_fine(*status) == F_signal_quit) {
+ if (F_status_set_fine(data->setting.state.status) == F_signal_quit) {
if (!section_stack->used) {
- *status = F_status_set_error(F_failure);
+ data->setting.state.status = F_status_set_error(F_failure);
}
break;
}
- if (data_make->setting_make.fail == fake_make_operation_fail_exit_e) {
- break;
- }
+ if (data_make->setting_make.fail == fake_make_operation_fail_exit_e) break;
}
- else if (*status == F_signal_abort) {
+ else if (data->setting.state.status == F_signal_abort) {
state_process.success = F_true;
// F_signal_abort is used by the break section operation.
break;
}
- else if (*status == F_signal_quit) {
+ else if (data->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) {
- *status = F_none;
+ data->setting.state.status = F_none;
}
break;
}
- else if (*status == F_failure) {
+ else if (data->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.
- *status = F_none;
+ data->setting.state.status = F_none;
state_process.success = F_false;
}
else {
}
} // for
- if (F_status_set_error(*status) == F_interrupt) return 0;
+ if (F_status_set_error(data->setting.state.status) == F_interrupt) return 0;
- if (i == section->objects.used && F_status_is_error_not(*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)) {
+ if (i == section->objects.used && F_status_is_error_not(data->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->main->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]);
- *status = F_status_set_error(F_failure);
+ data->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(*status) && section_stack->used > 1) {
- *status = F_status_set_error(F_failure);
+ if (state_process.success == F_false && F_status_is_error_not(data->setting.state.status) && section_stack->used > 1) {
+ data->setting.state.status = F_status_set_error(F_failure);
}
--section_stack->used;
*
* @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:
+ * F_none on success.
+ * F_child on child process exiting.
+ * F_signal_abort on abort signal received.
+ * F_signal_quit on quit signal received.
+ *
+ * F_failure (with error bit) on failure.
+ * F_interrupt (with error bit) on interrupt signal received.
+ * F_parameter (with error bit) on invalid parameter.
+ * F_recurse (with error bit) is returned if unable to recurse to another operation section (usually max stack depth reached).
+ * F_valid_not (with error bit) is returned if any part of the section is invalid, such as an invalid operation name.
+ *
+ * Errors (with error bit) from: f_array_lengths_increase()
+ * Errors (with error bit) from: fake_make_operate_block_postprocess()
+ * Errors (with error bit) from: fake_make_operate_block_prepare()
+ * Errors (with error bit) from: fake_make_operate_expand()
+ * Errors (with error bit) from: fake_make_operate_process()
+ * Errors (with error bit) from: fake_make_operate_validate()
* @param id_section
* The array location id within the fakefile of the section to operate on.
* @param section_stack
* The current operation stack.
- * @param status
- * F_none on success.
- *
- * F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal.
- * F_recurse (with error bit) is returned if unable to recurse to another operation section (usually max stack depth reached).
- * F_valid_not (with error bit) is returned if any part of the section is invalid, such as an invalid operation name.
- *
- * Status codes (with error bit) are returned on any problem.
*
* @return
* The return code of the execution process.
* This generally is only needed when F_child is returned, where this holds the return status of the child process.
+ *
+ * @see f_array_lengths_increase()
+ * @see fll_program_print_signal_received()
+ * @see fake_make_operate_block_postprocess()
+ * @see fake_make_operate_block_prepare()
+ * @see fake_make_operate_expand()
+ * @see fake_make_operate_process()
+ * @see fake_make_operate_validate()
*/
#ifndef _di_fake_make_operate_section_
- extern int fake_make_operate_section(fake_make_data_t * const data_make, const f_array_length_t id_section, f_array_lengths_t *section_stack, f_status_t * const status);
+ extern int fake_make_operate_section(fake_make_data_t * const data_make, const f_array_length_t id_section, f_array_lengths_t *section_stack);
#endif // _di_fake_make_operate_section_
#ifdef __cplusplus
#ifndef _di_fake_make_operate_block_prepare_
void fake_make_operate_block_prepare(fake_state_process_t * const state_process) {
+ if (!state_process) return;
+
if (state_process->block) {
if (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) {
#endif // _di_fake_make_operate_block_prepare_
#ifndef _di_fake_make_operate_block_postprocess_
- void fake_make_operate_block_postprocess(const bool last, fake_state_process_t * const state_process, f_status_t * const status) {
+ 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 || !state_process) return;
- if (F_status_is_error(*status)) {
+ if (F_status_is_error(data_make->setting.state.status)) {
state_process->block_result = fake_condition_result_error_e;
state_process->success_block = F_false;
*
* This is to be called once an operation is performed or skipped.
*
+ * @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.
* @param last
* If TRUE, then this is the last line.
* If FALSE, then this is not the last line.
* @param state_process
* The operation and if-condition states.
- * @param status
- * The status code.
*/
#ifndef _di_fake_make_operate_block_postprocess_
- extern void fake_make_operate_block_postprocess(const bool last, fake_state_process_t * const state_process, f_status_t * const status);
+ extern void fake_make_operate_block_postprocess(fake_make_data_t * const data_make, const bool last, fake_state_process_t * const state_process);
#endif // _di_fake_make_operate_block_postprocess_
#ifdef __cplusplus
#include "../fake.h"
-#include "../build.h"
-#include "../clean.h"
-#include "../print.h"
-#include "../skeleton.h"
-#include "operate.h"
-#include "operate_process.h"
-#include "operate_process_type.h"
-#include "print.h"
-#include "print-error.h"
-#include "print-verbose.h"
#ifdef __cplusplus
extern "C" {
#endif
#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, f_status_t * const status) {
+ 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 (*status == F_child) return data_make->data->main->child;
+ if (!data_make || !state_process || !section_stack) return 0;
+ if (data->setting.state.status == F_child) return data_make->data->main->child;
if (state_process->operation == fake_make_operation_type_break_e) {
- *status = fake_make_operate_process_type_break(data_make);
+ fake_make_operate_process_type_break(data_make);
}
else if (state_process->operation == fake_make_operation_type_build_e) {
- *status = fake_make_operate_process_type_build(data_make);
+ fake_make_operate_process_type_build(data_make);
}
else if (state_process->operation == fake_make_operation_type_clean_e) {
- *status = fake_make_operate_process_type_clean(data_make);
+ fake_make_operate_process_type_clean(data_make);
}
else if (state_process->operation == fake_make_operation_type_clone_e) {
- *status = fake_make_operate_process_type_copy(data_make, F_true);
+ fake_make_operate_process_type_copy(data_make, F_true);
}
else if (state_process->operation == fake_make_operation_type_compile_e) {
return fake_make_operate_process_type_compile(data_make, status);
}
else if (state_process->operation == fake_make_operation_type_copy_e) {
- *status = fake_make_operate_process_type_copy(data_make, F_false);
+ fake_make_operate_process_type_copy(data_make, F_false);
}
else if (state_process->operation == fake_make_operation_type_define_e) {
- *status = fake_make_operate_process_type_define(data_make);
+ fake_make_operate_process_type_define(data_make);
}
else if (state_process->operation == fake_make_operation_type_delete_e) {
- *status = fake_make_operate_process_type_deletes(data_make, F_false);
+ fake_make_operate_process_type_deletes(data_make, F_false);
}
else if (state_process->operation == fake_make_operation_type_deletes_e) {
- *status = fake_make_operate_process_type_deletes(data_make, F_true);
+ fake_make_operate_process_type_deletes(data_make, F_true);
}
else if (state_process->operation == fake_make_operation_type_else_e) {
// There is nothing to do.
}
else if (state_process->operation == fake_make_operation_type_exit_e) {
- *status = fake_make_operate_process_type_exit(data_make);
+ fake_make_operate_process_type_exit(data_make);
}
else if (state_process->operation == fake_make_operation_type_fail_e) {
fake_make_operate_process_type_fail(data_make);
}
else if (state_process->operation == fake_make_operation_type_group_e) {
- *status = fake_make_operate_process_type_groups(data_make, F_false);
+ fake_make_operate_process_type_groups(data_make, F_false);
}
else if (state_process->operation == fake_make_operation_type_groups_e) {
- *status = fake_make_operate_process_type_groups(data_make, F_true);
+ fake_make_operate_process_type_groups(data_make, F_true);
}
else if (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) {
- *status = fake_make_operate_process_type_condition(data_make, state_process);
+ fake_make_operate_process_type_condition(data_make, state_process);
}
else if (state_process->operation == fake_make_operation_type_index_e) {
return fake_make_operate_process_type_index(data_make, status);
}
else if (state_process->operation == fake_make_operation_type_link_e) {
- *status = fake_make_operate_process_type_link(data_make);
+ fake_make_operate_process_type_link(data_make);
}
else if (state_process->operation == fake_make_operation_type_mode_e) {
- *status = fake_make_operate_process_type_modes(data_make, F_false);
+ fake_make_operate_process_type_modes(data_make, F_false);
}
else if (state_process->operation == fake_make_operation_type_modes_e) {
- *status = fake_make_operate_process_type_modes(data_make, F_true);
+ fake_make_operate_process_type_modes(data_make, F_true);
}
else if (state_process->operation == fake_make_operation_type_move_e) {
- *status = fake_make_operate_process_type_move(data_make);
+ fake_make_operate_process_type_move(data_make);
}
else if (state_process->operation == fake_make_operation_type_operate_e) {
return fake_make_operate_process_type_operate(data_make, section_stack, status);
}
else if (state_process->operation == fake_make_operation_type_owner_e) {
- *status = fake_make_operate_process_type_owners(data_make, F_false);
+ fake_make_operate_process_type_owners(data_make, F_false);
}
else if (state_process->operation == fake_make_operation_type_owners_e) {
- *status = fake_make_operate_process_type_owners(data_make, F_true);
+ fake_make_operate_process_type_owners(data_make, F_true);
}
else if (state_process->operation == fake_make_operation_type_parameter_e) {
- *status = fake_make_operate_process_type_parameter(data_make);
+ fake_make_operate_process_type_parameter(data_make);
}
else if (state_process->operation == fake_make_operation_type_pop_e) {
- *status = fake_make_operate_process_type_pop(data_make);
+ fake_make_operate_process_type_pop(data_make);
}
else if (state_process->operation == fake_make_operation_type_print_e) {
- *status = fake_make_operate_process_type_print(data_make);
+ fake_make_operate_process_type_print(data_make);
}
else if (state_process->operation == fake_make_operation_type_run_e) {
- *status = fake_make_operate_process_run(data_make, F_false);
+ fake_make_operate_process_run(data_make, F_false);
}
else if (state_process->operation == fake_make_operation_type_shell_e) {
- *status = fake_make_operate_process_run(data_make, F_true);
+ fake_make_operate_process_run(data_make, F_true);
}
else if (state_process->operation == fake_make_operation_type_skeleton_e) {
- *status = fake_make_operate_process_type_skeleton(data_make);
+ fake_make_operate_process_type_skeleton(data_make);
}
else if (state_process->operation == fake_make_operation_type_to_e) {
- *status = fake_make_operate_process_type_to(data_make);
+ fake_make_operate_process_type_to(data_make);
}
else if (state_process->operation == fake_make_operation_type_top_e) {
- *status = fake_make_operate_process_type_top(data_make);
+ fake_make_operate_process_type_top(data_make);
}
else if (state_process->operation == fake_make_operation_type_touch_e) {
- *status = fake_make_operate_process_type_touch(data_make);
+ fake_make_operate_process_type_touch(data_make);
}
else if (state_process->operation == fake_make_operation_type_write_e) {
- *status = fake_make_operate_process_type_write(data_make);
+ fake_make_operate_process_type_write(data_make);
}
return 0;
*
* @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:
+ * F_none on success.
+ *
+ * F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal.
+ *
+ * Errors (with error bit) from: fake_make_operate_process_run()
+ * Errors (with error bit) from: fake_make_operate_process_type_break()
+ * Errors (with error bit) from: fake_make_operate_process_type_build()
+ * Errors (with error bit) from: fake_make_operate_process_type_clean()
+ * Errors (with error bit) from: fake_make_operate_process_type_copy()
+ * Errors (with error bit) from: fake_make_operate_process_type_compile()
+ * Errors (with error bit) from: fake_make_operate_process_type_copy()
+ * Errors (with error bit) from: fake_make_operate_process_type_define()
+ * Errors (with error bit) from: fake_make_operate_process_type_deletes()
+ * Errors (with error bit) from: fake_make_operate_process_type_deletes()
+ * Errors (with error bit) from: fake_make_operate_process_type_exit()
+ * Errors (with error bit) from: fake_make_operate_process_type_fail()
+ * Errors (with error bit) from: fake_make_operate_process_type_groups()
+ * Errors (with error bit) from: fake_make_operate_process_type_groups()
+ * Errors (with error bit) from: fake_make_operate_process_type_condition()
+ * Errors (with error bit) from: fake_make_operate_process_type_index()
+ * Errors (with error bit) from: fake_make_operate_process_type_link()
+ * Errors (with error bit) from: fake_make_operate_process_type_modes()
+ * Errors (with error bit) from: fake_make_operate_process_type_modes()
+ * Errors (with error bit) from: fake_make_operate_process_type_move()
+ * Errors (with error bit) from: fake_make_operate_process_type_operate()
+ * Errors (with error bit) from: fake_make_operate_process_type_owners()
+ * Errors (with error bit) from: fake_make_operate_process_type_owners()
+ * Errors (with error bit) from: fake_make_operate_process_type_parameter()
+ * Errors (with error bit) from: fake_make_operate_process_type_pop()
+ * Errors (with error bit) from: fake_make_operate_process_type_print()
+ * Errors (with error bit) from: fake_make_operate_process_type_skeleton()
+ * Errors (with error bit) from: fake_make_operate_process_type_to()
+ * Errors (with error bit) from: fake_make_operate_process_type_top()
+ * Errors (with error bit) from: fake_make_operate_process_type_touch()
+ * Errors (with error bit) from: fake_make_operate_process_type_write()
* @param section_name
* The section name.
* @param state_process
* The operation and if-condition states.
* @param section_stack
* The current operation stack.
- * @param status
- * F_none on success.
- *
- * F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal.
- *
- * Status codes (with error bit) are returned on any problem.
*
* @return
* The return code of the execution process.
*
* This generally is only needed when F_child is returned, where this holds the return status of the child process.
+ *
+ * @see fake_make_operate_process_run()
+ * @see fake_make_operate_process_type_break()
+ * @see fake_make_operate_process_type_build()
+ * @see fake_make_operate_process_type_clean()
+ * @see fake_make_operate_process_type_copy()
+ * @see fake_make_operate_process_type_compile()
+ * @see fake_make_operate_process_type_copy()
+ * @see fake_make_operate_process_type_define()
+ * @see fake_make_operate_process_type_deletes()
+ * @see fake_make_operate_process_type_deletes()
+ * @see fake_make_operate_process_type_exit()
+ * @see fake_make_operate_process_type_fail()
+ * @see fake_make_operate_process_type_groups()
+ * @see fake_make_operate_process_type_groups()
+ * @see fake_make_operate_process_type_condition()
+ * @see fake_make_operate_process_type_index()
+ * @see fake_make_operate_process_type_link()
+ * @see fake_make_operate_process_type_modes()
+ * @see fake_make_operate_process_type_modes()
+ * @see fake_make_operate_process_type_move()
+ * @see fake_make_operate_process_type_operate()
+ * @see fake_make_operate_process_type_owners()
+ * @see fake_make_operate_process_type_owners()
+ * @see fake_make_operate_process_type_parameter()
+ * @see fake_make_operate_process_type_pop()
+ * @see fake_make_operate_process_type_print()
+ * @see fake_make_operate_process_type_skeleton()
+ * @see fake_make_operate_process_type_to()
+ * @see fake_make_operate_process_type_top()
+ * @see fake_make_operate_process_type_touch()
+ * @see fake_make_operate_process_type_write()
*/
#ifndef _di_fake_make_operate_process_
- extern 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, f_status_t * const status);
+ extern 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);
#endif // _di_fake_make_operate_process_
/**
#include "../fake.h"
-#include "../build.h"
-#include "../clean.h"
-#include "../make.h"
-#include "../print.h"
-#include "../skeleton.h"
-#include "operate.h"
-#include "operate_process.h"
-#include "operate_process_type.h"
-#include "print.h"
-#include "print-error.h"
-#include "print-verbose.h"
-#include "print-warning.h"
#ifdef __cplusplus
extern "C" {
#endif // _di_fake_make_operate_process_type_break_
#ifndef _di_fake_make_operate_process_type_build_
- f_status_t fake_make_operate_process_type_build(fake_make_data_t * const data_make) {
+ void fake_make_operate_process_type_build(fake_make_data_t * const data_make) {
- const f_status_t status = fake_build_operate(data_make->data, data_make->cache_arguments.used ? &data_make->cache_arguments : 0, F_false);
- if (F_status_set_fine(status) == F_interrupt) return status;
+ if (!data_make) return;
- return fake_make_operate_process_return(data_make, F_status_is_error(status) ? 1 : 0);
+ fake_build_operate(data_make->data, data_make->cache_arguments.used ? &data_make->cache_arguments : 0, F_false);
+ if (F_status_set_fine(data->setting.state.status) == F_interrupt) return;
+
+ data->setting.state.status = fake_make_operate_process_return(data_make, F_status_is_error(data->setting.state.status) ? 1 : 0);
}
#endif // _di_fake_make_operate_process_type_build_
}
if (all) {
- status = fll_file_role_change_all(data_make->cache_arguments.array[i], -1, id, dereference, fake_common_max_recursion_depth_d);
+ status = fll_file_role_change_all(data_make->cache_arguments.array[i], -1, id, dereference, fake_max_recursion_depth_d);
}
else {
status = f_file_role_change(data_make->cache_arguments.array[i], -1, id, dereference);
}
if (all) {
- status = fll_file_mode_set_all(data_make->cache_arguments.array[i], F_true, mode, fake_common_max_recursion_depth_d);
+ status = fll_file_mode_set_all(data_make->cache_arguments.array[i], F_true, mode, fake_max_recursion_depth_d);
}
else {
status = f_file_mode_set(data_make->cache_arguments.array[i], mode);
}
if (all) {
- status = fll_file_role_change_all(data_make->cache_arguments.array[i], id, -1, dereference, fake_common_max_recursion_depth_d);
+ status = fll_file_role_change_all(data_make->cache_arguments.array[i], id, -1, dereference, fake_max_recursion_depth_d);
}
else {
status = f_file_role_change(data_make->cache_arguments.array[i], id, -1, dereference);
#include "../fake.h"
-#include "../print.h"
-#include "../make.h"
-#include "operate_validate.h"
-#include "operate_validate_type.h"
#ifdef __cplusplus
extern "C" {
#include "../fake.h"
-#include "../print.h"
-#include "../make.h"
-#include "operate_validate.h"
-#include "operate_validate_type.h"
-#include "print-error.h"
#ifdef __cplusplus
extern "C" {
#include "../fake.h"
-#include "print.h"
#ifdef __cplusplus
extern "C" {
#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);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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);
- fake_print_line_first_unlocked(setting, print);
-
fl_print_format("%[Processing Section '%]", print.to, 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);
* @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_lock()
+ * @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);
* @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_lock()
+ * @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);
-#include "../fake.h"
-#include "print-error.h"
+#include "../../fake.h"
#ifdef __cplusplus
extern "C" {
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
fl_print_format("%[%QIncomplete '%]", print.to, print.context, print.prefix, print.context);
if (operation == fake_make_operation_type_and_e) {
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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) {
- if (!setting || 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_print_context_wrapped_variable(setting, print, "No operation section named ", name, " is 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) {
- if (!setting || 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;
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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) {
- if (!setting || 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_print_context_simple(setting, print, "Must not attempt to pop project root off of path stack");
#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) {
- if (!setting || 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;
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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) {
- if (!setting || 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_print_context_wrapped_variable(setting, print, "Failed to find program ", program, " for executing");
#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) {
- if (!setting || 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_print_context_wrapped_variable(setting, print, "Cannot assign a value to the parameter name ", name, " because it is a 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) {
- if (!setting || 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_print_context_simple(setting, print, "Target file name argument must not be an empty string");
#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) {
- if (!setting || 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_print_context_wrapped_variable(setting, print, "Invalid or unsupported number provided ", number, 0);
#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) {
- if (!setting || 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;
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
-#include "../fake.h"
-#include "print-verbose.h"
+#include "../../fake.h"
#ifdef __cplusplus
extern "C" {
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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);
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ 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);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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);
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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);
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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);
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
-
- f_file_stream_lock(print.to);
-
- fake_print_line_first_unlocked(setting, print);
-
- fl_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);
+ 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_unlock(print.to);
+ 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;
}
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ 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);
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ 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);
- fake_print_line_first_unlocked(setting, print);
-
f_print_terminated("Set failure state to '", print.to);
if (fail == fake_make_operation_fail_exit_e) {
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ 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);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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) {
+ if (!setting) 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);
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ 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);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ 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);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
* @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.
*/
#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);
-#include "../fake.h"
-#include "print-warning.h"
+#include "../../fake.h"
#ifdef __cplusplus
extern "C" {
#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, const f_status_t status) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ 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);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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");
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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");
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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");
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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");
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ 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);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ 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);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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");
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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");
* @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_lock()
+ * @see f_file_stream_unlock()
+ * @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, const f_status_t 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_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);
* @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_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);
* @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_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);
* @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_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);
* @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_lock()
+ * @see f_file_stream_unlock()
+ * @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);
* @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_lock()
+ * @see f_file_stream_unlock()
+ * @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);
* @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_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);
* @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_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 "C" {
#endif
-#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) {
-
- if (!setting) return;
-
- f_file_stream_lock(print.to);
-
- fake_print_line_first_unlocked(setting, print);
-
- fl_print_format("%[%Q%S.%]%r", print.to, print.context, print.prefix, message, print.context, f_string_eol_s);
-
- f_file_stream_unlock(print.to);
- }
-#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) {
-
- if (!setting) return;
-
- f_file_stream_lock(print.to);
-
- fake_print_line_first_unlocked(setting, print);
-
- 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);
- }
-#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) {
-
- if (!setting) return;
-
- f_file_stream_lock(print.to);
-
- fake_print_line_first_unlocked(setting, print);
-
- 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);
- }
-#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) {
-
- if (!setting) return;
-
- f_file_stream_lock(print.to);
-
- fake_print_line_first_unlocked(setting, print);
-
- 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);
- }
-#endif // _di_fake_print_context_wrapped_parameter_
-
-#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) {
-
- if (!setting) return;
-
- f_file_stream_lock(print.to);
-
- fake_print_line_first_unlocked(setting, print);
-
- 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);
- }
-#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) {
-
- if (!setting) return;
-
- f_file_stream_lock(print.to);
-
- fake_print_line_first_unlocked(setting, print);
-
- 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);
- }
-#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) {
-
- if (!setting) return;
-
- f_file_stream_lock(print.to);
-
- fake_print_line_first_unlocked(setting, print);
-
- 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);
- }
-#endif // _di_fake_print_context_wrapped_variables_
-
#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 || print.verbosity < f_console_verbosity_normal_e) return F_output_not;
+ 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");
}
#endif // _di_fake_print_help_
-#ifndef _di_fake_print_important_simple_
- void fake_print_important_simple(fake_setting_t * const setting, const fl_print_t print, const f_string_t message) {
-
- const fl_print_t custom = macro_fl_print_t_initialize(print.to, print.verbosity, f_string_empty_s, f_string_empty_s, print.set->important, print.set->notable, print.set);
-
- fake_print_context_simple(setting, custom, message);
- }
-#endif // _di_fake_print_important_simple_
-
-#ifndef _di_fake_print_line_first_locked_
- f_status_t fake_print_line_first_locked(fake_setting_t * const setting, const fl_print_t print) {
+#ifndef _di_fake_print_line_first_
+ f_status_t fake_print_line_first(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_error_e) return F_output_not;
- if (setting->flag & fake_main_flag_print_first_e) {
- fll_print_dynamic_raw(setting->line_first, print.to);
-
- setting->flag -= fake_main_flag_print_first_e;
+ if (F_status_is_error_not(setting->state.status)) {
+ if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
+ if (setting->flag & fss_write_main_flag_file_to_e) return F_output_not;
}
- else {
- fll_print_dynamic_raw(f_string_eol_s, print.to);
- }
-
- return F_none;
- }
-#endif // _di_fake_print_line_first_locked_
-
-#ifndef _di_fake_print_line_first_unlocked_
- f_status_t fake_print_line_first_unlocked(fake_setting_t * const setting, const fl_print_t print) {
-
- if (!setting) return F_status_set_error(F_output_not);
if (setting->flag & fake_main_flag_print_first_e) {
fll_print_dynamic_raw(setting->line_first, print.to);
setting->flag -= fake_main_flag_print_first_e;
}
- else {
- fll_print_dynamic_raw(f_string_eol_s, print.to);
- }
-
- return F_none;
- }
-#endif // _di_fake_print_line_first_unlocked_
-
-#ifndef _di_fake_print_line_last_locked_
- f_status_t fake_print_line_last_locked(fake_setting_t * const setting, const fl_print_t print) {
-
- if (!setting) return F_status_set_error(F_output_not);
-
- fll_print_dynamic_raw(setting->line_last, print.to);
return F_none;
}
-#endif // _di_fake_print_line_last_locked_
+#endif // _di_fake_print_line_first_
-#ifndef _di_fake_print_line_last_unlocked_
- f_status_t fake_print_line_last_unlocked(fake_setting_t * const setting, const fl_print_t print) {
+#ifndef _di_fake_print_line_last_
+ f_status_t fake_print_line_last(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_error_e) return F_output_not;
- f_print_dynamic_raw(setting->line_last, print.to);
-
- return F_none;
- }
-#endif // _di_fake_print_line_last_unlocked_
-
-#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) {
-
- if (!setting || print.verbosity < f_console_verbosity_normal_e) return F_output_not;
-
- f_file_stream_lock(print.to);
-
- fake_print_line_first_unlocked(setting, print);
-
- fl_print_format("All 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);
-
- 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) {
-
- if (!setting || print.verbosity < f_console_verbosity_normal_e) return F_output_not;
-
- f_file_stream_lock(print.to);
-
- fake_print_line_first_unlocked(setting, print);
-
- 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);
- }
- else if (operation == fake_operation_clean_e) {
- 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);
+ if (F_status_is_error_not(setting->state.status)) {
+ if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
+ if (setting->flag & fss_write_main_flag_file_to_e) return F_output_not;
}
- else if (operation == fake_operation_skeleton_e) {
- 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);
- f_file_stream_flush(print.to);
- f_file_stream_unlock(print.to);
+ fll_print_dynamic_raw(setting->line_last, print.to);
return F_none;
}
-#endif // _di_fake_print_operation_cancelled_
+#endif // _di_fake_print_line_last_
#ifndef _di_fake_print_simple_
void fake_print_simple(fake_setting_t * const setting, const fl_print_t print, const f_string_t message) {
- f_file_stream_lock(print.to);
-
- fake_print_line_first_unlocked(setting, print);
+ if (!setting) return;
fll_print_format("%S.%r", print.to, message, f_string_eol_s);
-
- f_file_stream_unlock(print.to);
}
#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) {
- f_file_stream_lock(print.to);
-
- fake_print_line_first_unlocked(setting, print);
+ if (!setting) return;
fll_print_format("%S'%[%Q%]'.%r", print.to, message, print.set->notable, variable, print.set->notable, f_string_eol_s);
-
- f_file_stream_unlock(print.to);
}
#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) {
- f_file_stream_lock(print.to);
-
- fake_print_line_first_unlocked(setting, print);
+ 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);
-
- f_file_stream_unlock(print.to);
}
#endif // _di_fake_print_wrapped_variable_
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
#endif
/**
- * 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.
- *
- * @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 string to print.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- *
- * @see fake_print_line_first_unlocked()
- */
-#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);
-#endif // _di_fake_print_context_simple_
-
-/**
- * Print a variable context message with a before string, an after string, and a string variable.
- *
- * 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 f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- *
- * @see fake_print_line_first_unlocked()
- */
-#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);
-#endif // _di_fake_print_context_simple_variable_
-
-/**
- * Print a variable context message with a before string, an after string, and an unsigned number variable.
- *
- * 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 number
- * The number 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()
- *
- * @see fake_print_line_first_unlocked()
- */
-#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);
-#endif // _di_fake_print_context_wrapped_number_
-
-/**
- * Print a parameter context message with a before string, an after string, a string symbol, and a parameter name.
- *
- * 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 symbol
- * The string representing the symbol for the parameter.
- * Set to f_string_empty_s to disable.
- * @param name
- * The string representing the parameter name.
- * @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()
- *
- * @see fake_print_line_first_unlocked()
- */
-#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);
-#endif // _di_fake_print_context_wrapped_parameter_
-
-/**
- * Print a parameter context message with a there parameters, with symbols, and wrapping strings.
- *
- * 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 symbol_1
- * The string representing the symbol for the parameter.
- * Set to f_string_empty_s to disable.
- * @param name_1
- * The string representing the parameter name.
- * @param middle_1
- * 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 symbol_2
- * The string representing the symbol for the parameter.
- * Set to f_string_empty_s to disable.
- * @param name_2
- * The string representing the parameter name.
- * @param middle_2
- * 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 symbol_3
- * The string representing the symbol for the parameter.
- * Set to f_string_empty_s to disable.
- * @param name_3
- * The string representing the parameter name.
- * @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()
- *
- * @see fake_print_line_first_unlocked()
- */
-#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);
-#endif // _di_fake_print_context_wrapped_parameter_
-
-/**
- * Print a wrapped context message with a before string, an after string, and a string variable.
- *
- * 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 f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- *
- * @see fake_print_line_first_unlocked()
- */
-#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);
-#endif // _di_fake_print_context_wrapped_variable_
-
-/**
- * Print a wrapped context 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()
- *
- * @see fake_print_line_first_unlocked()
- */
-#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);
-#endif // _di_fake_print_context_wrapped_variables_
-
-/**
* Print a message about generating skeleton.
*
* @param setting
* @return
* F_none on success.
* F_output_not on success, but no printing is performed.
- *
- * @see fake_print_line_first_unlocked()
*/
#ifndef _di_fake_print_generating_skeleton_
extern f_status_t fake_print_generating_skeleton(fake_setting_t * const setting, const fl_print_t print);
* 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 a simple message 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.)
- *
- * This does not alter setting.state.status.
- * @param print
- * The output structure to print to.
- * @param message
- * The string to print.
- *
- * @see fake_print_context_simple()
- */
-#ifndef _di_fake_print_important_simple_
- extern void fake_print_important_simple(fake_setting_t * const setting, const fl_print_t print, const f_string_t message);
-#endif // _di_fake_print_important_simple_
-
-/**
* Print first new line, unless verbosity says otherwise.
*
* This is generally either the first line in the program or the first line printed before an error message.
* F_output_not on success, but no printing is performed.
*
* F_output_not (with error bit) if setting is NULL.
- */
-#ifndef _di_fake_print_line_first_locked_
- extern f_status_t fake_print_line_first_locked(fake_setting_t * const setting, const fl_print_t print);
-#endif // _di_fake_print_line_first_locked_
-
-/**
- * Print first new line, unless verbosity says otherwise.
- *
- * This is generally either the first line in the program or the first line printed before an error message.
- *
- * Once the first line is processed (printed or not), then this will print new lines normally.
*
- * This function neither locks nor unlocks the input stream.
- *
- * @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 fll_print_dynamic_raw()
*/
-#ifndef _di_fake_print_line_first_unlocked_
- extern f_status_t fake_print_line_first_unlocked(fake_setting_t * const setting, const fl_print_t print);
-#endif // _di_fake_print_line_first_unlocked_
+#ifndef _di_fake_print_line_first_
+ extern f_status_t fake_print_line_first(fake_setting_t * const setting, const fl_print_t print);
+#endif // _di_fake_print_line_first_
/**
* Print last new line when the main is complete, unless verbosity says otherwise.
* F_output_not on success, but no printing is performed.
*
* F_output_not (with error bit) if setting is NULL.
- */
-#ifndef _di_fake_print_line_last_locked_
- extern f_status_t fake_print_line_last_locked(fake_setting_t * const setting, const fl_print_t print);
-#endif // _di_fake_print_line_last_locked_
-
-/**
- * Print last new line when the main is complete, unless verbosity says otherwise.
- *
- * This is generally the very last line printed in the program.
- *
- * This function neither locks nor unlocks the input stream.
- *
- * @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 fll_print_dynamic_raw()
*/
-#ifndef _di_fake_print_line_last_unlocked_
- extern f_status_t fake_print_line_last_unlocked(fake_setting_t * const setting, const fl_print_t print);
-#endif // _di_fake_print_line_last_unlocked_
-
-/**
- * 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.
- *
- * @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.
- */
-#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);
-#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.
- * @param operation
- * The identifier of the operation that failed.
- *
- * @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.
- */
-#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);
-#endif // _di_fake_print_operation_cancelled_
+#ifndef _di_fake_print_line_last_
+ extern f_status_t fake_print_line_last(fake_setting_t * const setting, const fl_print_t print);
+#endif // _di_fake_print_line_last_
/**
* Print simple message.
* 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);
* 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);
* 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);
* @see f_file_stream_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
- *
- * @see fake_print_line_first_unlocked()
*/
#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);
--- /dev/null
+#include "../fake.h"
+
+#ifdef __cplusplus
+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) {
+
+ const fl_print_t custom = macro_fl_print_t_initialize(print.to, print.verbosity, f_string_empty_s, f_string_empty_s, print.set->important, print.set->notable, print.set);
+
+ fake_print_context_simple(setting, custom, message);
+ }
+#endif // _di_fake_print_context_important_simple_
+
+#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) {
+
+ if (!setting) return;
+
+ 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) {
+
+ if (!setting) return;
+
+ 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);
+
+ 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) {
+
+ if (!setting) return;
+
+ 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);
+
+ 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) {
+
+ if (!setting) return;
+
+ 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);
+
+ f_file_stream_unlock(print.to);
+ }
+#endif // _di_fake_print_context_wrapped_parameter_
+
+#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) {
+
+ if (!setting) return;
+
+ 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);
+
+ 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) {
+
+ if (!setting) return;
+
+ 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);
+
+ 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) {
+
+ if (!setting) return;
+
+ 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);
+
+ f_file_stream_unlock(print.to);
+ }
+#endif // _di_fake_print_context_wrapped_variables_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
--- /dev/null
+/**
+ * FLL - Level 3
+ *
+ * Project: Featureless Make
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ *
+ * Provides print context functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
+ */
+#ifndef _fake_print_context_h
+#define _fake_print_context_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Print a simple message 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.)
+ *
+ * This does not alter setting.state.status.
+ * @param print
+ * The output structure to print to.
+ * @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);
+#endif // _di_fake_print_context_important_simple_
+
+/**
+ * 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.
+ *
+ * @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 string to print.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @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);
+#endif // _di_fake_print_context_simple_
+
+/**
+ * Print a variable context message with a before string, an after string, and a string variable.
+ *
+ * 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 f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @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);
+#endif // _di_fake_print_context_simple_variable_
+
+/**
+ * Print a variable context message with a before string, an after string, and an unsigned number variable.
+ *
+ * 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 number
+ * The number 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_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);
+#endif // _di_fake_print_context_wrapped_number_
+
+/**
+ * Print a parameter context message with a before string, an after string, a string symbol, and a parameter name.
+ *
+ * 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 symbol
+ * The string representing the symbol for the parameter.
+ * Set to f_string_empty_s to disable.
+ * @param name
+ * The string representing the parameter name.
+ * @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_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);
+#endif // _di_fake_print_context_wrapped_parameter_
+
+/**
+ * Print a parameter context message with a there parameters, with symbols, and wrapping strings.
+ *
+ * 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 symbol_1
+ * The string representing the symbol for the parameter.
+ * Set to f_string_empty_s to disable.
+ * @param name_1
+ * The string representing the parameter name.
+ * @param middle_1
+ * 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 symbol_2
+ * The string representing the symbol for the parameter.
+ * Set to f_string_empty_s to disable.
+ * @param name_2
+ * The string representing the parameter name.
+ * @param middle_2
+ * 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 symbol_3
+ * The string representing the symbol for the parameter.
+ * Set to f_string_empty_s to disable.
+ * @param name_3
+ * The string representing the parameter name.
+ * @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_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);
+#endif // _di_fake_print_context_wrapped_parameter_
+
+/**
+ * Print a wrapped context message with a before string, an after string, and a string variable.
+ *
+ * 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 f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @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);
+#endif // _di_fake_print_context_wrapped_variable_
+
+/**
+ * Print a wrapped context 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_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);
+#endif // _di_fake_print_context_wrapped_variables_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _fake_print_context_h
-#include "fake.h"
+#include "../fake.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _di_fake_print_error_
- f_status_t fake_print_error(fake_setting_t * const setting, const fl_print_t print, const f_status_t status, const f_string_t function) {
+ f_status_t fake_print_error(fake_setting_t * const setting, const fl_print_t 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;
- fake_print_line_first_locked(setting, print);
-
- fll_error_print(print, F_status_set_fine(status), function, fll_error_file_flag_fallback_e);
+ fll_error_print(print, F_status_set_fine(data->setting.state.status), function, fll_error_file_flag_fallback_e);
return F_none;
}
#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) {
+ if (!setting) 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");
#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_status_t status, 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(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) {
+
+ if (!setting) return F_status_set_error(F_output_not);
- if (F_status_set_fine(status) == F_file_found_not) {
+ 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);
- fake_print_line_first_unlocked(setting, print);
-
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);
return F_false;
}
- if (F_status_set_fine(status) == F_parameter) {
+ if (F_status_set_fine(setting->state.status) == F_parameter) {
if (print.verbosity > f_console_verbosity_quiet_e) {
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
return F_false;
}
- if (F_status_set_fine(status) == F_name) {
+ if (F_status_set_fine(setting->state.status) == F_name) {
if (print.verbosity > f_console_verbosity_quiet_e) {
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
fl_print_format("%[%QInvalid name for '%]", print.to, print.context, print.prefix, print.context);
if (source.used) {
return F_false;
}
- if (F_status_set_fine(status) == F_memory_not) {
+ 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);
}
return F_false;
}
- if (F_status_set_fine(status) == F_number_overflow) {
+ 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);
}
return F_false;
}
- if (F_status_set_fine(status) == F_directory) {
+ 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);
}
return F_false;
}
- if (F_status_set_fine(status) == F_access_denied) {
+ 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);
}
return F_false;
}
- if (F_status_set_fine(status) == F_loop) {
+ 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);
}
return F_false;
}
- if (F_status_set_fine(status) == F_prohibited) {
+ 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);
}
return F_false;
}
- if (F_status_set_fine(status) == F_directory_found_not) {
+ 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");
return F_false;
}
- if (F_status_set_fine(status) == F_failure) {
+ 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);
}
return F_false;
}
- if (fll_error_print(print, F_status_set_fine(status), function, fll_error_file_flag_none_e) == F_known_not && fallback && print.verbosity > f_console_verbosity_quiet_e) {
+ 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);
- fake_print_line_first_unlocked(setting, print);
-
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(status), print.notable);
+ 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);
fake_print_error_build_operation_file_partial(setting, print, operation, source, destination, how);
#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) {
- if (!setting || 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;
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
fl_print_format("%[%Q%S", print.to, print.context, print.prefix, before);
if (source.used) {
#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) {
- if (!setting || print.verbosity < f_console_verbosity_error_e || !source.used) return;
+ if (!setting) return F_status_set_error(F_output_not);
+ 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);
#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) {
- if (!setting || 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_print_context_wrapped_variable(setting, print, "The directory ", path, " could not be created, a parent directory is missing or invalid");
#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) {
- if (!setting || 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;
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
fl_print_format("%[%QThe operation '%]%[", print.to, print.context, print.prefix, print.context, print.notable);
if (operation == fake_operation_build_e) {
#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) {
- if (!setting || 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_print_context_wrapped_variable(setting, print, "Failed to execute script ", script, "");
#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_status_t status, const f_string_t function) {
-
- if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not;
+ f_status_t fake_print_error_fallback(fake_setting_t * const setting, const fl_print_t print, const f_string_t function) {
- fake_print_line_first_locked(setting, print);
+ if (!setting) 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(status), function, fll_error_file_flag_none_e) == F_known_not) return F_false;
+ if (fll_error_print(print, F_status_set_fine(data->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_status_t status, const f_string_t function, const f_string_static_t name, const f_string_static_t operation, const uint8_t type) {
-
- if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not;
+ 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) {
- fake_print_line_first_locked(setting, print);
+ if (!setting) return F_status_set_error(F_output_not);
+ if (print.verbosity < f_console_verbosity_error_e) return F_output_not;
- fll_error_file_print(print, F_status_set_fine(status), function, fll_error_file_flag_fallback_e, name, operation, type);
+ fll_error_file_print(print, F_status_set_fine(setting->state.status), function, fll_error_file_flag_fallback_e, name, operation, type);
return F_none;
}
#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) {
- if (!setting || 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_print_context_wrapped_variable(setting, print, "The file ", path, " could not be created, a parent directory is missing or invalid");
}
#endif // _di_fake_print_error_file_create_parent_missing_
-#ifndef _di_fake_print_error_file_fallback_
- f_status_t fake_print_error_file_fallback(fake_setting_t * const setting, const fl_print_t print, const f_status_t status, const f_string_t function, const f_string_static_t name, const f_string_static_t operation, const uint8_t type) {
-
- if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not;
-
- fake_print_line_first_locked(setting, print);
-
- if (fll_error_file_print(print, F_status_set_fine(status), function, fll_error_file_flag_none_e, name, operation, type) == F_known_not) return F_false;
-
- return F_true;
- }
-#endif // _di_fake_print_error_file_fallback_
-
#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_status_t status, const f_string_t function, const f_string_static_t name, const f_string_static_t operation, const uint8_t type) {
-
- if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not;
+ 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) {
- fake_print_line_first_locked(setting, print);
+ if (!setting) return F_status_set_error(F_output_not);
+ if (print.verbosity < f_console_verbosity_error_e) return F_output_not;
- fll_error_file_print(print, F_status_set_fine(status), function, fll_error_file_flag_simple_e, name, operation, type);
+ fll_error_file_print(print, F_status_set_fine(data->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_status_t status, 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(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) {
- // Treat as if status code us unknown when there is no valid setting pointer.
- if (!setting) return F_true;
+ if (!setting) return F_status_set_error(F_output_not);
- if (status == F_file_found_not) {
+ if (data->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, ")");
}
return F_false;
}
- if (status == F_complete_not_utf || status == F_complete_not_utf_eos || status == F_complete_not_utf_stop) {
+ if (data->setting.state.status == F_complete_not_utf || data->setting.state.status == F_complete_not_utf_eos || data->setting.state.status == F_complete_not_utf_stop) {
if (print.verbosity > f_console_verbosity_quiet_e) {
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
- fl_print_format("%[%QOccurred on invalid UTF-8 character at %s (at '%]", print.to, print.context, print.prefix, status == F_complete_not_utf_eos ? "end of string" : "stop point of string", print.context);
+ fl_print_format("%[%QOccurred on invalid UTF-8 character at %s (at '%]", print.to, print.context, print.prefix, data->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);
return F_false;
}
- if (status == F_complete_not_utf_stop) {
+ if (data->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, ")");
}
return F_false;
}
- if (fll_error_print(print, status, function, fll_error_file_flag_none_e) == F_known_not && fallback) {
+ if (fll_error_print(print, data->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) status, ") in function ", function_s, "()");
+ fake_print_error_fss_message(setting, print, "UNKNOWN ", 0, (f_number_unsigned_t) data->setting.state.status, ") in function ", function_s, "()");
}
}
#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) {
- if (!setting || 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;
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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) {
- if (!setting || 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_print_context_wrapped_variable(setting, print, "The group ", group, " is 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) {
- if (!setting || 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_print_context_wrapped_variable(setting, print, "The mode ", mode, " is 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) {
- if (!setting || 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_print_context_wrapped_variable(setting, print, "The number ", number, " is 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) {
- if (!setting || 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;
f_array_length_t line = 1;
f_state_t state = f_state_t_initialize;
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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) {
- if (!setting || 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;
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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) {
- if (!setting || 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_print_context_wrapped_variable(setting, print, "The point file ", argument, " already 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) {
- if (!setting || 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_print_context_wrapped_variable(setting, print, "The target file ", argument, " does not exist");
#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_status_t status, const f_string_t function, const f_string_static_t path) {
+ 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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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(status) == F_false) {
+ if (F_status_set_fine(data->setting.state.status) == F_false) {
fake_print_context_wrapped_variable(setting, print, "The path ", path, " is outside the project root");
}
else {
- fake_print_error_file(setting, print, status, function, path, fake_common_file_path_determine_real_s, fll_error_file_type_file_e);
+ fake_print_error_file(setting, print, data->setting.state.status, function, path, fake_common_file_path_determine_real_s, fll_error_file_type_file_e);
}
return F_none;
#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_status_t status, const f_string_t function, const f_string_static_t path) {
+ 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) {
- if (!setting || 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;
- if (status == F_array_too_large) {
+ if (data->setting.state.status == F_array_too_large) {
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
f_file_stream_unlock(print.to);
}
else {
- fake_print_error_file(setting, print, status, function, path, fake_common_file_path_change_to_s, fll_error_file_type_directory_e);
+ fake_print_error_file(setting, print, function, path, fake_common_file_path_change_to_s, fll_error_file_type_directory_e);
}
return F_none;
#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) {
- if (!setting || 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;
f_array_length_t line = 1;
f_state_t state = f_state_t_initialize;
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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) {
- if (!setting || 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;
f_array_length_t line = 1;
f_state_t state = f_state_t_initialize;
f_file_stream_lock(print.to);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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) {
- if (!setting || print.verbosity == f_console_verbosity_quiet_e) return F_output_not;
+ if (!setting) 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 ", f_console_symbol_long_normal_s, name, " parameter must not be empty and must not contain only white space");
#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) {
- if (!setting || print.verbosity == f_console_verbosity_quiet_e) return F_output_not;
+ if (!setting) 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);
- fake_print_line_first_unlocked(setting, print);
-
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);
#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) {
- if (!setting || 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_print_context_wrapped_variables(setting, print, "The operation ", operation_1, " cannot be specified with the operation ", operation_2, 0);
#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 parameter) {
- if (!setting || 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_print_context_wrapped_parameter(setting, print, "The parameter ", f_console_symbol_long_normal_s, parameter, " is specified too many times");
#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) {
- if (!setting || 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_print_context_simple(setting, print, "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) {
- if (!setting || 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_print_context_simple(setting, print, "Has 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) {
- if (!setting || 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_print_context_wrapped_variable(setting, print, "The user ", user, " is not found");
* This does not alter setting.state.status.
* @param print
* Designates the how and where to print.
- * @param status
- * The status to use.
- * This is provided, ignoring setting.status, for thread-safety reasons.
* @param function
* The function name.
*
* 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_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
- *
- * @see fake_print_line_first_unlocked()
*/
#ifndef _di_fake_print_error_
- extern f_status_t fake_print_error(fake_setting_t * const setting, const fl_print_t print, const f_status_t status, const f_string_t function);
+ extern f_status_t fake_print_error(fake_setting_t * const setting, const fl_print_t print, const f_string_t function);
#endif // _di_fake_print_error_
/**
* 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_number()
*/
#ifndef _di_fake_print_error_argument_empty_
* This does not alter setting.state.status.
* @param print
* Designates the how and where to print.
- * @param status
- * The status to use.
- * This is provided, ignoring setting->state.status, for thread-safety reasons.
* @param function
* The name of the function where the error happened.
* @param operation
* @return
* F_true is returned if the status code has no print message.
* F_false is returned on successful print of known errors.
+ * F_output_not on success, but no printing is performed.
+ *
+ * F_output_not (with error bit) if setting is NULL.
*
* @see f_file_stream_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
- *
- * @see fake_print_line_first_unlocked()
*/
#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_status_t status, 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(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);
#endif // _di_fake_print_error_build_operation_file_
/**
* The string being printed after the variable.
* Likely should have a space added at the start of the string.
*
+ * @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_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
*
* @see fake_print_error_build_operation_file_partial()
- * @see fake_print_line_first_unlocked()
*/
#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);
* 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_error_file_create_parent_missing_
* 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_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
- *
- * @see fake_print_line_first_unlocked()
*/
#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);
* 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_error_failure_script_
* This does not alter setting.state.status.
* @param print
* Designates the how and where to print.
- * @param status
- * The status to use.
- * This is provided, ignoring setting.status, for thread-safety reasons.
* @param function
* The function name.
*
* @return
* F_true is returned if the status code has no print message.
* F_false is returned on successful print of known errors.
- * F_output_not on success, but no printing is performed.
+ * F_output_not on success, but no printing is performed..
*
- * @see fll_error_file_print()
+ * F_output_not (with error bit) if setting is NULL.
*
- * @see fake_print_line_first_locked()
+ * @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_status_t status, const f_string_t function);
+ extern f_status_t fake_print_error_fallback(fake_setting_t * const setting, const fl_print_t print, const f_string_t function);
#endif // _di_fake_print_error_fallback_
/**
* The main program settings.
*
* This does not alter setting.state.status.
- * @param status
- * The status to use.
- * This is provided, ignoring setting.status, for thread-safety reasons.
* @param print
* Designates the how and where to print.
* @param name
* F_none on success.
* F_output_not on success, but no printing is performed.
*
- * @see fll_error_file_print()
+ * F_output_not (with error bit) if setting is NULL.
*
- * @see fake_print_line_first_locked()
+ * @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_status_t status, 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(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);
#endif // _di_fake_print_error_file_
/**
* 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_error_directory_create_parent_missing_
#endif // _di_fake_print_error_directory_create_parent_missing_
/**
- * Print file related error message regarding a function failing in some way, setting fallback to F_false and returning result..
- *
- * @param setting
- * The main program settings.
- *
- * This does not alter setting.state.status.
- * @param print
- * Designates the how and where to print.
- * @param status
- * The status to use.
- * This is provided, ignoring setting.status, for thread-safety reasons.
- * @param name
- * The name of the file or directory.
- * @param operation
- * The operation that fails, such as 'create' or 'access'.
- * @param type
- * A valid file type code from the fll_error_file_type enum.
- *
- * @return
- * F_true is returned if the status code has no print message.
- * F_false is returned on successful print of known errors.
- * F_output_not on success, but no printing is performed.
- *
- * @see fll_error_file_print()
- *
- * @see fake_print_line_first_locked()
- */
-#ifndef _di_fake_print_error_file_fallback_
- extern f_status_t fake_print_error_file_fallback(fake_setting_t * const setting, const fl_print_t print, const f_status_t status, 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_fallback_
-
-/**
* Print file related error message regarding a function failing in some way.
*
* This prints a simple message to avoid "Unable to find file..., because file cannot be found." type of messages.
* The main program settings.
*
* This does not alter setting.state.status.
- * @param status
- * The status to use.
- * This is provided, ignoring setting.status, for thread-safety reasons.
* @param print
* Designates the how and where to print.
* @param name
* F_none on success.
* F_output_not on success, but no printing is performed.
*
- * @see fll_error_file_print()
+ * F_output_not (with error bit) if setting is NULL.
*
- * @see fake_print_line_first_locked()
+ * @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_status_t status, 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(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);
#endif // _di_fake_print_error_file_simple_
/**
* @return
* F_true is returned if the status code has no print message.
* F_false is returned on successful print of known errors.
+ * F_output_not on success, but no printing is performed.
+ *
+ * F_output_not (with error bit) if setting is NULL.
*
* @see f_file_stream_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
*
* @see fake_print_error_fss_message()
- * @see fake_print_line_first_unlocked()
*/
#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_status_t status, const f_string_t function, const f_string_static_t path_file, const f_string_range_t range, const bool fallback);
* This does not alter setting.state.status.
* @param print
* Designates the how and where to print.
- * @param status
- * The error status code to report on.
* @param function
* The function call that returned the error.
* @param path_file
* 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_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
- *
- * @see fake_print_line_first_unlocked()
*/
#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);
* 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_error_group_not_found_
* 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_error_mode_invalid_
* 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_error_number_too_large_
* 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_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
* 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_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
* 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_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
* 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_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
* The program data.
* @param print
* Designates how the section error/warning should be printed.
- * @param status
- * The status code representing an error.
* @param function
* The name of the function where the error happened.
* @param path
* 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_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
* @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_status_t status, const f_string_t function, const f_string_static_t path);
+ 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);
#endif // _fake_print_error_operation_path_outside_
/**
* The program data.
* @param error
* Designates how the section error/warning should be printed.
- * @param status
- * The status code representing an error.
* @param function
* The name of the function where the error happened.
* Set to 0 to disable.
* 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_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
* @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_status_t status, const f_string_t function, const f_string_static_t path);
+ 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);
#endif // _di_fake_print_error_operation_path_stack_max_
/**
* 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_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
* 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_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
* 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_parameter()
*/
#ifndef _di_fake_print_error_parameter_not_empty_
* 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_lock()
* @see f_file_stream_unlock()
* @see fl_print_format()
- *
- * @see fake_print_line_first_unlocked()
*/
#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);
* 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_print_error_parameter_operation_not_with_
* 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_parameter()
*/
#ifndef _di_fake_print_error_parameter_too_many_
* 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_simple()
*/
#ifndef _di_fake_print_error_requires_more_arguments_
* 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_simple()
*/
#ifndef _di_fake_print_error_too_many_arguments_
* 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_error_user_not_found_
--- /dev/null
+#include "../fake.h"
+
+#ifdef __cplusplus
+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) {
+
+ 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("All 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);
+
+ 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) {
+
+ 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("%[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);
+ }
+ else if (operation == fake_operation_clean_e) {
+ 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);
+ }
+ else if (operation == fake_operation_skeleton_e) {
+ 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);
+
+ f_file_stream_flush(print.to);
+ f_file_stream_unlock(print.to);
+
+ return F_none;
+ }
+#endif // _di_fake_print_operation_cancelled_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
--- /dev/null
+/**
+ * FLL - Level 3
+ *
+ * Project: Featureless Make
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ *
+ * Provides print operation functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
+ */
+#ifndef _fake_print_operation_h
+#define _fake_print_operation_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * 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.
+ *
+ * @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 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);
+#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.
+ * @param operation
+ * The identifier of the operation that failed.
+ *
+ * @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()
+ * @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);
+#endif // _di_fake_print_operation_cancelled_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _fake_print_operation_h
-#include "fake.h"
+#include "../fake.h"
#ifdef __cplusplus
extern "C" {
#ifndef _di_fake_print_verbose_clone_
f_status_t fake_print_verbose_clone(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t source, const f_string_static_t destination) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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, "Cloned ", source, " to ", destination, 0);
#ifndef _di_fake_print_verbose_copy_
f_status_t fake_print_verbose_copy(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t source, const f_string_static_t destination) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) return F_status_set_error(F_output_not);
+ if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
fll_print_format("Copied '%Q' to '%Q'.%r", output, source, destination, f_string_eol_s);
}
#ifndef _di_fake_print_verbose_create_directory_
f_status_t fake_print_verbose_create_directory(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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 ", path);
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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);
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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");
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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");
}
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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)");
}
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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)");
}
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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);
}
#ifndef _di_fake_print_verbose_move_
f_status_t fake_print_verbose_move(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t source, const f_string_static_t destination) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) return F_status_set_error(F_output_not);
+ if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
fll_print_format("Moved '%Q' to '%Q'.%r", output, source, destination, f_string_eol_s);
}
* 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_print_verbose_clone_
* F_none on success.
* F_output_not on success, but no printing is performed.
*
- * @see fake_print_wrapped_variables()
+ * F_output_not (with error bit) if setting is NULL.
+ *
+ * @see fll_print_format()
*/
#ifndef _di_fake_print_verbose_copy_
extern f_status_t fake_print_verbose_copy(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t source, const f_string_static_t destination);
* 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_simple_variable()
*/
#ifndef _di_fake_print_verbose_create_directory_
* 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_simple_variable()
*/
#ifndef _di_fake_print_verbose_create_file_
* 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_variable()
*/
#ifndef _di_fake_print_verbose_directory_exists_
* 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_variable()
*/
#ifndef _di_fake_print_verbose_file_exists_
* 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_variable()
*/
#ifndef _di_fake_print_verbose_file_exists_as_link_
* 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_variable()
*/
#ifndef _di_fake_print_verbose_file_exists_not_regular_or_link_
* 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_simple_variable()
*/
#ifndef _di_fake_print_verbose_file_pre_populated_
* F_none on success.
* F_output_not on success, but no printing is performed.
*
- * @see fake_print_wrapped_variables()
+ * F_output_not (with error bit) if setting is NULL.
+ *
+ * @see fll_print_format()
*/
#ifndef _di_fake_print_verbose_move_
extern f_status_t fake_print_verbose_move(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t source, const f_string_static_t destination);
-#include "fake.h"
+#include "../fake.h"
#ifdef __cplusplus
extern "C" {
#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) {
- if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+ if (!setting) 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");
* 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_path_exists_not_directory_
#include "fake.h"
-#include "skeleton.h"
#ifdef __cplusplus
extern "C" {
return F_status_set_warning(F_failure);
}
- else if (status == F_file_found_not) {
+
+ if (status == F_file_found_not) {
status = f_directory_create(path, F_file_mode_all_rwx_d);
if (F_status_is_error(status)) {
return F_status_set_warning(F_none);
}
- else if (F_status_set_fine(status) == F_file_found_not) {
+
+ if (F_status_set_fine(status) == F_file_found_not) {
mode_t mode = F_file_mode_all_rw_d;
if (executable) {
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_skeleton_h
-#define _PRIVATE_skeleton_h
+#ifndef _fake_skeleton_h
+#define _fake_skeleton_h
#ifdef __cplusplus
extern "C" {
} // extern "C"
#endif
-#endif // _PRIVATE_skeleton_h
+#endif // _fake_skeleton_h
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-error.c main/print-warning.c main/print-verbose.c main/skeleton.c
-build_sources_library main/build/library.c main/build/load.c main/build/object.c main/build/objects.c main/build/print.c main/build/print-error.c main/build/print-verbose.c main/build/print-warning.c main/build/program.c main/build/skeleton.c
+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/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.c main/make/print/error.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-error.h main/print-warning.h main/print-verbose.h main/skeleton.h
-build_sources_headers main/build/library.h main/build/load.h main/build/object.h main/build/objects.h main/build/print.h main/build/print-error.h main/build/print-verbose.h main/build/print-warning.h main/build/program.h main/build/skeleton.h
+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/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 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.h main/make/print/error.h main/make/print/verbose.h main/make/print/warning.h
build_sources_documentation man
setting->state.step_small = iki_read_allocation_small_d;
if (F_status_is_error(setting->state.status)) {
+ iki_read_print_line_first(setting, main->message);
iki_read_print_error(setting, main->error, macro_iki_read_f(f_console_parameter_process));
return;
setting->state.status = fll_program_parameter_process_context(choices, modes, F_true, main);
if (F_status_is_error(setting->state.status)) {
+ iki_read_print_line_first(setting, main->message);
iki_read_print_error(setting, main->error, macro_iki_read_f(fll_program_parameter_process_context));
return;
setting->state.status = fll_program_parameter_process_verbosity(choices, verbosity, F_true, main);
if (F_status_is_error(setting->state.status)) {
+ iki_read_print_line_first(setting, main->message);
iki_read_print_error(setting, main->error, macro_iki_read_f(fll_program_parameter_process_verbosity));
return;
if (!(main->parameters.remaining.used || (main->pipe & fll_program_data_pipe_input_e))) {
setting->state.status = F_status_set_error(F_parameter);
- iki_read_print_line_first_locked(setting, main->error);
+ iki_read_print_line_first(setting, main->error);
fll_program_print_error_missing_file(main->error);
return;
if (main->parameters.array[iki_read_parameter_whole_e].result & f_console_result_found_e) {
setting->state.status = F_status_set_error(F_parameter);
- iki_read_print_line_first_locked(setting, main->error);
+ iki_read_print_line_first(setting, main->error);
fll_program_print_error_parameter_cannot_use_with(main->error, f_console_symbol_long_normal_s, f_console_symbol_long_normal_s, iki_read_long_at_s, iki_read_long_whole_s);
return;
if (F_status_is_error(setting->state.status)) {
setting->state.status = F_status_set_error(F_parameter);
- iki_read_print_line_first_locked(setting, main->error);
+ iki_read_print_line_first(setting, main->error);
fll_program_print_error_parameter_integer_not(main->error, f_console_symbol_long_normal_s, iki_read_long_at_s, main->parameters.arguments.array[index]);
return;
else if (main->parameters.array[iki_read_parameter_at_e].result & f_console_result_found_e) {
setting->state.status = F_status_set_error(F_parameter);
- iki_read_print_line_first_locked(setting, main->error);
+ iki_read_print_line_first(setting, main->error);
fll_program_print_error_parameter_missing_value(main->error, f_console_symbol_long_normal_s, iki_read_long_at_s);
return;
if (F_status_is_error(setting->state.status)) {
setting->state.status = F_status_set_error(F_parameter);
- iki_read_print_line_first_locked(setting, main->error);
+ iki_read_print_line_first(setting, main->error);
fll_program_print_error_parameter_integer_not(main->error, f_console_symbol_long_normal_s, iki_read_long_line_s, main->parameters.arguments.array[index]);
return;
else if (main->parameters.array[iki_read_parameter_line_e].result & f_console_result_found_e) {
setting->state.status = F_status_set_error(F_parameter);
- iki_read_print_line_first_locked(setting, main->error);
+ iki_read_print_line_first(setting, main->error);
fll_program_print_error_parameter_missing_value(main->error, f_console_symbol_long_normal_s, iki_read_long_line_s);
return;
setting->state.status = f_string_dynamics_increase_by(main->parameters.array[iki_read_parameter_name_e].values.used, &setting->names);
if (F_status_is_error(setting->state.status)) {
+ iki_read_print_line_first(setting, main->message);
iki_read_print_error(setting, main->error, macro_iki_read_f(f_string_dynamics_increase_by));
return;
} // for
if (F_status_is_error(setting->state.status)) {
+ iki_read_print_line_first(setting, main->message);
iki_read_print_error(setting, main->error, macro_iki_read_f(f_string_dynamics_append));
return;
else if (main->parameters.array[iki_read_parameter_name_e].result & f_console_result_found_e) {
setting->state.status = F_status_set_error(F_parameter);
- iki_read_print_line_first_locked(setting, main->error);
+ iki_read_print_line_first(setting, main->error);
fll_program_print_error_parameter_missing_value(main->error, f_console_symbol_long_normal_s, iki_read_long_name_s);
return;
if ((main->parameters.array[iki_read_parameter_replace_e].result & f_console_result_found_e) || main->parameters.array[iki_read_parameter_replace_e].values.used % 2 != 0) {
setting->state.status = F_status_set_error(F_parameter);
- iki_read_print_line_first_locked(setting, main->error);
+ iki_read_print_line_first(setting, main->error);
fll_program_print_error_parameter_missing_value_requires_amount(main->error, f_console_symbol_long_normal_s, iki_read_long_replace_s, iki_read_string_two_s);
return;
setting->state.status = f_string_maps_increase_by(main->parameters.array[iki_read_parameter_replace_e].values.used / 2, &setting->replace);
if (F_status_is_error(setting->state.status)) {
+ iki_read_print_line_first(setting, main->message);
iki_read_print_error(setting, main->error, macro_iki_read_f(f_string_maps_increase_by));
return;
}
if (F_status_is_error(setting->state.status)) {
+ iki_read_print_line_first(setting, main->message);
iki_read_print_error(setting, main->error, macro_iki_read_f(f_string_dynamic_resize));
return;
if ((main->parameters.array[iki_read_parameter_wrap_e].result & f_console_result_found_e) || main->parameters.array[iki_read_parameter_wrap_e].values.used % 3 != 0) {
setting->state.status = F_status_set_error(F_parameter);
- iki_read_print_line_first_locked(setting, main->error);
+ iki_read_print_line_first(setting, main->error);
fll_program_print_error_parameter_missing_value_requires_amount(main->error, f_console_symbol_long_normal_s, iki_read_long_wrap_s, iki_read_string_three_s);
return;
setting->state.status = f_string_triples_increase_by(main->parameters.array[iki_read_parameter_wrap_e].values.used / 3, &setting->wrap);
if (F_status_is_error(setting->state.status)) {
+ iki_read_print_line_first(setting, main->message);
iki_read_print_error(setting, main->error, macro_iki_read_f(f_string_triples_increase_by));
return;
}
if (F_status_is_error(setting->state.status)) {
+ iki_read_print_line_first(setting, main->message);
iki_read_print_error(setting, main->error, macro_iki_read_f(f_string_dynamic_resize));
return;
if (main->parameters.array[ids[i]].result & f_console_result_found_e) {
setting->state.status = F_status_set_error(F_parameter);
- iki_read_print_line_first_locked(setting, main->error);
+ iki_read_print_line_first(setting, main->error);
fll_program_print_error_parameter_cannot_use_with(main->error, f_console_symbol_long_normal_s, f_console_symbol_long_normal_s, iki_read_long_literal_s, names[i]);
return;
if (main->parameters.array[ids[i]].result & f_console_result_found_e) {
setting->state.status = F_status_set_error(F_parameter);
- iki_read_print_line_first_locked(setting, main->error);
+ iki_read_print_line_first(setting, main->error);
fll_program_print_error_parameter_cannot_use_with(main->error, f_console_symbol_long_normal_s, f_console_symbol_long_normal_s, iki_read_long_object_s, names[i]);
return;
if (main->parameters.array[iki_read_parameter_total_e].result & f_console_result_found_e) {
setting->state.status = F_status_set_error(F_parameter);
- iki_read_print_line_first_locked(setting, main->error);
+ iki_read_print_line_first(setting, main->error);
fll_program_print_error_parameter_cannot_use_with(main->error, f_console_symbol_long_normal_s, f_console_symbol_long_normal_s, iki_read_long_content_s, iki_read_long_total_s);
return;
if (main->parameters.array[iki_read_parameter_whole_e].result & f_console_result_found_e) {
setting->state.status = F_status_set_error(F_parameter);
- iki_read_print_line_first_locked(setting, main->error);
+ iki_read_print_line_first(setting, main->error);
fll_program_print_error_parameter_cannot_use_with(main->error, f_console_symbol_long_normal_s, f_console_symbol_long_normal_s, iki_read_long_total_s, iki_read_long_wrap_s);
return;
setting->state.status = f_string_dynamics_resize(main->parameters.remaining.used, &setting->files);
if (F_status_is_error(setting->state.status)) {
+ iki_read_print_line_first(setting, main->message);
iki_read_print_error(setting, main->error, macro_iki_read_f(f_string_dynamics_resize));
return;
setting->state.status = f_string_dynamic_resize(0, &setting->files.array[setting->files.used]);
if (F_status_is_error(setting->state.status)) {
+ iki_read_print_line_first(setting, main->message);
iki_read_print_error(setting, main->error, macro_iki_read_f(f_string_dynamic_resize));
return;
setting->state.status = f_file_exists(setting->files.array[setting->files.used], F_true);
if (F_status_is_error(setting->state.status)) {
- iki_read_print_line_first_locked(setting, main->error);
+ iki_read_print_line_first(setting, main->error);
fll_error_file_print(main->error, F_status_set_fine(setting->state.status), "f_file_exists", fll_error_file_flag_fallback_e, setting->files.array[setting->files.used], f_file_operation_verify_s, fll_error_file_type_file_e);
return;
if ((parameter.result & f_console_result_found_e) || parameter.values.used % 3 != 0) {
setting->state.status = F_status_set_error(F_parameter);
- iki_read_print_line_first_locked(setting, main->error);
+ iki_read_print_line_first(setting, main->error);
fll_program_print_error_parameter_missing_value_requires_amount(main->error, f_console_symbol_long_normal_s, name, iki_read_string_three_s);
return F_false;
setting->state.status = f_string_triples_increase_by(parameter.values.used / 3, triple);
if (F_status_is_error(setting->state.status)) {
+ iki_read_print_line_first(setting, main->message);
iki_read_print_error(setting, main->error, macro_iki_read_f(f_string_triples_increase_by));
return F_false;
}
if (F_status_is_error(setting->state.status)) {
+ iki_read_print_line_first(setting, main->message);
iki_read_print_error(setting, main->error, macro_iki_read_f(f_string_dynamic_resize));
return F_false;
-#include "iki_read.h"
+#include "../iki_read.h"
#ifdef __cplusplus
extern "C" {
-#include "iki_read.h"
+#include "../iki_read.h"
#ifdef __cplusplus
extern "C" {
-#include "iki_read.h"
-#include "private-common.h"
+#include "../iki_read.h"
#ifdef __cplusplus
extern "C" {
* - allocation_console: An allocation step used for small buffers specifically for console parameter.
* - allocation_large: An allocation step used for buffers that are anticipated to have large buffers.
* - allocation_small: An allocation step used for buffers that are anticipated to have small buffers.
+ * - block_max: The max block read size before checking for interrupt.
+ * - block_read_small: The block read size for small files.
+ * - block_read_large: The block read size for large files.
* - signal_check: Number of iterations before performing signal check in non-threaded signal handling.
*/
#ifndef _di_iki_read_d_
#define iki_read_allocation_console_d 4
#define iki_read_allocation_large_d 256
#define iki_read_allocation_small_d 16
+ #define iki_read_block_max 16777216
+ #define iki_read_block_read_small 8192
+ #define iki_read_block_read_large 65536
#define iki_read_signal_check_d 20000
#endif // _di_iki_read_d_
* Flags passed to the main function or program.
*
* iki_read_main_flag_*_e:
- * - none: No flags set.
- * - at: Selecting at a specific index.
- * - content: Print Contents.
- * - copyright: Print copyright.
- * - help: Print help.
- * - literal: Print as literal data (printing entire variable).
- * - line: Selecting at a specific line.
- * - name: Selecting using a specific Vocabulary name.
- * - object: Print Objects.
- * - replace: Using re-assignments.
- * - replace: Using replacements.
- * - substitute: Using substitutions.
- * - total: Enable printing of "total" count.
- * - version: Print version.
- * - whole: Print all data.
- * - wrap: Using wrapping.
+ * - none: No flags set.
+ * - at: Selecting at a specific index.
+ * - content: Print Contents.
+ * - copyright: Print copyright.
+ * - help: Print help.
+ * - literal: Print as literal data (printing entire variable).
+ * - line: Selecting at a specific line.
+ * - name: Selecting using a specific Vocabulary name.
+ * - object: Print Objects.
+ * - print_first: When set, the first character printing logic is to be processed (this is usually automatic).
+ * - replace: Using re-assignments.
+ * - replace: Using replacements.
+ * - substitute: Using substitutions.
+ * - total: Enable printing of "total" count.
+ * - version: Print version.
+ * - whole: Print all data.
+ * - wrap: Using wrapping.
*/
#ifndef _di_iki_read_main_flag_e_
enum {
- iki_read_main_flag_none_e = 0x0,
- iki_read_main_flag_at_e = 0x1,
- iki_read_main_flag_content_e = 0x2,
- iki_read_main_flag_copyright_e = 0x4,
- iki_read_main_flag_help_e = 0x8,
- iki_read_main_flag_literal_e = 0x10,
- iki_read_main_flag_line_e = 0x20,
- iki_read_main_flag_name_e = 0x40,
- iki_read_main_flag_object_e = 0x80,
- iki_read_main_flag_reassign_e = 0x100,
- iki_read_main_flag_replace_e = 0x200,
- iki_read_main_flag_substitute_e = 0x400,
- iki_read_main_flag_total_e = 0x800,
- iki_read_main_flag_version_e = 0x1000,
- iki_read_main_flag_whole_e = 0x2000,
- iki_read_main_flag_wrap_e = 0x4000,
- };
+ iki_read_main_flag_none_e = 0x0,
+ iki_read_main_flag_at_e = 0x1,
+ iki_read_main_flag_content_e = 0x2,
+ iki_read_main_flag_copyright_e = 0x4,
+ iki_read_main_flag_help_e = 0x8,
+ iki_read_main_flag_literal_e = 0x10,
+ iki_read_main_flag_line_e = 0x20,
+ iki_read_main_flag_name_e = 0x40,
+ iki_read_main_flag_object_e = 0x80,
+ iki_read_main_flag_print_first_e = 0x100,
+ iki_read_main_flag_reassign_e = 0x200,
+ iki_read_main_flag_replace_e = 0x400,
+ iki_read_main_flag_substitute_e = 0x800,
+ iki_read_main_flag_total_e = 0x1000,
+ iki_read_main_flag_version_e = 0x2000,
+ iki_read_main_flag_whole_e = 0x4000,
+ iki_read_main_flag_wrap_e = 0x8000,
+ }; // enum
#endif // _di_iki_read_main_flag_e_
/**
#define iki_read_setting_t_initialize \
{ \
- iki_read_main_flag_none_e, \
+ iki_read_main_flag_print_first_e, \
macro_f_state_t_initialize_1(iki_read_allocation_large_d, iki_read_allocation_small_d, F_none, 0, 0, 0, 0, 0, 0), \
0, \
0, \
--- /dev/null
+#include "iki_read.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _di_iki_read_identify_alteration_
+ void iki_read_identify_alteration(iki_read_setting_t * const setting) {
+
+ if (!(setting->replace.used || setting->wrap.used)) return;
+
+ f_array_length_t i = 0;
+
+ if (setting->flag & (iki_read_main_flag_content_e | iki_read_main_flag_literal_e)) {
+ f_array_length_t j = 0;
+
+ for (i = 0; i < setting->data.vocabulary.used; ++i) {
+
+ if (setting->replace.used) {
+ setting->map_replaces[i] = setting->replace.used;
+
+ j = setting->replace.used - 1;
+
+ do {
+ if (fl_string_dynamic_partial_compare_string(setting->replace.array[j].name.string, setting->buffer, setting->replace.array[j].name.used, setting->data.vocabulary.array[i]) == F_equal_to) {
+ setting->map_replaces[i] = j;
+
+ break;
+ }
+
+ } while (j--);
+ }
+
+ if (setting->wrap.used) {
+ setting->map_wraps[i] = setting->wrap.used;
+
+ j = setting->wrap.used - 1;
+
+ do {
+ if (fl_string_dynamic_partial_compare_string(setting->wrap.array[j].a.string, setting->buffer, setting->wrap.array[j].a.used, setting->data.vocabulary.array[i]) == F_equal_to) {
+ setting->map_wraps[i] = j;
+
+ break;
+ }
+
+ } while (j--);
+ }
+ } // for
+ }
+ else {
+ for (i = 0; i < setting->data.vocabulary.used; ++i) {
+
+ if (setting->replace.used) {
+ setting->map_replaces[i] = setting->replace.used;
+ }
+
+ if (setting->wrap.used) {
+ setting->map_wraps[i] = setting->wrap.used;
+ }
+ } // for
+ }
+ }
+#endif // _di_iki_read_identify_alteration_
+
+#ifndef _di_iki_read_identify_substitution_
+ f_array_length_t iki_read_identify_substitution(iki_read_setting_t * const setting, const f_string_range_t name, const f_string_range_t value, f_string_triples_t *triple) {
+
+ f_array_length_t i = triple->used - 1;
+
+ do {
+ if (fl_string_dynamic_partial_compare_string(triple->array[i].a.string, setting->buffer, triple->array[i].a.used, name) == F_equal_to) {
+ if (fl_string_dynamic_partial_compare_string(triple->array[i].b.string, setting->buffer, triple->array[i].b.used, value) == F_equal_to) {
+ return i;
+ }
+ }
+
+ } while (i--);
+
+ return triple->used;
+ }
+#endif // _di_iki_read_identify_substitution_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
--- /dev/null
+/**
+ * FLL - Level 3
+ *
+ * Project: IKI
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ *
+ * Provides the identify functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
+ */
+#ifndef _iki_read_identify_h
+#define _iki_read_identify_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Process the arguments, associating replacements and wraps with a given vocabulary.
+ *
+ * This does not handle substitutions because substitutions must match both name and value (Object and Content).
+ * This function does not know the value (Content).
+ *
+ * @param setting
+ * The main program settings.
+ * @param replaces
+ * A map to the last matching replacment or a value of setting->data.vocabulary.used if there is no matching replacement.
+ * Must be an array of length setting->data.vocabulary.used.
+ * @param wraps
+ * A map to the last matching wrap or a value of setting->data.vocabulary.used if there is no matching wrap.
+ * Must be an array of length setting->data.vocabulary.used.
+ *
+ * @return
+ * The matching setting->data.vocabulary index or if no match then setting->data.vocabulary.used.
+ */
+#ifndef _di_iki_read_identify_alteration_
+ extern void iki_read_identify_alteration(iki_read_setting_t * const setting);
+#endif // _di_iki_read_identify_alteration_
+
+/**
+ * Process the arguments, associating the last matching reassignment or substitution with a given vocabulary name and value (Object and Content).
+ *
+ * This function expects appropriate sanity checks are performed on the reassignments or substitutions array before calling.
+ *
+ * @param setting
+ * The main program settings.
+ * @param name
+ * A range within setting->buffer representing the name (Object) to match.
+ * @param value
+ * A range within setting->buffer representing the value (Content) to match.
+ * @param triple
+ * The setting, such as setting->substitute, to update.
+ *
+ * @return
+ * The matched substitution.
+ * The value of the triple.used is returned on no match.
+ */
+#ifndef _di_iki_read_identify_substitution_
+ extern f_array_length_t iki_read_identify_substitution(iki_read_setting_t * const setting, const f_string_range_t name, const f_string_range_t value, f_string_triples_t *triple);
+#endif // _di_iki_read_identify_substitution_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _iki_read_identify_h
#include "iki_read.h"
-#include "private-common.h"
-#include "private-read.h"
#ifdef __cplusplus
extern "C" {
if (!main || !setting) return;
if (F_status_is_error(setting->state.status)) {
- iki_read_print_line_last_locked(setting, main->error);
+ iki_read_print_line_last(setting, main->message);
return;
}
return;
}
+ iki_read_print_line_first(setting, main->message);
+
if (main->pipe & fll_program_data_pipe_input_e) {
f_file_t file = f_file_t_initialize;
}
if (F_status_is_error(setting->state.status)) {
- iki_read_print_line_last_locked(setting, F_status_set_fine(setting->state.status) == F_interrupt ? main->message : main->error);
+ iki_read_print_line_last(setting, main->message);
}
}
#endif // _di_iki_read_main_
#include <fll/level_2/program.h>
// IKI Read includes.
-#include <program/iki_read/main/common-print.h>
-#include <program/iki_read/main/common-string.h>
-#include <program/iki_read/main/common-type.h>
+#include <program/iki_read/main/common/print.h>
+#include <program/iki_read/main/common/string.h>
+#include <program/iki_read/main/common/type.h>
#include <program/iki_read/main/common.h>
+#include <program/iki_read/main/identify.h>
#include <program/iki_read/main/print.h>
+#include <program/iki_read/main/print/data.h>
+#include <program/iki_read/main/print/error.h>
+#include <program/iki_read/main/process.h>
#ifdef __cplusplus
extern "C" {
#include "iki_read.h"
-#include "private-common.h"
#ifdef __cplusplus
extern "C" {
#endif
-#ifndef _di_iki_read_print_error_
- f_status_t iki_read_print_error(iki_read_setting_t * const setting, const fl_print_t print, const f_string_t function) {
-
- if (print.verbosity < f_console_verbosity_error_e) return F_output_not;
-
- iki_read_print_line_first_locked(setting, print);
- fll_error_print(print, F_status_set_fine(setting->state.status), function, fll_error_file_flag_fallback_e);
-
- return F_none;
- }
-#endif // _di_iki_read_print_error_
-
-#ifndef _di_iki_read_print_error_file_
- f_status_t iki_read_print_error_file(iki_read_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) {
-
- if (print.verbosity < f_console_verbosity_error_e) return F_output_not;
-
- iki_read_print_line_first_locked(setting, print);
- fll_error_file_print(print, F_status_set_fine(setting->state.status), function, fll_error_file_flag_fallback_e, name, operation, type);
-
- return F_none;
- }
-#endif // _di_iki_read_print_error_file_
-
#ifndef _di_iki_read_print_help_
f_status_t iki_read_print_help(iki_read_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);
f_print_dynamic_raw(setting->line_first, print.to);
}
#endif // _di_iki_read_print_help_
-#ifndef _di_iki_read_print_line_first_locked_
- f_status_t iki_read_print_line_first_locked(iki_read_setting_t * const setting, const fl_print_t print) {
+#ifndef _di_iki_read_print_line_first_
+ f_status_t iki_read_print_line_first(iki_read_setting_t * const setting, const fl_print_t print) {
- if (!setting || 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;
if (F_status_is_error_not(setting->state.status)) {
if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
}
- f_print_dynamic_raw(setting->line_first, print.to);
+ if (setting->flag & iki_read_main_flag_print_first_e) {
+ fll_print_dynamic_raw(setting->line_first, print.to);
- return F_none;
- }
-#endif // _di_iki_read_print_line_first_locked_
-
-#ifndef _di_iki_read_print_line_first_unlocked_
- f_status_t iki_read_print_line_first_unlocked(iki_read_setting_t * const setting, const fl_print_t print) {
-
- if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not;
-
- if (F_status_is_error_not(setting->state.status)) {
- if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
+ setting->flag -= iki_read_main_flag_print_first_e;
}
- fll_print_dynamic_raw(setting->line_first, print.to);
-
return F_none;
}
-#endif // _di_iki_read_print_line_first_unlocked_
+#endif // _di_iki_read_print_line_first_
-#ifndef _di_iki_read_print_line_last_locked_
- f_status_t iki_read_print_line_last_locked(iki_read_setting_t * const setting, const fl_print_t print) {
+#ifndef _di_iki_read_print_line_last_
+ f_status_t iki_read_print_line_last(iki_read_setting_t * const setting, const fl_print_t print) {
- if (!setting || 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;
if (F_status_is_error_not(setting->state.status)) {
if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
return F_none;
}
-#endif // _di_iki_read_print_line_last_locked_
-
-#ifndef _di_iki_read_print_line_last_unlocked_
- f_status_t iki_read_print_line_last_unlocked(iki_read_setting_t * const setting, const fl_print_t print) {
-
- if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not;
-
- if (F_status_is_error_not(setting->state.status)) {
- if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
- }
-
- f_print_dynamic_raw(setting->line_last, print.to);
-
- return F_none;
- }
-#endif // _di_iki_read_print_line_last_unlocked_
+#endif // _di_iki_read_print_line_last_
#ifdef __cplusplus
} // extern "C"
* Project: UTF8
* API Version: 0.7
* Licenses: lgpl-2.1-or-later
+ *
+ * Provides the print functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
*/
#ifndef _iki_read_print_h
#define _iki_read_print_h
#endif
/**
- * Print generic error message regarding a function failing in some way.
- *
- * @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.
- *
- * @see fll_error_print()
- */
-#ifndef _di_iki_read_print_error_
- extern f_status_t iki_read_print_error(iki_read_setting_t * const setting, const fl_print_t print, const f_string_t function);
-#endif // _di_iki_read_print_error_
-
-/**
- * Print file related error or warning messages.
- *
- * @param setting
- * The main program settings.
- *
- * This does not alter setting.state.status.
- * @param print
- * Designates how printing is to be performed.
- * @param function
- * The name of the function where the error happened.
- * Set to 0 to disable.
- * @param name
- * The name of the file or directory.
- * @param operation
- * The operation that fails, such as 'create' or 'access'.
- * @param type
- * A valid file type code from the fll_error_file_type enum.
- *
- * @return
- * F_none on success.
- * F_output_not on success, but no printing is performed.
- *
- * @see fll_error_file_print()
- */
-#ifndef _di_iki_read_print_error_file_
- extern f_status_t iki_read_print_error_file(iki_read_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);
-#endif // _di_iki_read_print_error_file_
-
-/**
* Print help.
*
* @param setting
*
* @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.
*/
#ifndef _di_iki_read_print_help_
extern f_status_t iki_read_print_help(iki_read_setting_t * const setting, const fl_print_t print);
* @return
* F_none on success.
* F_output_not on success, but no printing is performed.
- */
-#ifndef _di_iki_read_print_line_first_locked_
- extern f_status_t iki_read_print_line_first_locked(iki_read_setting_t * const setting, const fl_print_t print);
-#endif // _di_iki_read_print_line_first_locked_
-
-/**
- * Print first new line, unless verbosity says otherwise.
- *
- * This is generally either the first line in the program or the first line printed before an error message.
- *
- * This function neither locks nor unlocks the input stream.
- *
- * @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.
*/
-#ifndef _di_iki_read_print_line_first_unlocked_
- extern f_status_t iki_read_print_line_first_unlocked(iki_read_setting_t * const setting, const fl_print_t print);
-#endif // _di_iki_read_print_line_first_unlocked_
+#ifndef _di_iki_read_print_line_first_
+ extern f_status_t iki_read_print_line_first(iki_read_setting_t * const setting, const fl_print_t print);
+#endif // _di_iki_read_print_line_first_
/**
* Print last new line when the main is complete, unless verbosity says otherwise.
* @return
* F_none on success.
* F_output_not on success, but no printing is performed.
- */
-#ifndef _di_iki_read_print_line_last_locked_
- extern f_status_t iki_read_print_line_last_locked(iki_read_setting_t * const setting, const fl_print_t print);
-#endif // _di_iki_read_print_line_last_locked_
-
-/**
- * Print last new line when the main is complete, unless verbosity says otherwise.
- *
- * This is generally the very last line printed in the program.
- *
- * This function neither locks nor unlocks the input stream.
- *
- * @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.
*/
-#ifndef _di_iki_read_print_line_last_unlocked_
- extern f_status_t iki_read_print_line_last_unlocked(iki_read_setting_t * const setting, const fl_print_t print);
-#endif // _di_iki_read_print_line_last_unlocked_
+#ifndef _di_iki_read_print_line_last_
+ extern f_status_t iki_read_print_line_last(iki_read_setting_t * const setting, const fl_print_t print);
+#endif // _di_iki_read_print_line_last_
#ifdef __cplusplus
} // extern "C"
-#include "iki_read.h"
-#include "private-common.h"
-#include "private-print.h"
-#include "private-read.h"
+#include "../iki_read.h"
#ifdef __cplusplus
extern "C" {
#endif
-#ifndef _di_iki_read_print_
- void iki_read_print(fll_program_data_t * const main, iki_read_setting_t * const setting, const f_array_length_t index) {
+#ifndef _di_iki_read_print_data_
+ void iki_read_print_data(fll_program_data_t * const main, iki_read_setting_t * const setting, const f_array_length_t index) {
+
+ if (!setting) return;
+
+ if (!main) {
+ setting->state.status = F_status_set_error(F_parameter);
+ }
f_array_length_t at = setting->reassign.used;
if (at < setting->substitute.used) {
if (setting->flag & iki_read_main_flag_content_e) {
- iki_read_print_wrap_prepend(main, setting, index);
+ iki_read_print_data_wrap_prepend(main, setting, index);
f_print_dynamic(setting->substitute.array[at].c, main->output.to);
- iki_read_print_wrap_append(main, setting, index);
+ iki_read_print_data_wrap_append(main, setting, index);
}
else {
f_string_range_t range = macro_f_string_range_t_initialize(setting->data.variable.array[index].start, setting->data.content.array[index].start - 1);
f_print_dynamic_partial(setting->buffer, range, main->output.to);
- iki_read_print_wrap_prepend(main, setting, index);
+ iki_read_print_data_wrap_prepend(main, setting, index);
f_print_dynamic(setting->substitute.array[at].c, main->output.to);
- iki_read_print_wrap_append(main, setting, index);
+ iki_read_print_data_wrap_append(main, setting, index);
range.start = setting->data.content.array[index].stop + 1;
range.stop = setting->data.variable.array[index].stop;
}
else if (setting->replace.used && setting->map_replaces[index] < setting->replace.used) {
if (setting->flag & iki_read_main_flag_content_e) {
- iki_read_print_wrap_prepend(main, setting, index);
+ iki_read_print_data_wrap_prepend(main, setting, index);
f_print_dynamic(setting->replace.array[setting->map_replaces[index]].value, main->output.to);
- iki_read_print_wrap_append(main, setting, index);
+ iki_read_print_data_wrap_append(main, setting, index);
}
else if (setting->flag & iki_read_main_flag_object_e) {
f_print_dynamic(setting->replace.array[setting->map_replaces[index]].name, main->output.to);
f_print_dynamic_partial(setting->buffer, range, main->output.to);
- iki_read_print_wrap_prepend(main, setting, index);
+ iki_read_print_data_wrap_prepend(main, setting, index);
f_print_dynamic(setting->replace.array[setting->map_replaces[index]].value, main->output.to);
- iki_read_print_wrap_append(main, setting, index);
+ iki_read_print_data_wrap_append(main, setting, index);
range.start = setting->data.content.array[index].stop + 1;
range.stop = setting->data.variable.array[index].stop;
}
}
else if (setting->flag & iki_read_main_flag_content_e) {
- iki_read_print_wrap_prepend(main, setting, index);
+ iki_read_print_data_wrap_prepend(main, setting, index);
f_print_dynamic_partial(setting->buffer, setting->data.content.array[index], main->output.to);
- iki_read_print_wrap_append(main, setting, index);
+ iki_read_print_data_wrap_append(main, setting, index);
}
else if (setting->flag & iki_read_main_flag_object_e) {
f_print_dynamic_partial(setting->buffer, setting->data.vocabulary.array[index], main->output.to);
f_print_dynamic_partial(setting->buffer, range, main->output.to);
- iki_read_print_wrap_prepend(main, setting, index);
+ iki_read_print_data_wrap_prepend(main, setting, index);
f_print_dynamic_partial(setting->buffer, setting->data.content.array[index], main->output.to);
- iki_read_print_wrap_append(main, setting, index);
+ iki_read_print_data_wrap_append(main, setting, index);
range.start = setting->data.content.array[index].stop + 1;
range.stop = setting->data.variable.array[index].stop;
f_print_dynamic_partial(setting->buffer, range, main->output.to);
}
}
-#endif // _di_iki_read_print_
+#endif // _di_iki_read_print_data_
-#ifndef _di_iki_read_print_wrap_append_
- void iki_read_print_wrap_append(fll_program_data_t * const main, iki_read_setting_t * const setting, const f_array_length_t index) {
+#ifndef _di_iki_read_print_data_wrap_append_
+ void iki_read_print_data_wrap_append(fll_program_data_t * const main, iki_read_setting_t * const setting, const f_array_length_t index) {
+
+ if (!setting) return;
+
+ if (!main) {
+ setting->state.status = F_status_set_error(F_parameter);
+ }
if (index < setting->data.vocabulary.used && setting->map_wraps[index] < setting->wrap.used) {
if (!setting->wrap.array[setting->map_wraps[index]].c.used) return;
f_print_dynamic(setting->wrap.array[setting->map_wraps[index]].c, main->output.to);
}
-#endif // _di_iki_read_print_wrap_append_
+#endif // _di_iki_read_print_data_wrap_append_
+
+#ifndef _di_iki_read_print_data_wrap_prepend_
+ void iki_read_print_data_wrap_prepend(fll_program_data_t * const main, iki_read_setting_t * const setting, const f_array_length_t index) {
-#ifndef _di_iki_read_print_wrap_prepend_
- void iki_read_print_wrap_prepend(fll_program_data_t * const main, iki_read_setting_t * const setting, const f_array_length_t index) {
+ if (!setting) return;
+
+ if (!main) {
+ setting->state.status = F_status_set_error(F_parameter);
+ }
if (index < setting->data.vocabulary.used && setting->map_wraps[index] < setting->wrap.used) {
if (!setting->wrap.array[setting->map_wraps[index]].b.used) return;
f_print_dynamic(setting->wrap.array[setting->map_wraps[index]].b, main->output.to);
}
-#endif // _di_iki_read_print_wrap_prepend_
+#endif // _di_iki_read_print_data_wrap_prepend_
#ifdef __cplusplus
} // extern "C"
--- /dev/null
+/**
+ * FLL - Level 3
+ *
+ * Project: IKI
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ *
+ * Provides the print data functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
+ */
+#ifndef _iki_read_print_data_h
+#define _iki_read_print_data_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Print the given range at the given index.
+ *
+ * This expects the caller to have the output locked appropriately.
+ *
+ * This detects and prints any applicable substitution matching the vocabulary at the given index.
+ * If there is no substitution, then this prints the given range at the given index.
+ *
+ * @param main
+ * The main program data.
+ * @param setting
+ * The main program settings.
+ *
+ * The setting.map_wraps is expected to be defined as a valid pointer to an array.
+ * The setting.map_replaces is expected to be defined as a valid pointer to an array.
+ *
+ * This does not alter setting.state.status.
+ * @param index
+ * The index used to identify the desired range in variable, content, and ranges.
+ *
+ * @see f_print_dynamic()
+ * @see f_print_dynamic_partial()
+ *
+ * @see iki_read_identify_substitution()
+ * @see iki_read_print_data_wrap_prepend()
+ * @see iki_read_print_data_wrap_append()
+ */
+#ifndef _di_iki_read_print_data_
+ extern void iki_read_print_data(fll_program_data_t * const main, iki_read_setting_t * const setting, const f_array_length_t index) F_attribute_visibility_internal_d;
+#endif // _di_iki_read_print_data_
+
+/**
+ * Print the append part of the wrap at the given index, if valid.
+ *
+ * This expects the caller to have the output locked appropriately.
+ *
+ * @param main
+ * The main program data.
+ * @param setting
+ * The main program settings.
+ *
+ * This does not alter setting.state.status.
+ * @param index
+ * The index within the setting->map_wraps array to print.
+ *
+ * @see f_print_dynamic()
+ */
+#ifndef _di_iki_read_print_data_wrap_append_
+ extern void iki_read_print_data_wrap_append(fll_program_data_t * const main, iki_read_setting_t * const setting, const f_array_length_t index) F_attribute_visibility_internal_d;
+#endif // _di_iki_read_print_data_wrap_append_
+
+/**
+ * Print the prepend part of the wrap at the given index, if valid.
+ *
+ * This expects the caller to have the output locked appropriately.
+ *
+ * @param main
+ * The main program data.
+ * @param setting
+ * The main program settings.
+ *
+ * This does not alter setting.state.status.
+ * @param index
+ * The index within the setting->map_wraps array to print.
+ *
+ * @see f_print_dynamic()
+ */
+#ifndef _di_iki_read_print_data_wrap_prepend_
+ extern void iki_read_print_data_wrap_prepend(fll_program_data_t * const main, iki_read_setting_t * const setting, const f_array_length_t index) F_attribute_visibility_internal_d;
+#endif // _di_iki_read_print_data_wrap_prepend_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _iki_read_print_data_h
--- /dev/null
+#include "../iki_read.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _di_iki_read_print_error_
+ f_status_t iki_read_print_error(iki_read_setting_t * const setting, const fl_print_t print, const f_string_t function) {
+
+ if (print.verbosity < f_console_verbosity_error_e) return F_output_not;
+
+ fll_error_print(print, F_status_set_fine(setting->state.status), function, fll_error_file_flag_fallback_e);
+
+ return F_none;
+ }
+#endif // _di_iki_read_print_error_
+
+#ifndef _di_iki_read_print_error_file_
+ f_status_t iki_read_print_error_file(iki_read_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) {
+
+ if (print.verbosity < f_console_verbosity_error_e) return F_output_not;
+
+ fll_error_file_print(print, F_status_set_fine(setting->state.status), function, fll_error_file_flag_fallback_e, name, operation, type);
+
+ return F_none;
+ }
+#endif // _di_iki_read_print_error_file_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
--- /dev/null
+/**
+ * FLL - Level 3
+ *
+ * Project: UTF8
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ *
+ * Provides the print error functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
+ */
+#ifndef _iki_read_print_error_h
+#define _iki_read_print_error_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Print generic error message regarding a function failing in some way.
+ *
+ * @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 fll_error_print()
+ */
+#ifndef _di_iki_read_print_error_
+ extern f_status_t iki_read_print_error(iki_read_setting_t * const setting, const fl_print_t print, const f_string_t function);
+#endif // _di_iki_read_print_error_
+
+/**
+ * Print file related error or warning messages.
+ *
+ * @param setting
+ * The main program settings.
+ *
+ * This does not alter setting.state.status.
+ * @param print
+ * Designates how printing is to be performed.
+ * @param function
+ * The name of the function where the error happened.
+ * Set to 0 to disable.
+ * @param name
+ * The name of the file or directory.
+ * @param operation
+ * The operation that fails, such as 'create' or 'access'.
+ * @param type
+ * A valid file type code from the fll_error_file_type enum.
+ *
+ * @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 fll_error_file_print()
+ */
+#ifndef _di_iki_read_print_error_file_
+ extern f_status_t iki_read_print_error_file(iki_read_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);
+#endif // _di_iki_read_print_error_file_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _iki_read_print_error_h
+++ /dev/null
-/**
- * FLL - Level 3
- *
- * Project: IKI Read
- * API Version: 0.7
- * Licenses: lgpl-2.1-or-later
- */
-#ifndef _PRIVATE_common_h
-#define _PRIVATE_common_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Provide common/generic definitions.
- *
- * iki_read_common_allocation_*:
- * - large: An allocation step used for buffers that are anticipated to have large buffers.
- * - small: An allocation step used for buffers that are anticipated to have small buffers.
- *
- * iki_read_block_*:
- * - max: The max block read size before checking for interrupt.
- * - read_small: The block read size for small files.
- * - read_large: The block read size for large files.
- */
-#ifndef _di_iki_read_common_
- #define iki_read_common_allocation_large_d 256
- #define iki_read_common_allocation_small_d 16
-
- #define iki_read_block_max 16777216
- #define iki_read_block_read_small 8192
- #define iki_read_block_read_large 65536
-#endif // _di_iki_read_common_
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#endif // _PRIVATE_common_h
+++ /dev/null
-/**
- * FLL - Level 3
- *
- * Project: IKI
- * API Version: 0.7
- * Licenses: lgpl-2.1-or-later
- */
-#ifndef _PRIVATE_print_h
-#define _PRIVATE_print_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Print the given range at the given index.
- *
- * This detects and prints any applicable substitution matching the vocabulary at the given index.
- * If there is no substitution, then this prints the given range at the given index.
- *
- * @param main
- * The main program data.
- * @param setting
- * The main program settings.
- *
- * The setting.map_wraps is expected to be defined as a valid pointer to an array.
- * The setting.map_replaces is expected to be defined as a valid pointer to an array.
- *
- * This does not alter setting.state.status.
- * @param index
- * The index used to identify the desired range in variable, content, and ranges.
- */
-#ifndef _di_iki_read_print_
- extern void iki_read_print(fll_program_data_t * const main, iki_read_setting_t * const setting, const f_array_length_t index) F_attribute_visibility_internal_d;
-#endif // _di_iki_read_print_
-
-/**
- * Print the append part of the wrap at the given index, if valid.
- *
- * @param main
- * The main program data.
- * @param setting
- * The main program settings.
- *
- * This does not alter setting.state.status.
- * @param index
- * The index within the setting->map_wraps array to print.
- */
-#ifndef _di_iki_read_print_wrap_append_
- extern void iki_read_print_wrap_append(fll_program_data_t * const main, iki_read_setting_t * const setting, const f_array_length_t index) F_attribute_visibility_internal_d;
-#endif // _di_iki_read_print_wrap_append_
-
-/**
- * Print the prepend part of the wrap at the given index, if valid.
- *
- * @param main
- * The main program data.
- * @param setting
- * The main program settings.
- *
- * This does not alter setting.state.status.
- * @param index
- * The index within the setting->map_wraps array to print.
- */
-#ifndef _di_iki_read_print_wrap_prepend_
- extern void iki_read_print_wrap_prepend(fll_program_data_t * const main, iki_read_setting_t * const setting, const f_array_length_t index) F_attribute_visibility_internal_d;
-#endif // _di_iki_read_print_wrap_prepend_
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#endif // _PRIVATE_print_h
#include "iki_read.h"
-#include "private-common.h"
-#include "private-print.h"
-#include "private-read.h"
#ifdef __cplusplus
extern "C" {
#endif
-#ifndef _di_iki_read_identify_alteration_
- void iki_read_identify_alteration(iki_read_setting_t * const setting) {
-
- if (!(setting->replace.used || setting->wrap.used)) return;
-
- f_array_length_t i = 0;
-
- if (setting->flag & (iki_read_main_flag_content_e | iki_read_main_flag_literal_e)) {
- f_array_length_t j = 0;
-
- for (i = 0; i < setting->data.vocabulary.used; ++i) {
-
- if (setting->replace.used) {
- setting->map_replaces[i] = setting->replace.used;
-
- j = setting->replace.used - 1;
-
- do {
- if (fl_string_dynamic_partial_compare_string(setting->replace.array[j].name.string, setting->buffer, setting->replace.array[j].name.used, setting->data.vocabulary.array[i]) == F_equal_to) {
- setting->map_replaces[i] = j;
-
- break;
- }
-
- } while (j--);
- }
-
- if (setting->wrap.used) {
- setting->map_wraps[i] = setting->wrap.used;
-
- j = setting->wrap.used - 1;
-
- do {
- if (fl_string_dynamic_partial_compare_string(setting->wrap.array[j].a.string, setting->buffer, setting->wrap.array[j].a.used, setting->data.vocabulary.array[i]) == F_equal_to) {
- setting->map_wraps[i] = j;
-
- break;
- }
-
- } while (j--);
- }
- } // for
- }
- else {
- for (i = 0; i < setting->data.vocabulary.used; ++i) {
-
- if (setting->replace.used) {
- setting->map_replaces[i] = setting->replace.used;
- }
-
- if (setting->wrap.used) {
- setting->map_wraps[i] = setting->wrap.used;
- }
- } // for
- }
- }
-#endif // _di_iki_read_identify_alteration_
-
-#ifndef _di_iki_read_identify_substitution_
- f_array_length_t iki_read_identify_substitution(iki_read_setting_t * const setting, const f_string_range_t name, const f_string_range_t value, f_string_triples_t *triple) {
-
- f_array_length_t i = triple->used - 1;
-
- do {
- if (fl_string_dynamic_partial_compare_string(triple->array[i].a.string, setting->buffer, triple->array[i].a.used, name) == F_equal_to) {
- if (fl_string_dynamic_partial_compare_string(triple->array[i].b.string, setting->buffer, triple->array[i].b.used, value) == F_equal_to) {
- return i;
- }
- }
-
- } while (i--);
-
- return triple->used;
- }
-#endif // _di_iki_read_identify_substitution_
-
#ifndef _di_iki_read_process_line_
void iki_read_process_line(fll_program_data_t * const main, iki_read_setting_t * const setting, f_string_range_t *range) {
if (matches++ > setting->at) break;
}
- iki_read_print(main, setting, i);
+ iki_read_print_data(main, setting, i);
f_print_dynamic_raw(f_string_eol_s, main->output.to);
}
if (setting->at < setting->data.variable.used) {
f_file_stream_lock(main->output.to);
- iki_read_print(main, setting, setting->at);
+ iki_read_print_data(main, setting, setting->at);
f_print_dynamic_raw(f_string_eol_s, main->output.to);
for (i = 0; i < setting->data.variable.used; ++i) {
- iki_read_print(main, setting, i);
+ iki_read_print_data(main, setting, i);
f_print_dynamic_raw(f_string_eol_s, main->output.to);
} // for
} // for
if (k < setting->names.used) {
- iki_read_print(main, setting, j);
+ iki_read_print_data(main, setting, j);
}
}
else {
- iki_read_print(main, setting, j);
+ iki_read_print_data(main, setting, j);
}
i = setting->data.variable.array[j].stop + 1;
* Project: IKI
* API Version: 0.7
* Licenses: lgpl-2.1-or-later
+ *
+ * Provides the process functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_read_h
-#define _PRIVATE_read_h
+#ifndef _iki_read_process_h
+#define _iki_read_process_h
#ifdef __cplusplus
extern "C" {
#endif
/**
- * Process the arguments, associating replacements and wraps with a given vocabulary.
- *
- * This does not handle substitutions because substitutions must match both name and value (Object and Content).
- * This function does not know the value (Content).
- *
- * @param setting
- * The main program settings.
- * @param replaces
- * A map to the last matching replacment or a value of setting->data.vocabulary.used if there is no matching replacement.
- * Must be an array of length setting->data.vocabulary.used.
- * @param wraps
- * A map to the last matching wrap or a value of setting->data.vocabulary.used if there is no matching wrap.
- * Must be an array of length setting->data.vocabulary.used.
- *
- * @return
- * The matching setting->data.vocabulary index or if no match then setting->data.vocabulary.used.
- */
-#ifndef _di_iki_read_identify_alteration_
- extern void iki_read_identify_alteration(iki_read_setting_t * const setting) F_attribute_visibility_internal_d;
-#endif // _di_iki_read_identify_alteration_
-
-/**
- * Process the arguments, associating the last matching reassignment or substitution with a given vocabulary name and value (Object and Content).
- *
- * This function expects appropriate sanity checks are performed on the reassignments or substitutions array before calling.
- *
- * @param setting
- * The main program settings.
- * @param name
- * A range within setting->buffer representing the name (Object) to match.
- * @param value
- * A range within setting->buffer representing the value (Content) to match.
- * @param triple
- * The setting, such as setting->substitute, to update.
- *
- * @return
- * The matched substitution.
- * The value of the triple.used is returned on no match.
- */
-#ifndef _di_iki_read_identify_substitution_
- extern f_array_length_t iki_read_identify_substitution(iki_read_setting_t * const setting, const f_string_range_t name, const f_string_range_t value, f_string_triples_t *triple) F_attribute_visibility_internal_d;
-#endif // _di_iki_read_identify_substitution_
-
-/**
* Determine the range based on the --line parameter.
*
* If the --line parameter is not specified in the console arguments, then range is untouched.
* The range value to represent the --line values.
*/
#ifndef _di_iki_read_process_line_
- extern void iki_read_process_line(fll_program_data_t * const main, iki_read_setting_t * const setting, f_string_range_t *range) F_attribute_visibility_internal_d;
+ extern void iki_read_process_line(fll_program_data_t * const main, iki_read_setting_t * const setting, f_string_range_t *range);
#endif // _di_iki_read_process_line_
/**
* @see iki_read_process_buffer_ranges_whole()
*/
#ifndef _di_iki_read_process_buffer_
- extern void iki_read_process_buffer(fll_program_data_t * const main, iki_read_setting_t * const setting) F_attribute_visibility_internal_d;
+ extern void iki_read_process_buffer(fll_program_data_t * const main, iki_read_setting_t * const setting);
#endif // _di_iki_read_process_buffer_
/**
* Status codes (with error bit) are returned on any problem.
*/
#ifndef _di_iki_read_process_buffer_ranges_
- extern void iki_read_process_buffer_ranges(fll_program_data_t * const main, iki_read_setting_t * const setting, f_string_range_t *buffer_range) F_attribute_visibility_internal_d;
+ extern void iki_read_process_buffer_ranges(fll_program_data_t * const main, iki_read_setting_t * const setting, f_string_range_t *buffer_range);
#endif // _di_iki_read_process_buffer_ranges_
/**
* Status codes (with error bit) are returned on any problem.
*/
#ifndef _di_iki_read_process_buffer_ranges_whole_
- extern void iki_read_process_buffer_ranges_whole(fll_program_data_t * const main, iki_read_setting_t * const setting, const f_string_range_t buffer_range) F_attribute_visibility_internal_d;
+ extern void iki_read_process_buffer_ranges_whole(fll_program_data_t * const main, iki_read_setting_t * const setting, const f_string_range_t buffer_range);
#endif // _di_iki_read_process_buffer_ranges_whole_
/**
* Status codes (with error bit) are returned on any problem.
*/
#ifndef _di_iki_read_process_buffer_total_
- extern void iki_read_process_buffer_total(fll_program_data_t * const main, iki_read_setting_t * const setting) F_attribute_visibility_internal_d;
+ extern void iki_read_process_buffer_total(fll_program_data_t * const main, iki_read_setting_t * const setting);
#endif // _di_iki_read_process_buffer_total_
#ifdef __cplusplus
} // extern "C"
#endif
-#endif // _PRIVATE_read_h
+#endif // _iki_read_process_h
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
-build_sources_library main/iki_read.c main/common.c main/common-print.c main/common-string.c main/common-type.c main/print.c main/private-common.c main/private-print.c main/private-read.c
+build_sources_library main/iki_read.c main/common.c main/identify.c main/common/print.c main/common/string.c main/common/type.c main/print.c main/print/data.c main/print/error.c main/process.c
build_sources_program main/main.c
-build_sources_headers main/iki_read.h main/common.h main/common-print.h main/common-string.h main/common-type.h main/print.h
+build_sources_headers main/iki_read.h main/common.h main/identify.h main/common/print.h main/common/string.h main/common/type.h main/print.h main/print/data.h main/print/error.h main/process.h
build_sources_documentation man
-#include "iki_write.h"
+#include "../iki_write.h"
#ifdef __cplusplus
extern "C" {
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_write_process_h
-#define _PRIVATE_write_process_h
+#ifndef _iki_write_write_process_h
+#define _iki_write_write_process_h
#ifdef __cplusplus
extern "C" {
} // extern "C"
#endif
-#endif // _PRIVATE_write_process_h
+#endif // _iki_write_write_process_h
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
-build_sources_library main/iki_write.c main/common.c main/common/print.c main/common/string.c main/common/type.c main/print.c main/print-error.c main/process.c
+build_sources_library main/iki_write.c main/common.c main/common/print.c main/common/string.c main/common/type.c main/print.c main/print/error.c main/process.c
build_sources_program main/main.c
-build_sources_headers main/iki_write.h main/common.h main/common/print.h main/common/string.h main/common/type.h main/print.h main/print-error.h main/process.h
+build_sources_headers main/iki_write.h main/common.h main/common/print.h main/common/string.h main/common/type.h main/print.h main/print/error.h main/process.h
build_sources_documentation man
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_status_code_convert_h
-#define _PRIVATE_status_code_convert_h
+#ifndef _status_code_convert_h
+#define _status_code_convert_h
#ifdef __cplusplus
extern "C" {
} // extern "C"
#endif
-#endif // _PRIVATE_status_code_convert_h
+#endif // _status_code_convert_h
-#include "status_code.h"
+#include "../status_code.h"
#ifdef __cplusplus
extern "C" {
-#include "status_code.h"
+#include "../status_code.h"
#ifdef __cplusplus
extern "C" {
*
* This is auto-included and should not need to be explicitly included.
*/
-#ifndef _PRIVATE_status_code_process_h
-#define _PRIVATE_status_code_process_h
+#ifndef status_code_process_h
+#define status_code_process_h
#ifdef __cplusplus
extern "C" {
} // extern "C"
#endif
-#endif // _PRIVATE_status_code_process_h
+#endif // status_code_process_h
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
-build_sources_library main/status_code.c main/common.c main/common/print.c main/common/string.c main/common/type.c main/convert.c main/print.c main/print-data.c main/print-error.c main/process.c
+build_sources_library main/status_code.c main/common.c main/common/print.c main/common/string.c main/common/type.c main/convert.c main/print.c main/print/data.c main/print/error.c main/process.c
build_sources_library fss/status_code.c fss/common.c
-build_sources_headers main/status_code.h main/common.h main/common/print.h main/common/string.h main/common/type.h main/convert.h main/print.h main/print-data.h main/print-error.h main/process.h
+build_sources_headers main/status_code.h main/common.h main/common/print.h main/common/string.h main/common/type.h main/convert.h main/print.h main/print/data.h main/print/error.h main/process.h
build_sources_headers fss/status_code.h fss/common.h
build_sources_documentation man
-#include "utf8.h"
+#include "../utf8.h"
#ifdef __cplusplus
extern "C" {
-#include "utf8.h"
+#include "../utf8.h"
#ifdef __cplusplus
extern "C" {
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
-build_sources_library main/common.c main/common/print.c main/common/string.c main/common/type.c main/bytesequence.c main/codepoint.c main/print.c main/print-error.c main/print-data.c main/process.c main/utf8.c
+build_sources_library main/common.c main/common/print.c main/common/string.c main/common/type.c main/bytesequence.c main/codepoint.c main/print.c main/print/error.c main/print/data.c main/process.c main/utf8.c
build_sources_program main/main.c
-build_sources_headers main/common.h main/common/print.h main/common/string.h main/common/type.h main/bytesequence.h main/codepoint.h main/print.h main/print-error.h main/print-data.h main/process.h main/utf8.h
+build_sources_headers main/common.h main/common/print.h main/common/string.h main/common/type.h main/bytesequence.h main/codepoint.h main/print.h main/print/error.h main/print/data.h main/process.h main/utf8.h
build_sources_documentation man