]> Kevux Git Server - fll/commitdiff
Progress: Continue program related work, focusing on Featureless Make.
authorKevin Day <kevin@kevux.org>
Sat, 18 Mar 2023 00:48:45 +0000 (19:48 -0500)
committerKevin Day <kevin@kevux.org>
Sat, 18 Mar 2023 00:48:45 +0000 (19:48 -0500)
THis mostly addresses comments.
This is a rather annoying and time-consuming process but it is worth it for long term maintenance.
I may have missed something but this should be acceptable.

34 files changed:
level_3/control/c/private-control.h
level_3/fake/c/main/build.c
level_3/fake/c/main/build.h
level_3/fake/c/main/build/library.c
level_3/fake/c/main/build/library.h
level_3/fake/c/main/build/load.h
level_3/fake/c/main/build/object.c
level_3/fake/c/main/build/object.h
level_3/fake/c/main/build/objects.c
level_3/fake/c/main/build/objects.h
level_3/fake/c/main/build/program.c
level_3/fake/c/main/build/program.h
level_3/fake/c/main/build/skeleton.h
level_3/fake/c/main/common.c
level_3/fake/c/main/common.h
level_3/fake/c/main/common/print.c
level_3/fake/c/main/common/print.h
level_3/fake/c/main/common/type.c
level_3/fake/c/main/common/type.h
level_3/fake/c/main/fake.c
level_3/fake/c/main/fake.h
level_3/fake/c/main/fake/path_generate.c
level_3/fake/c/main/make.h
level_3/fake/c/main/make/load_fakefile.c
level_3/fake/c/main/make/load_fakefile.h
level_3/fake/c/main/make/load_parameters.h
level_3/fake/c/main/make/operate.h
level_3/fake/c/main/make/operate_process.h
level_3/fake/c/main/make/operate_process_type.c
level_3/fake/c/main/make/operate_process_type.h
level_3/fake/c/main/make/operate_validate_type.h
level_3/fake/c/main/print.h
level_3/fake/c/main/skeleton.c
level_3/fake/c/main/skeleton.h

index 2b42a53..c5fd006 100644 (file)
@@ -182,7 +182,7 @@ extern "C" {
  * @return
  *   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.
  *   F_socket_not (with error bit) on socket related error preventing the socket from being created or connected to.
  *
  *   Errors (with error bit) from: f_file_exists().
index e97589f..c74f4da 100644 (file)
@@ -159,7 +159,8 @@ extern "C" {
   void fake_build_copy(fake_data_t * const data, const f_mode_t mode, const f_string_static_t label, const f_string_static_t source, const f_string_static_t destination, const f_string_statics_t files, const f_string_static_t file_stage, const f_array_length_t perserve_offset) {
 
     if (!data || !data->main || !data->setting) 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 (data->setting->state.status == F_child) return;
+    if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return;
 
     if (!((++data->main->signal_check) % fake_signal_check_d)) {
       if (fll_program_standard_signal_received(data->main)) {
@@ -359,8 +360,9 @@ extern "C" {
 #ifndef _di_fake_build_execute_process_script_
   int fake_build_execute_process_script(fake_data_t * const data, fake_build_data_t * const data_build, const f_string_static_t process_script, const f_string_static_t file_stage) {
 
-    if (!data) return 0;
-    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 (!data || !data->main || !data->setting || !data_build) return 0;
+    if (data->setting->state.status == F_child) return data->main->child;
+    if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0;
     if (!process_script.used) return 0;
 
     f_string_dynamics_t arguments = f_string_dynamics_t_initialize;
@@ -802,8 +804,8 @@ extern "C" {
 
     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);
+    fake_build_data_delete(&data_build);
+    fake_build_stage_delete(&stage);
   }
 #endif // _di_fake_build_operate_
 
index 5362c7c..54b5f1e 100644 (file)
@@ -113,6 +113,7 @@ extern "C" {
  *     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.
@@ -131,6 +132,7 @@ extern "C" {
  * @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_
@@ -197,6 +199,7 @@ extern "C" {
  *     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()
@@ -229,6 +232,7 @@ extern "C" {
  *   If FALSE, then ignore the program input pipe.
  *
  * @see fll_program_print_signal_received()
+ *
  * @see fake_build_copy()
  * @see fake_build_execute_process_script()
  * @see fake_build_library_script()
index 3280009..91a3fc5 100644 (file)
@@ -8,8 +8,8 @@ extern "C" {
   int fake_build_library_script(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) {
 
     if (!data || !data->main || !data->setting) return 0;
-
-    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 (data->setting->state.status == F_child) return data->main->child;
+    if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0;
 
     fake_build_touch(data, file_stage);
 
@@ -21,8 +21,8 @@ extern "C" {
   int fake_build_library_shared(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) {
 
     if (!data || !data->main || !data->setting || !data_build) return 0;
-
-    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 (data->setting->state.status == F_child) return data->main->child;
+    if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0;
     if (!data_build->setting.build_sources_library.used && !data_build->setting.build_sources_library_shared.used) return 0;
 
     fake_build_print_compile_library_shared(data->setting, data->main->message);
@@ -437,8 +437,8 @@ extern "C" {
   int fake_build_library_static(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) {
 
     if (!data || !data->main || !data->setting || !data_build) return 0;
-
-    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 (data->setting->state.status == F_child) return data->main->child;
+    if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0;
     if (!data_build->setting.build_sources_library.used && !data_build->setting.build_sources_library_static.used) return 0;
 
     fake_build_print_compile_library_static(data->setting, data->main->message);
index 176563c..b8e01d6 100644 (file)
@@ -30,7 +30,15 @@ extern "C" {
  *   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_file_link()
+ *     Errors (with error bit) from: f_string_dynamics_resize()
+ *     Errors (with error bit) from: fll_execute_arguments_add()
+ *
+ *     Errors (with error bit) from: fake_execute()
+ *     Errors (with error bit) from: fake_build_arguments_standard_add()
+ *     Errors (with error bit) from: fake_build_objects_add()
+ *     Errors (with error bit) from: fake_build_sources_add()
+ *     Errors (with error bit) from: fake_build_touch()
  * @param data_build
  *   The build data.
  * @param mode
@@ -41,6 +49,16 @@ extern "C" {
  * @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_file_link()
+ * @see f_string_dynamics_resize()
+ * @see fll_execute_arguments_add()
+ *
+ * @see fake_execute()
+ * @see fake_build_arguments_standard_add()
+ * @see fake_build_objects_add()
+ * @see fake_build_sources_add()
+ * @see fake_build_touch()
  */
 #ifndef _di_fake_build_library_script_
   extern int fake_build_library_script(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage);
@@ -55,7 +73,13 @@ extern "C" {
  *   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_file_link()
+ *     Errors (with error bit) from: fll_execute_arguments_add()
+ *
+ *     Errors (with error bit) from: fake_build_objects_add()
+ *     Errors (with error bit) from: fake_build_sources_add()
+ *     Errors (with error bit) from: fake_build_touch()
+ *     Errors (with error bit) from: fake_execute()
  * @param data_build
  *   The build data.
  * @param mode
@@ -66,6 +90,14 @@ extern "C" {
  * @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_file_link()
+ * @see fll_execute_arguments_add()
+ *
+ * @see fake_build_objects_add()
+ * @see fake_build_sources_add()
+ * @see fake_build_touch()
+ * @see fake_execute()
  */
 #ifndef _di_fake_build_library_shared_
   extern int fake_build_library_shared(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage);
@@ -80,7 +112,15 @@ extern "C" {
  *   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_file_name_directory()
+ *     Errors (with error bit) from: f_string_dynamic_append_assure()
+ *     Errors (with error bit) from: f_string_dynamic_prepend()
+ *     Errors (with error bit) from: fll_execute_arguments_add()
+ *
+ *     Errors (with error bit) from: fake_build_get_file_name_without_extension()
+ *     Errors (with error bit) from: fake_build_print_compile_library_static()
+ *     Errors (with error bit) from: fake_build_touch()
+ *     Errors (with error bit) from: fake_execute()
  * @param data_build
  *   The build data.
  * @param mode
@@ -93,6 +133,16 @@ extern "C" {
  * @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_file_name_directory()
+ * @see f_string_dynamic_append_assure()
+ * @see f_string_dynamic_prepend()
+ * @see fll_execute_arguments_add()
+ *
+ * @see fake_build_get_file_name_without_extension()
+ * @see fake_build_print_compile_library_static()
+ * @see fake_build_touch()
+ * @see fake_execute()
  */
 #ifndef _di_fake_build_library_static_
   extern int fake_build_library_static(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage);
index 7d8aea7..d08bf1a 100644 (file)
@@ -52,10 +52,16 @@ extern "C" {
  *
  *     F_interrupt (with error bit) on interrupt signal received.
  *
+ *     F_failure (with error bit) on error.
+ *
  *     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_override().
  *     Errors (with error bit) from: fake_build_load_setting_process().
+ *     Errors (with error bit) from: fake_file_buffer().
+ *     Errors (with error bit) from: fake_pipe_buffer().
  * @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.
@@ -75,7 +81,11 @@ extern "C" {
  * @see f_string_dynamic_append_assure()
  * @see fll_fss_extended_read()
  * @see fll_program_print_signal_received()
+ *
+ * @see fake_build_load_setting_override()
  * @see fake_build_load_setting_process()
+ * @see fake_file_buffer()
+ * @see fake_pipe_buffer()
  */
 #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);
@@ -86,18 +96,18 @@ extern "C" {
  *
  * @param data
  *   The program data.
- * @param path_file
- *   The path to the buffer.
- * @param buffer
- *   The loaded file data.
+ *
+ *   This alters data.setting.state.status:
+ *     F_none on success.
+ *
+ *     F_failure (with error bit) on error.
+ *
+ *     Errors (with error bit) from: f_string_dynamic_append_assure().
  * @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.
  *
- * @return
- *   F_none on success.
- *
- *   Status codes (with error bit) are returned on any problem.
+ * @see f_string_dynamic_append_assure()
  */
 #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);
@@ -108,6 +118,19 @@ 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.
+ *
+ *     F_failure (with error bit) on error.
+ *
+ *     Errors (with error bit) from: f_path_directory_cleanup().
+ *     Errors (with error bit) from: f_string_dynamic_append().
+ *     Errors (with error bit) from: f_string_dynamic_append_nulless().
+ *     Errors (with error bit) from: f_string_dynamic_increase_by().
+ *     Errors (with error bit) from: fll_fss_snatch_apart().
  * @param checks
  *   If TRUE, perform certain "required" sanity checks.
  *   If FALSE, do not perform certain "required" sanity checks (intended for a fakefile rather than a build settings file).
@@ -126,16 +149,9 @@ extern "C" {
  *   All build related setting data from the build setting file are loaded into this.
  *   These setting will have any specified mode property applied.
  *
- * @return
- *   F_none on success.
- *
- *   Errors (with error bit) from: f_path_directory_cleanup().
- *   Errors (with error bit) from: f_string_dynamic_append().
- *   Errors (with error bit) from: f_string_dynamic_increase_by().
- *   Errors (with error bit) from: fll_fss_snatch_apart().
- *
  * @see f_path_directory_cleanup()
  * @see f_string_dynamic_append()
+ * @see f_string_dynamic_append_nulless()
  * @see f_string_dynamic_increase_by()
  * @see fll_fss_snatch_apart()
  */
index 795b2b5..85fb308 100644 (file)
@@ -8,7 +8,8 @@ extern "C" {
   int fake_build_object_script(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) {
 
     if (!data || !data->main || !data->setting || !data_build) return 0;
-    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 (data->setting->state.status == F_child) return data->main->child;
+    if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0;
 
     fake_build_touch(data, file_stage);
 
@@ -20,7 +21,8 @@ extern "C" {
   int fake_build_object_shared(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) {
 
     if (!data || !data->main || !data->setting || !data_build) return 0;
-    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 (data->setting->state.status == F_child) return data->main->child;
+    if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0;
     if (!data_build->setting.build_sources_object.used && !data_build->setting.build_sources_object_shared.used) return 0;
 
     fake_build_print_compile_object_shared(data->setting, data->main->message);
@@ -90,7 +92,8 @@ extern "C" {
   int fake_build_object_static(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) {
 
     if (!data || !data->main || !data->setting || !data_build) return 0;
-    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 (data->setting->state.status == F_child) return data->main->child;
+    if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0;
     if (!data_build->setting.build_sources_object.used && !data_build->setting.build_sources_object_static.used) return 0;
 
     fake_build_print_compile_object_static(data->setting, data->main->message);
index 50b0a33..f292f14 100644 (file)
@@ -30,7 +30,7 @@ extern "C" {
  *   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: fake_build_touch().
  * @param data_build
  *   The build data.
  * @param mode
@@ -41,6 +41,8 @@ extern "C" {
  * @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_build_touch()
  */
 #ifndef _di_fake_build_object_script_
   extern int fake_build_object_script(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage);
@@ -58,7 +60,10 @@ extern "C" {
  *   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: fll_execute_arguments_add().
+ *
+ *     Errors (with error bit) from: fake_build_arguments_standard_add().
+ *     Errors (with error bit) from: fake_build_sources_object_add().
  * @param data_build
  *   The build data.
  * @param mode
@@ -69,6 +74,11 @@ extern "C" {
  * @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 fll_execute_arguments_add()
+ *
+ * @see fake_build_arguments_standard_add()
+ * @see fake_build_sources_object_add()
  */
 #ifndef _di_fake_build_object_shared_
   extern int fake_build_object_shared(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage);
@@ -86,7 +96,11 @@ extern "C" {
  *   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: fll_execute_arguments_add().
+ *
+ *     Errors (with error bit) from: fake_build_arguments_standard_add().
+ *     Errors (with error bit) from: fake_build_sources_object_add().
+ *     Errors (with error bit) from: fake_execute().
  * @param data_build
  *   The build data.
  * @param mode
@@ -97,6 +111,12 @@ extern "C" {
  * @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 fll_execute_arguments_add()
+ *
+ * @see fake_build_arguments_standard_add()
+ * @see fake_build_sources_object_add()
+ * @see fake_execute()
  */
 #ifndef _di_fake_build_object_static_
   extern int fake_build_object_static(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage);
index 6941951..868b26e 100644 (file)
@@ -8,7 +8,8 @@ extern "C" {
   int fake_build_objects_static(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) {
 
     if (!data || !data->main || !data->setting) return 0;
-    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 (data->setting->state.status == F_child) return data->main->child;
+    if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0;
     if (!data_build->setting.build_sources_library.used) return 0;
 
     fake_build_print_compile_object_static_library(data->setting, data->main->message);
index 649280c..ad93f3b 100644 (file)
@@ -28,7 +28,17 @@ extern "C" {
  *   This alters data.settings.state.status:
  *     F_none on success.
  *
- *     Status codes (with error bit) are returned on any problem.
+ *     Errors (with error bit) from: f_directory_create().
+ *     Errors (with error bit) from: f_directory_exists().
+ *     Errors (with error bit) from: f_file_name_directory().
+ *     Errors (with error bit) from: f_string_dynamic_append_assure().
+ *     Errors (with error bit) from: f_string_dynamic_prepend().
+ *     Errors (with error bit) from: fll_execute_arguments_add().
+ *
+ *     Errors (with error bit) from: fake_build_arguments_standard_add().
+ *     Errors (with error bit) from: fake_build_get_file_name_without_extension().
+ *     Errors (with error bit) from: fake_build_objects_add().
+ *     Errors (with error bit) from: fake_execute().
  * @param data_build
  *   The build data.
  * @param mode
@@ -39,6 +49,18 @@ extern "C" {
  * @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_directory_create()
+ * @see f_directory_exists()
+ * @see f_file_name_directory()
+ * @see f_string_dynamic_append_assure()
+ * @see f_string_dynamic_prepend()
+ * @see fll_execute_arguments_add()
+ *
+ * @see fake_build_arguments_standard_add()
+ * @see fake_build_get_file_name_without_extension()
+ * @see fake_build_objects_add()
+ * @see fake_execute()
  */
 #ifndef _di_fake_build_objects_static_
   extern int fake_build_objects_static(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage);
index d7d98c9..212bf7c 100644 (file)
@@ -8,7 +8,8 @@ extern "C" {
   int fake_build_program_script(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) {
 
     if (!data || !data->main || !data->setting || !data_build) return 0;
-    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 (data->setting->state.status == F_child) return data->main->child;
+    if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0;
 
     fake_build_touch(data, file_stage);
 
@@ -20,7 +21,8 @@ extern "C" {
   int fake_build_program_shared(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) {
 
     if (!data || !data->main || !data->setting || !data_build) return 0;
-    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 (data->setting->state.status == F_child) return data->main->child;
+    if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0;
     if (!data_build->setting.build_sources_program.used && !data_build->setting.build_sources_program_shared.used) return 0;
 
     fake_build_print_compile_program_shared(data->setting, data->main->message);
@@ -113,7 +115,8 @@ extern "C" {
   int fake_build_program_static(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage) {
 
     if (!data || !data->main || !data->setting || !data_build) return 0;
-    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 (data->setting->state.status == F_child) return data->main->child;
+    if (F_status_is_error(data->setting->state.status) || f_file_exists(file_stage, F_true) == F_true) return 0;
     if (!data_build->setting.build_sources_program.used && !data_build->setting.build_sources_program_static.used) return 0;
 
     fake_build_print_compile_program_static(data->setting, data->main->message);
index b9fff3b..d36ad0b 100644 (file)
@@ -31,7 +31,7 @@ extern "C" {
  *   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: fake_build_touch().
  * @param data_build
  *   The build data.
  * @param mode
@@ -42,6 +42,8 @@ extern "C" {
  * @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_build_touch()
  */
 #ifndef _di_fake_build_program_script_
   extern int fake_build_program_script(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage);
@@ -56,7 +58,12 @@ extern "C" {
  *   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: fll_execute_arguments_add().
+ *
+ *     Errors (with error bit) from: fake_build_arguments_standard_add().
+ *     Errors (with error bit) from: fake_build_objects_add().
+ *     Errors (with error bit) from: fake_build_sources_add().
+ *     Errors (with error bit) from: fake_execute().
  * @param data_build
  *   The build data.
  * @param mode
@@ -67,6 +74,13 @@ extern "C" {
  * @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 fll_execute_arguments_add()
+ *
+ * @see fake_build_arguments_standard_add()
+ * @see fake_build_objects_add()
+ * @see fake_build_sources_add()
+ * @see fake_execute()
  */
 #ifndef _di_fake_build_program_shared_
   extern int fake_build_program_shared(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage);
@@ -81,7 +95,12 @@ extern "C" {
  *   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: fll_execute_arguments_add().
+ *
+ *     Errors (with error bit) from: fake_build_arguments_standard_add().
+ *     Errors (with error bit) from: fake_build_objects_add().
+ *     Errors (with error bit) from: fake_build_sources_add().
+ *     Errors (with error bit) from: fake_execute().
  * @param data_build
  *   The build data.
  * @param mode
@@ -92,6 +111,13 @@ extern "C" {
  * @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 fll_execute_arguments_add()
+ *
+ * @see fake_build_arguments_standard_add()
+ * @see fake_build_objects_add()
+ * @see fake_build_sources_add()
+ * @see fake_execute()
  */
 #ifndef _di_fake_build_program_static_
   extern int fake_build_program_static(fake_data_t * const data, fake_build_data_t * const data_build, const f_mode_t mode, const f_string_static_t file_stage);
index 68b47d7..8816ce1 100644 (file)
@@ -29,6 +29,7 @@ extern "C" {
  *
  *     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.
@@ -40,6 +41,7 @@ extern "C" {
  * @see f_directory_create()
  * @see f_directory_exists()
  * @see fll_program_standard_signal_received()
+ *
  * @see fake_build_touch()
  */
 #ifndef _di_fake_build_skeleton_
index 342d684..863ac1a 100644 (file)
@@ -4,30 +4,6 @@
 extern "C" {
 #endif
 
-#ifndef _di_fake_setting_delete_
-  f_status_t fake_setting_delete(fake_setting_t * const setting) {
-
-    if (!setting) return F_status_set_error(F_parameter);
-
-    f_string_dynamic_resize(0, &setting->build);
-    f_string_dynamic_resize(0, &setting->data);
-    f_string_dynamic_resize(0, &setting->documents);
-    f_string_dynamic_resize(0, &setting->fakefile);
-    f_string_dynamic_resize(0, &setting->licenses);
-    f_string_dynamic_resize(0, &setting->process);
-    f_string_dynamic_resize(0, &setting->settings);
-    f_string_dynamic_resize(0, &setting->sources);
-    f_string_dynamic_resize(0, &setting->work);
-
-    f_string_dynamics_resize(0, &setting->defines);
-    f_string_dynamics_resize(0, &setting->modes);
-
-    f_uint8s_resize(0, &setting->operations);
-
-    return F_none;
-  }
-#endif // _di_fake_setting_delete_
-
 #ifndef _di_fake_setting_load_
   void fake_setting_load(const f_console_arguments_t arguments, fll_program_data_t * const main, fake_setting_t * const setting) {
 
@@ -467,12 +443,12 @@ extern "C" {
 #endif // _di_fake_setting_load_
 
 #ifndef _di_fake_setting_load_parameter_callback_
-  void fake_setting_load_parameter_callback(const f_console_arguments_t arguments, void * const void_parameters, f_console_parameter_state_t * const state_parameter, void * const void_data) {
+  void fake_setting_load_parameter_callback(const f_console_arguments_t arguments, void * const void_parameters, f_console_parameter_state_t * const parameter_state, void * const void_data) {
 
-    if (!state_parameter || !state_parameter->state) return;
+    if (!parameter_state || !parameter_state->state) return;
 
-    if (!void_parameters || !void_data || (state_parameter->type != f_console_parameter_state_type_simple_e && state_parameter->type != f_console_parameter_state_type_miss_e)) {
-      state_parameter->state->status = F_process;
+    if (!void_parameters || !void_data || (parameter_state->type != f_console_parameter_state_type_simple_e && parameter_state->type != f_console_parameter_state_type_miss_e)) {
+      parameter_state->state->status = F_process;
 
       return;
     }
@@ -482,9 +458,9 @@ extern "C" {
 
     if (!data->setting) return;
 
-    state_parameter->state->status = f_uint8s_increase(state_parameter->state->step_small, &data->setting->operations);
+    parameter_state->state->status = f_uint8s_increase(parameter_state->state->step_small, &data->setting->operations);
 
-    if (F_status_is_error(state_parameter->state->status)) {
+    if (F_status_is_error(parameter_state->state->status)) {
       fake_print_line_first(data->setting, data->main->message);
 
       fake_print_error(data->setting, data->main->error, macro_fake_f(f_uint8s_increase));
@@ -492,7 +468,7 @@ extern "C" {
       return;
     }
 
-    switch (state_parameter->at) {
+    switch (parameter_state->at) {
       case fake_parameter_operation_build_e:
         data->setting->operations.array[data->setting->operations.used++] = fake_operation_build_e;
         data->setting->flag |= fake_main_flag_operation_build_e;
@@ -518,12 +494,12 @@ extern "C" {
         break;
 
       default:
-        state_parameter->state->status = F_process;
+        parameter_state->state->status = F_process;
 
         return;
     }
 
-    state_parameter->state->status = F_none;
+    parameter_state->state->status = F_none;
   }
 #endif // _di_fake_setting_load_parameter_callback_
 
@@ -538,87 +514,6 @@ extern "C" {
   }
 #endif // _di_fake_setting_unload_
 
-#ifndef _di_fake_data_delete_
-  f_status_t fake_data_delete(fake_data_t * const data) {
-
-    f_string_dynamic_resize(0, &data->path_build);
-    f_string_dynamic_resize(0, &data->path_build_documentation);
-    f_string_dynamic_resize(0, &data->path_build_documents);
-    f_string_dynamic_resize(0, &data->path_build_includes);
-    f_string_dynamic_resize(0, &data->path_build_libraries);
-    f_string_dynamic_resize(0, &data->path_build_libraries_script);
-    f_string_dynamic_resize(0, &data->path_build_libraries_shared);
-    f_string_dynamic_resize(0, &data->path_build_libraries_static);
-    f_string_dynamic_resize(0, &data->path_build_objects);
-    f_string_dynamic_resize(0, &data->path_build_objects_script);
-    f_string_dynamic_resize(0, &data->path_build_objects_shared);
-    f_string_dynamic_resize(0, &data->path_build_objects_static);
-    f_string_dynamic_resize(0, &data->path_build_programs);
-    f_string_dynamic_resize(0, &data->path_build_programs_script);
-    f_string_dynamic_resize(0, &data->path_build_programs_shared);
-    f_string_dynamic_resize(0, &data->path_build_programs_static);
-    f_string_dynamic_resize(0, &data->path_build_settings);
-    f_string_dynamic_resize(0, &data->path_build_stage);
-
-    f_string_dynamic_resize(0, &data->path_data_build);
-    f_string_dynamic_resize(0, &data->path_data_documentation);
-    f_string_dynamic_resize(0, &data->path_data_settings);
-
-    f_string_dynamic_resize(0, &data->path_documents);
-
-    f_string_dynamic_resize(0, &data->path_licenses);
-
-    f_string_dynamic_resize(0, &data->path_work_includes);
-    f_string_dynamic_resize(0, &data->path_work_libraries);
-    f_string_dynamic_resize(0, &data->path_work_libraries_script);
-    f_string_dynamic_resize(0, &data->path_work_libraries_shared);
-    f_string_dynamic_resize(0, &data->path_work_libraries_static);
-    f_string_dynamic_resize(0, &data->path_work_programs);
-    f_string_dynamic_resize(0, &data->path_work_programs_script);
-    f_string_dynamic_resize(0, &data->path_work_programs_shared);
-    f_string_dynamic_resize(0, &data->path_work_programs_static);
-
-    f_string_dynamic_resize(0, &data->file_data_build_defines);
-    f_string_dynamic_resize(0, &data->file_data_build_dependencies);
-    f_string_dynamic_resize(0, &data->file_data_build_process_post);
-    f_string_dynamic_resize(0, &data->file_data_build_process_pre);
-    f_string_dynamic_resize(0, &data->file_data_build_fakefile);
-    f_string_dynamic_resize(0, &data->file_data_build_settings);
-
-    f_string_dynamic_resize(0, &data->file_documents_readme);
-
-    return F_none;
-  }
-#endif // _di_fake_data_delete_
-
-#ifndef _di_fake_make_data_delete_
-  f_status_t fake_make_data_delete(fake_make_data_t * const data) {
-
-    macro_fake_build_setting_t_delete_simple(data->setting_build);
-    macro_fake_make_setting_t_delete_simple(data->setting_make);
-
-    f_string_maps_resize(0, &data->environment);
-
-    macro_fake_make_parameter_delete_simple(data->parameter);
-    macro_fake_make_parameter_delete_simple(data->parameter_option);
-    macro_fake_make_parameter_delete_simple(data->parameter_value);
-    macro_fake_make_path_delete_simple(data->path);
-
-    f_fss_nameds_resize(0, &data->fakefile);
-
-    f_string_dynamic_resize(0, &data->buffer);
-    f_string_dynamic_resize(0, &data->cache_1);
-    f_string_dynamic_resize(0, &data->cache_2);
-    f_string_dynamic_resize(0, &data->cache_path);
-
-    f_string_dynamics_resize(0, &data->cache_arguments);
-
-    f_iki_data_delete(&data->cache_iki);
-
-    return F_none;
-  }
-#endif // _di_fake_make_data_delete_
-
 #ifdef __cplusplus
 } // extern "C"
 #endif
index 10da11d..fb54d68 100644 (file)
 extern "C" {
 #endif
 
-/**
- * Delete the program main setting data.
- *
- * @param setting
- *   The program main setting data.
- *
- *   This does not alter setting.state.status.
- *
- * @return
- *   F_none on success.
- *
- *   F_parameter (with error bit) if a parameter is invalid.
- */
-#ifndef _di_fake_setting_delete_
-  extern f_status_t fake_setting_delete(fake_setting_t * const setting);
-#endif // _di_fake_setting_delete_
-
 /**
  * Perform the standard program setting load process.
  *
@@ -51,10 +34,22 @@ extern "C" {
  *     F_none on success.
  *
  *     Errors (with error bit) from: f_console_parameter_process().
+ *     Errors (with error bit) from: f_path_directory_cleanup().
+ *     Errors (with error bit) from: f_string_dynamic_resize().
+ *     Errors (with error bit) from: f_utf_is_word_dash_plus().
+ *     Errors (with error bit) from: f_uint8s_increase_by().
+ *     Errors (with error bit) from: fll_program_parameter_additional_rip().
  *     Errors (with error bit) from: fll_program_parameter_process_context().
+ *     Errors (with error bit) from: fll_program_parameter_process_verbosity().
  *
  * @see f_console_parameter_process()
+ * @see f_path_directory_cleanup()
+ * @see f_string_dynamic_resize()
+ * @see f_utf_is_word_dash_plus()
+ * @see f_uint8s_increase_by()
+ * @see fll_program_parameter_additional_rip()
  * @see fll_program_parameter_process_context()
+ * @see fll_program_parameter_process_verbosity()
  */
 #ifndef _di_fake_setting_load_
   extern void fake_setting_load(const f_console_arguments_t arguments, fll_program_data_t * const main, fake_setting_t * const setting);
@@ -72,16 +67,23 @@ extern "C" {
  * @param parameters
  *   The parameters array (generally from main.parameters) representing all of the parameters to look for.
  *   This must be of type f_console_parameters_t.
- * @param state
+ * @param parameter_state
  *   The internal state data primarily managed by f_console_parameter_process().
  *   The state.status is used to represent the return status of this callback.
+ *
+ *   This alters parameter_state->state->status:
+ *     F_none on success.
+ *     F_process on success, designating that processing should be performed (see f_console_parameter_process()).
+ *
+ *     Errors (with error bit) from: f_uint8s_increase().
  * @param data
  *   This must be of the type fake_setting_t.
  *
  * @see f_console_parameter_process()
+ * @see f_uint8s_increase()
  */
 #ifndef _di_fake_setting_load_parameter_callback_
-  extern void fake_setting_load_parameter_callback(const f_console_arguments_t arguments, void * const parameters, f_console_parameter_state_t * const state, void * const data);
+  extern void fake_setting_load_parameter_callback(const f_console_arguments_t arguments, void * const parameters, f_console_parameter_state_t * const parameter_state, void * const data);
 #endif // _di_fake_setting_load_parameter_callback_
 
 /**
@@ -108,40 +110,6 @@ extern "C" {
   extern f_status_t fake_setting_unload(fll_program_data_t * const main, fake_setting_t * const setting);
 #endif // _di_fake_setting_unload_
 
-/**
- * Deallocate data.
- *
- * @param data
- *   The program data.
- *
- * @return
- *   F_none on success.
- *
- *   Status codes (with error bit) are returned on any problem.
- *
- * @see fake_main()
- */
-#ifndef _di_fake_data_delete_
-  extern f_status_t fake_data_delete(fake_data_t * const data);
-#endif // _di_fake_data_delete_
-
-/**
- * Deallocate make data.
- *
- * @param data
- *   The make data.
- *
- * @return
- *   F_none on success.
- *
- * @see f_fss_nameds_resize()
- * @see f_string_dynamic_resize()
- * @see f_string_maps_resize()
- */
-#ifndef _di_fake_make_data_delete_
-  extern f_status_t fake_make_data_delete(fake_make_data_t * const data);
-#endif // _di_fake_make_data_delete_
-
 #ifdef __cplusplus
 } // extern "C"
 #endif
index e2e8b7a..8a65b32 100644 (file)
@@ -46,6 +46,7 @@ extern "C" {
     "f_file_touch",
     "f_file_write",
     "f_fss_apply_delimit",
+    "f_fss_nameds_resize",
     "f_path_change",
     "f_path_current",
     "f_path_directory_cleanup",
@@ -105,7 +106,6 @@ extern "C" {
     "fake_make_path_relative",
     "fake_path_generate_string_dynamic",
     "fake_skeleton_operate_directory_create",
-    "macro_f_fss_nameds_t_resize",
     "macro_f_string_map_multis_t_resize",
   };
 #endif // _di_fake_f_a_
index 4942a07..19e4ce4 100644 (file)
@@ -79,6 +79,7 @@ extern "C" {
     fake_f_f_file_touch_e,
     fake_f_f_file_write_e,
     fake_f_f_fss_apply_delimit_e,
+    fake_f_f_fss_nameds_resize_e,
     fake_f_f_path_change_e,
     fake_f_f_path_current_e,
     fake_f_f_path_directory_cleanup_e,
@@ -137,7 +138,6 @@ extern "C" {
     fake_f_fake_make_path_relative_e,
     fake_f_fake_path_generate_string_dynamic_e,
     fake_f_fake_skeleton_operate_directory_create_e,
-    fake_f_macro_f_fss_nameds_t_resize_e,
     fake_f_macro_f_string_map_multis_t_resize_e,
   }; // enum
 #endif // _di_fake_f_e_
index a84a048..a185125 100644 (file)
@@ -4,6 +4,277 @@
 extern "C" {
 #endif
 
+#ifndef _di_fake_build_data_delete_
+  void fake_build_data_delete(fake_build_data_t * const build_data) {
+
+    if (!build_data) return;
+
+    fake_build_setting_delete(&build_data->setting);
+    f_string_maps_resize(0, &build_data->environment);
+  }
+#endif // _di_fake_build_data_delete_
+
+#ifndef _di_fake_build_setting_delete_
+  void fake_build_setting_delete(fake_build_setting_t * const build_setting) {
+
+    if (!build_setting) return;
+
+    f_string_dynamic_resize(0, &build_setting->build_compiler);
+    f_string_dynamic_resize(0, &build_setting->build_indexer);
+    f_string_dynamic_resize(0, &build_setting->build_name);
+    f_string_dynamic_resize(0, &build_setting->build_sources_object);
+    f_string_dynamic_resize(0, &build_setting->build_sources_object_shared);
+    f_string_dynamic_resize(0, &build_setting->build_sources_object_static);
+    f_string_dynamic_resize(0, &build_setting->path_headers);
+    f_string_dynamic_resize(0, &build_setting->path_language);
+    f_string_dynamic_resize(0, &build_setting->path_library_script);
+    f_string_dynamic_resize(0, &build_setting->path_library_shared);
+    f_string_dynamic_resize(0, &build_setting->path_library_static);
+    f_string_dynamic_resize(0, &build_setting->path_object_script);
+    f_string_dynamic_resize(0, &build_setting->path_object_shared);
+    f_string_dynamic_resize(0, &build_setting->path_object_static);
+    f_string_dynamic_resize(0, &build_setting->path_program_script);
+    f_string_dynamic_resize(0, &build_setting->path_program_shared);
+    f_string_dynamic_resize(0, &build_setting->path_program_static);
+    f_string_dynamic_resize(0, &build_setting->path_sources);
+    f_string_dynamic_resize(0, &build_setting->path_sources_object);
+    f_string_dynamic_resize(0, &build_setting->process_post);
+    f_string_dynamic_resize(0, &build_setting->process_pre);
+    f_string_dynamic_resize(0, &build_setting->version_major);
+    f_string_dynamic_resize(0, &build_setting->version_major_prefix);
+    f_string_dynamic_resize(0, &build_setting->version_micro);
+    f_string_dynamic_resize(0, &build_setting->version_micro_prefix);
+    f_string_dynamic_resize(0, &build_setting->version_minor);
+    f_string_dynamic_resize(0, &build_setting->version_minor_prefix);
+    f_string_dynamic_resize(0, &build_setting->version_nano);
+    f_string_dynamic_resize(0, &build_setting->version_nano_prefix);
+
+    f_string_dynamics_resize(0, &build_setting->build_indexer_arguments);
+    f_string_dynamics_resize(0, &build_setting->build_libraries);
+    f_string_dynamics_resize(0, &build_setting->build_libraries_shared);
+    f_string_dynamics_resize(0, &build_setting->build_libraries_static);
+    f_string_dynamics_resize(0, &build_setting->build_objects_library);
+    f_string_dynamics_resize(0, &build_setting->build_objects_library_shared);
+    f_string_dynamics_resize(0, &build_setting->build_objects_library_static);
+    f_string_dynamics_resize(0, &build_setting->build_objects_program);
+    f_string_dynamics_resize(0, &build_setting->build_objects_program_shared);
+    f_string_dynamics_resize(0, &build_setting->build_objects_program_static);
+    f_string_dynamics_resize(0, &build_setting->build_sources_documentation);
+    f_string_dynamics_resize(0, &build_setting->build_sources_headers);
+    f_string_dynamics_resize(0, &build_setting->build_sources_headers_shared);
+    f_string_dynamics_resize(0, &build_setting->build_sources_headers_static);
+    f_string_dynamics_resize(0, &build_setting->build_sources_library);
+    f_string_dynamics_resize(0, &build_setting->build_sources_library_shared);
+    f_string_dynamics_resize(0, &build_setting->build_sources_library_static);
+    f_string_dynamics_resize(0, &build_setting->build_sources_program);
+    f_string_dynamics_resize(0, &build_setting->build_sources_program_shared);
+    f_string_dynamics_resize(0, &build_setting->build_sources_program_static);
+    f_string_dynamics_resize(0, &build_setting->build_sources_script);
+    f_string_dynamics_resize(0, &build_setting->build_sources_setting);
+    f_string_dynamics_resize(0, &build_setting->defines);
+    f_string_dynamics_resize(0, &build_setting->defines_library);
+    f_string_dynamics_resize(0, &build_setting->defines_library_shared);
+    f_string_dynamics_resize(0, &build_setting->defines_library_static);
+    f_string_dynamics_resize(0, &build_setting->defines_object);
+    f_string_dynamics_resize(0, &build_setting->defines_object_shared);
+    f_string_dynamics_resize(0, &build_setting->defines_object_static);
+    f_string_dynamics_resize(0, &build_setting->defines_program);
+    f_string_dynamics_resize(0, &build_setting->defines_program_shared);
+    f_string_dynamics_resize(0, &build_setting->defines_program_static);
+    f_string_dynamics_resize(0, &build_setting->defines_shared);
+    f_string_dynamics_resize(0, &build_setting->defines_static);
+    f_string_dynamics_resize(0, &build_setting->environment);
+    f_string_dynamics_resize(0, &build_setting->flags);
+    f_string_dynamics_resize(0, &build_setting->flags_library);
+    f_string_dynamics_resize(0, &build_setting->flags_library_shared);
+    f_string_dynamics_resize(0, &build_setting->flags_library_static);
+    f_string_dynamics_resize(0, &build_setting->flags_object);
+    f_string_dynamics_resize(0, &build_setting->flags_object_shared);
+    f_string_dynamics_resize(0, &build_setting->flags_object_static);
+    f_string_dynamics_resize(0, &build_setting->flags_program);
+    f_string_dynamics_resize(0, &build_setting->flags_program_shared);
+    f_string_dynamics_resize(0, &build_setting->flags_program_static);
+    f_string_dynamics_resize(0, &build_setting->flags_shared);
+    f_string_dynamics_resize(0, &build_setting->flags_static);
+    f_string_dynamics_resize(0, &build_setting->modes);
+    f_string_dynamics_resize(0, &build_setting->modes_default);
+  }
+#endif // _di_fake_build_setting_delete_
+
+#ifndef _di_fake_build_stage_delete_
+  void fake_build_stage_delete(fake_build_stage_t * const build_stage) {
+
+    if (!build_stage) return;
+
+    f_string_dynamic_resize(0, &build_stage->file_library_script);
+    f_string_dynamic_resize(0, &build_stage->file_library_shared);
+    f_string_dynamic_resize(0, &build_stage->file_library_static);
+    f_string_dynamic_resize(0, &build_stage->file_object_script);
+    f_string_dynamic_resize(0, &build_stage->file_object_shared);
+    f_string_dynamic_resize(0, &build_stage->file_object_static);
+    f_string_dynamic_resize(0, &build_stage->file_objects_static);
+    f_string_dynamic_resize(0, &build_stage->file_process_post);
+    f_string_dynamic_resize(0, &build_stage->file_process_pre);
+    f_string_dynamic_resize(0, &build_stage->file_program_script);
+    f_string_dynamic_resize(0, &build_stage->file_program_shared);
+    f_string_dynamic_resize(0, &build_stage->file_program_static);
+    f_string_dynamic_resize(0, &build_stage->file_skeleton);
+    f_string_dynamic_resize(0, &build_stage->file_sources_documentation);
+    f_string_dynamic_resize(0, &build_stage->file_sources_headers);
+    f_string_dynamic_resize(0, &build_stage->file_sources_script);
+    f_string_dynamic_resize(0, &build_stage->file_sources_settings);
+  }
+#endif // _di_fake_build_stage_delete_
+
+#ifndef _di_fake_data_delete_
+  void fake_data_delete(fake_data_t * const data) {
+
+    if (!data) return;
+
+    f_string_dynamic_resize(0, &data->path_build);
+    f_string_dynamic_resize(0, &data->path_build_documentation);
+    f_string_dynamic_resize(0, &data->path_build_documents);
+    f_string_dynamic_resize(0, &data->path_build_includes);
+    f_string_dynamic_resize(0, &data->path_build_libraries);
+    f_string_dynamic_resize(0, &data->path_build_libraries_script);
+    f_string_dynamic_resize(0, &data->path_build_libraries_shared);
+    f_string_dynamic_resize(0, &data->path_build_libraries_static);
+    f_string_dynamic_resize(0, &data->path_build_objects);
+    f_string_dynamic_resize(0, &data->path_build_objects_script);
+    f_string_dynamic_resize(0, &data->path_build_objects_shared);
+    f_string_dynamic_resize(0, &data->path_build_objects_static);
+    f_string_dynamic_resize(0, &data->path_build_programs);
+    f_string_dynamic_resize(0, &data->path_build_programs_script);
+    f_string_dynamic_resize(0, &data->path_build_programs_shared);
+    f_string_dynamic_resize(0, &data->path_build_programs_static);
+    f_string_dynamic_resize(0, &data->path_build_settings);
+    f_string_dynamic_resize(0, &data->path_build_stage);
+
+    f_string_dynamic_resize(0, &data->path_data_build);
+    f_string_dynamic_resize(0, &data->path_data_documentation);
+    f_string_dynamic_resize(0, &data->path_data_settings);
+
+    f_string_dynamic_resize(0, &data->path_documents);
+
+    f_string_dynamic_resize(0, &data->path_licenses);
+
+    f_string_dynamic_resize(0, &data->path_work_includes);
+    f_string_dynamic_resize(0, &data->path_work_libraries);
+    f_string_dynamic_resize(0, &data->path_work_libraries_script);
+    f_string_dynamic_resize(0, &data->path_work_libraries_shared);
+    f_string_dynamic_resize(0, &data->path_work_libraries_static);
+    f_string_dynamic_resize(0, &data->path_work_programs);
+    f_string_dynamic_resize(0, &data->path_work_programs_script);
+    f_string_dynamic_resize(0, &data->path_work_programs_shared);
+    f_string_dynamic_resize(0, &data->path_work_programs_static);
+
+    f_string_dynamic_resize(0, &data->file_data_build_defines);
+    f_string_dynamic_resize(0, &data->file_data_build_dependencies);
+    f_string_dynamic_resize(0, &data->file_data_build_process_post);
+    f_string_dynamic_resize(0, &data->file_data_build_process_pre);
+    f_string_dynamic_resize(0, &data->file_data_build_fakefile);
+    f_string_dynamic_resize(0, &data->file_data_build_settings);
+
+    f_string_dynamic_resize(0, &data->file_documents_readme);
+  }
+#endif // _di_fake_data_delete_
+
+#ifndef _di_fake_make_data_delete_
+  void fake_make_data_delete(fake_make_data_t * const data_make) {
+
+    if (!data_make) return;
+
+    fake_build_setting_delete(&data_make->setting_build);
+    fake_make_setting_delete(&data_make->setting_make);
+
+    f_string_maps_resize(0, &data_make->environment);
+
+    f_string_dynamics_resize(0, &data_make->parameter.build);
+    f_string_dynamics_resize(0, &data_make->parameter.color);
+    f_string_dynamics_resize(0, &data_make->parameter.data);
+    f_string_dynamics_resize(0, &data_make->parameter.define);
+    f_string_dynamics_resize(0, &data_make->parameter.documents);
+    f_string_dynamics_resize(0, &data_make->parameter.fakefile);
+    f_string_dynamics_resize(0, &data_make->parameter.licenses);
+    f_string_dynamics_resize(0, &data_make->parameter.mode);
+    f_string_dynamics_resize(0, &data_make->parameter.process);
+    f_string_dynamics_resize(0, &data_make->parameter.settings);
+    f_string_dynamics_resize(0, &data_make->parameter.sources);
+    f_string_dynamics_resize(0, &data_make->parameter.verbosity);
+    f_string_dynamics_resize(0, &data_make->parameter.work);
+
+    f_string_dynamics_resize(0, &data_make->parameter_option.build);
+    f_string_dynamics_resize(0, &data_make->parameter_option.color);
+    f_string_dynamics_resize(0, &data_make->parameter_option.data);
+    f_string_dynamics_resize(0, &data_make->parameter_option.define);
+    f_string_dynamics_resize(0, &data_make->parameter_option.documents);
+    f_string_dynamics_resize(0, &data_make->parameter_option.fakefile);
+    f_string_dynamics_resize(0, &data_make->parameter_option.licenses);
+    f_string_dynamics_resize(0, &data_make->parameter_option.mode);
+    f_string_dynamics_resize(0, &data_make->parameter_option.process);
+    f_string_dynamics_resize(0, &data_make->parameter_option.settings);
+    f_string_dynamics_resize(0, &data_make->parameter_option.sources);
+    f_string_dynamics_resize(0, &data_make->parameter_option.verbosity);
+    f_string_dynamics_resize(0, &data_make->parameter_option.work);
+
+    f_string_dynamics_resize(0, &data_make->parameter_value.build);
+    f_string_dynamics_resize(0, &data_make->parameter_value.color);
+    f_string_dynamics_resize(0, &data_make->parameter_value.data);
+    f_string_dynamics_resize(0, &data_make->parameter_value.define);
+    f_string_dynamics_resize(0, &data_make->parameter_value.documents);
+    f_string_dynamics_resize(0, &data_make->parameter_value.fakefile);
+    f_string_dynamics_resize(0, &data_make->parameter_value.licenses);
+    f_string_dynamics_resize(0, &data_make->parameter_value.mode);
+    f_string_dynamics_resize(0, &data_make->parameter_value.process);
+    f_string_dynamics_resize(0, &data_make->parameter_value.settings);
+    f_string_dynamics_resize(0, &data_make->parameter_value.sources);
+    f_string_dynamics_resize(0, &data_make->parameter_value.verbosity);
+    f_string_dynamics_resize(0, &data_make->parameter_value.work);
+
+    f_string_dynamics_resize(0, &data_make->path.stack);
+
+    f_fss_nameds_resize(0, &data_make->fakefile);
+
+    f_string_dynamic_resize(0, &data_make->buffer);
+    f_string_dynamic_resize(0, &data_make->cache_1);
+    f_string_dynamic_resize(0, &data_make->cache_2);
+    f_string_dynamic_resize(0, &data_make->cache_path);
+
+    f_string_dynamics_resize(0, &data_make->cache_arguments);
+
+    f_iki_data_delete(&data_make->cache_iki);
+  }
+#endif // _di_fake_make_data_delete_
+
+#ifndef _di_fake_make_setting_delete_
+  void fake_make_setting_delete(fake_make_setting_t * const setting_make) {
+
+    f_string_map_multis_resize(0, &setting_make->parameter);
+  }
+#endif // _di_fake_make_setting_delete_
+
+#ifndef _di_fake_setting_delete_
+  void fake_setting_delete(fake_setting_t * const setting) {
+
+    if (!setting) return;
+
+    f_string_dynamic_resize(0, &setting->build);
+    f_string_dynamic_resize(0, &setting->data);
+    f_string_dynamic_resize(0, &setting->documents);
+    f_string_dynamic_resize(0, &setting->fakefile);
+    f_string_dynamic_resize(0, &setting->licenses);
+    f_string_dynamic_resize(0, &setting->process);
+    f_string_dynamic_resize(0, &setting->settings);
+    f_string_dynamic_resize(0, &setting->sources);
+    f_string_dynamic_resize(0, &setting->work);
+
+    f_string_dynamics_resize(0, &setting->defines);
+    f_string_dynamics_resize(0, &setting->modes);
+
+    f_uint8s_resize(0, &setting->operations);
+  }
+#endif // _di_fake_setting_delete_
+
 #ifdef __cplusplus
 } // extern "C"
 #endif
index 1c33e55..297e5f8 100644 (file)
@@ -574,86 +574,6 @@ extern "C" {
     f_string_dynamics_t_initialize, \
   }
 
-  #define macro_fake_build_setting_t_delete_simple(setting) \
-    macro_f_string_dynamic_t_delete_simple(setting.build_compiler) \
-    macro_f_string_dynamic_t_delete_simple(setting.build_indexer) \
-    macro_f_string_dynamic_t_delete_simple(setting.build_name) \
-    macro_f_string_dynamic_t_delete_simple(setting.build_sources_object) \
-    macro_f_string_dynamic_t_delete_simple(setting.build_sources_object_shared) \
-    macro_f_string_dynamic_t_delete_simple(setting.build_sources_object_static) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_headers) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_language) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_library_script) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_library_shared) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_library_static) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_object_script) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_object_shared) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_object_static) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_program_script) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_program_shared) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_program_static) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_sources) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_sources_object) \
-    macro_f_string_dynamic_t_delete_simple(setting.process_post) \
-    macro_f_string_dynamic_t_delete_simple(setting.process_pre) \
-    macro_f_string_dynamic_t_delete_simple(setting.version_major) \
-    macro_f_string_dynamic_t_delete_simple(setting.version_major_prefix) \
-    macro_f_string_dynamic_t_delete_simple(setting.version_micro) \
-    macro_f_string_dynamic_t_delete_simple(setting.version_micro_prefix) \
-    macro_f_string_dynamic_t_delete_simple(setting.version_minor) \
-    macro_f_string_dynamic_t_delete_simple(setting.version_minor_prefix) \
-    macro_f_string_dynamic_t_delete_simple(setting.version_nano) \
-    macro_f_string_dynamic_t_delete_simple(setting.version_nano_prefix) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_indexer_arguments) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_libraries) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_libraries_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_libraries_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_objects_library) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_objects_library_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_objects_library_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_objects_program) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_objects_program_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_objects_program_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_documentation) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_library) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_library_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_library_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_program) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_program_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_program_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_script) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_setting) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_library) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_library_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_library_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_object) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_object_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_object_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_program) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_program_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_program_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.environment) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_library) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_library_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_library_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_object) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_object_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_object_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_program) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_program_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_program_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.modes) \
-    macro_f_string_dynamics_t_delete_simple(setting.modes_default)
-
   #define fake_build_setting_total_d 89
 #endif // _di_fake_build_setting_t_
 
@@ -699,25 +619,6 @@ extern "C" {
   }
 
   #define fake_build_stage_total_d 17
-
-  #define macro_fake_build_stage_t_delete_simple(stage) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_library_script) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_library_shared) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_library_static) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_object_script) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_object_shared) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_object_static) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_objects_static) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_process_post) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_process_pre) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_program_script) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_program_shared) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_program_static) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_skeleton) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_sources_documentation) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_sources_headers) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_sources_script) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_sources_settings)
 #endif // _di_fake_build_stage_t_
 
 /**
@@ -736,10 +637,6 @@ extern "C" {
     fake_build_setting_t_initialize, \
     f_string_maps_t_initialize, \
   }
-
-  #define macro_fake_build_main_delete_simple(build) \
-    macro_fake_build_setting_t_delete_simple(build.setting) \
-    macro_f_string_maps_t_delete_simple(build.environment);
 #endif // _di_fake_build_data_t_
 
 #ifndef _di_fake_make_setting_t_
@@ -756,9 +653,6 @@ extern "C" {
     0, \
     f_string_map_multis_t_initialize, \
   }
-
-  #define macro_fake_make_setting_t_delete_simple(setting) \
-    macro_f_string_map_multis_t_delete_simple(setting.parameter)
 #endif // _di_fake_make_setting_t_
 
 #ifndef _di_fake_make_parameter_t_
@@ -793,21 +687,6 @@ extern "C" {
     f_string_dynamics_t_initialize, \
     f_string_dynamics_t_initialize, \
   }
-
-  #define macro_fake_make_parameter_delete_simple(parameter) \
-    macro_f_string_dynamics_t_delete_simple(parameter.build) \
-    macro_f_string_dynamics_t_delete_simple(parameter.color) \
-    macro_f_string_dynamics_t_delete_simple(parameter.data) \
-    macro_f_string_dynamics_t_delete_simple(parameter.define) \
-    macro_f_string_dynamics_t_delete_simple(parameter.documents) \
-    macro_f_string_dynamics_t_delete_simple(parameter.fakefile) \
-    macro_f_string_dynamics_t_delete_simple(parameter.licenses) \
-    macro_f_string_dynamics_t_delete_simple(parameter.mode) \
-    macro_f_string_dynamics_t_delete_simple(parameter.process) \
-    macro_f_string_dynamics_t_delete_simple(parameter.settings) \
-    macro_f_string_dynamics_t_delete_simple(parameter.sources) \
-    macro_f_string_dynamics_t_delete_simple(parameter.verbosity) \
-    macro_f_string_dynamics_t_delete_simple(parameter.work)
 #endif // _di_fake_make_parameter_t_
 
 #ifndef _di_fake_make_path_t_
@@ -821,9 +700,6 @@ extern "C" {
     f_file_t_initialize, \
     f_string_dynamics_t_initialize, \
   }
-
-  #define macro_fake_make_path_delete_simple(path) \
-    macro_f_string_dynamics_t_delete_simple(path.stack);
 #endif // _di_fake_make_path_t_
 
 /**
@@ -902,6 +778,90 @@ extern "C" {
   }
 #endif // _di_fake_make_data_t_
 
+/**
+ * Delete the build data.
+ *
+ * @param build_data
+ *   The build data.
+ *
+ *   This does not alter setting.state.status.
+ */
+#ifndef _di_fake_build_data_delete_
+  extern void fake_build_data_delete(fake_build_data_t * const build_data);
+#endif // _di_fake_build_data_delete_
+
+/**
+ * Delete the build data.
+ *
+ * @param build_setting
+ *   The build setting.
+ *
+ *   This does not alter setting.state.status.
+ */
+#ifndef _di_fake_build_setting_delete_
+  extern void fake_build_setting_delete(fake_build_setting_t * const build_setting);
+#endif // _di_fake_build_setting_delete_
+
+/**
+ * Delete the build data.
+ *
+ * @param build_stage
+ *   The build stage.
+ *
+ *   This does not alter setting.state.status.
+ */
+#ifndef _di_fake_build_stage_delete_
+  extern void fake_build_stage_delete(fake_build_stage_t * const build_stage);
+#endif // _di_fake_build_stage_delete_
+
+/**
+ * Deallocate program data.
+ *
+ * @param data
+ *   The program data.
+ *
+ *   This does not alter data.settings.state.status.
+ */
+#ifndef _di_fake_data_delete_
+  extern void fake_data_delete(fake_data_t * const data);
+#endif // _di_fake_data_delete_
+
+/**
+ * Deallocate make data.
+ *
+ * @param data_make
+ *   The make data.
+ *
+ *   This does not alter data_make.setting.state.status.
+ */
+#ifndef _di_fake_make_data_delete_
+  extern void fake_make_data_delete(fake_make_data_t * const data_make);
+#endif // _di_fake_make_data_delete_
+
+/**
+ * Deallocate make setting data.
+ *
+ * @param setting_make
+ *   The make setting data.
+ *
+ *   This does not alter data_make.setting.state.status.
+ */
+#ifndef _di_fake_make_setting_delete_
+  extern void fake_make_setting_delete(fake_make_setting_t * const setting_make);
+#endif // _di_fake_make_setting_delete_
+
+/**
+ * Delete the program main setting data.
+ *
+ * @param setting
+ *   The program main setting data.
+ *
+ *   This does not alter setting.state.status.
+ */
+#ifndef _di_fake_setting_delete_
+  extern void fake_setting_delete(fake_setting_t * const setting);
+#endif // _di_fake_setting_delete_
+
 #ifdef __cplusplus
 } // extern "C"
 #endif
index b865f29..b03c4b2 100644 (file)
@@ -52,6 +52,8 @@ extern "C" {
     if (F_status_is_error(setting->state.status)) {
       fake_data_delete(&data);
 
+      fake_print_line_last(setting, main->message);
+
       return;
     }
 
@@ -71,7 +73,7 @@ extern "C" {
       }
     }
 
-    {
+    if (F_status_is_error_not(setting->state.status)) {
       f_array_length_t i = 0;
 
       // Pre-process and perform validation when "clean" is before a "build" or "make" command as a safety check.
index ac8d406..8b0491f 100644 (file)
@@ -159,6 +159,7 @@ extern "C" {
  *
  *     Errors (with error bit) from: f_string_dynamic_append()
  *     Errors (with error bit) from: fake_build_operate()
+ *     Errors (with error bit) from: fake_clean_operate()
  *     Errors (with error bit) from: fake_make_operate()
  *     Errors (with error bit) from: fake_path_generate()
  *     Errors (with error bit) from: fake_skeleton_operate()
@@ -167,6 +168,7 @@ extern "C" {
  * @see f_string_dynamic_append()
  * @see fll_program_standard_signal_received()
  * @see fake_build_operate()
+ * @see fake_clean_operate()
  * @see fake_make_operate()
  * @see fake_path_generate()
  * @see fake_skeleton_operate()
index 28b41e5..ee7d1c1 100644 (file)
@@ -364,7 +364,7 @@ extern "C" {
 #ifndef _di_fake_path_generate_string_dynamic_
   void fake_path_generate_string_dynamic(fake_data_t * const data, const f_string_dynamic_t source, f_string_dynamic_t *destination[], const uint8_t length) {
 
-    if (!data || !data->main || !data->setting) return;
+    if (!data || !data->main || !data->setting || !destination) return;
 
     data->setting->state.status = F_none;
 
index 6b9c3e3..8fbcfdd 100644 (file)
@@ -27,10 +27,12 @@ extern "C" {
  *     F_true if inside the project.
  *     F_false (with error bit) if path exists outside of the root project path.
  *
+ *     Errors (with error bit) from: fl_string_dynamic_partial_compare()
  *     Errors (with error bit) from: fll_path_canonical()
  * @param path
  *   file path to get the real path of.
  *
+ * @see fl_string_dynamic_partial_compare()
  * @see fll_path_canonical()
  */
 #ifndef _di_fake_make_assure_inside_project_
@@ -51,6 +53,8 @@ extern "C" {
  *     F_exist_not (with error bit) if there is no owner or group by the given name.
  *     F_parameter (with error bit) on invalid parameter.
  *
+ *     Errors (with error bit) from: f_account_group_id_by_name()
+ *     Errors (with error bit) from: f_account_id_by_name()
  *     Errors (with error bit) from: fl_conversion_dynamic_to_unsigned_detect()
  * @param is_owner
  *   If TRUE, then buffer represents a UID.
@@ -64,6 +68,8 @@ extern "C" {
  *   When is_owner is TRUE, then this should be cast to type (gid_t *).
  *   This is set to 0 on any error, check data_make.setting.state.status for error.
  *
+ * @see f_account_group_id_by_name()
+ * @see f_account_id_by_name()
  * @see fl_conversion_dynamic_to_unsigned_detect()
  */
 #ifndef _di_fake_make_get_id_
index 674e093..921687e 100644 (file)
@@ -66,12 +66,12 @@ extern "C" {
         delimits.used = 0;
       }
 
-      macro_f_fss_comments_t_delete_simple(comments);
+      f_string_ranges_resize(0, &comments);
 
       if (F_status_is_error(data_make->setting->state.status)) {
-        macro_f_fss_objects_t_delete_simple(list_objects);
-        macro_f_fss_contents_t_delete_simple(list_contents);
-        macro_f_fss_delimits_t_delete_simple(delimits);
+        f_string_ranges_resize(0, &list_objects);
+        f_string_rangess_resize(0, &list_contents);
+        f_array_lengths_resize(0, &delimits);
 
         return;
       }
@@ -84,16 +84,16 @@ extern "C" {
       f_fss_set_t settings = f_fss_set_t_initialize;
 
       if (list_objects.used > data_make->fakefile.size) {
-        macro_f_fss_nameds_t_resize((data_make->setting->state.status), data_make->fakefile, list_objects.used);
+        data_make->setting->state.status = f_fss_nameds_resize(list_objects.used, &data_make->fakefile);
       }
 
       if (F_status_is_error(data_make->setting->state.status)) {
-        fake_print_error(data_make->setting, data_make->main->error, macro_fake_f(macro_f_fss_nameds_t_resize));
+        fake_print_error(data_make->setting, data_make->main->error, macro_fake_f(f_fss_nameds_resize));
 
-        macro_f_fss_set_t_delete_simple(settings);
-        macro_f_fss_objects_t_delete_simple(list_objects);
-        macro_f_fss_contents_t_delete_simple(list_contents);
-        macro_f_fss_delimits_t_delete_simple(delimits);
+        f_fss_set_resize(0, &settings);
+        f_string_ranges_resize(0, &list_objects);
+        f_string_rangess_resize(0, &list_contents);
+        f_array_lengths_resize(0, &delimits);
 
         return;
       }
@@ -187,12 +187,12 @@ extern "C" {
         } // for
       }
 
-      macro_f_fss_objects_t_delete_simple(list_objects);
-      macro_f_fss_contents_t_delete_simple(list_contents);
-      macro_f_fss_delimits_t_delete_simple(delimits);
+      f_string_ranges_resize(0, &list_objects);
+      f_string_rangess_resize(0, &list_contents);
+      f_array_lengths_resize(0, &delimits);
 
       if (F_status_is_error(data_make->setting->state.status)) {
-        macro_f_fss_set_t_delete_simple(settings);
+        f_fss_set_resize(0, &settings);
 
         return;
       }
@@ -202,7 +202,7 @@ extern "C" {
 
         data_make->setting->state.status = F_status_set_error(F_failure);
 
-        macro_f_fss_set_t_delete_simple(settings);
+        f_fss_set_resize(0, &settings);
 
         return;
       }
@@ -228,7 +228,7 @@ extern "C" {
         if (F_status_is_error(data_make->setting->state.status)) {
           fake_print_error(data_make->setting, data_make->main->error, function_name);
 
-          macro_f_fss_set_t_delete_simple(settings);
+          f_fss_set_resize(0, &settings);
 
           return;
         }
@@ -267,7 +267,7 @@ extern "C" {
         } // for
 
         if (F_status_is_error(data_make->setting->state.status)) {
-          macro_f_fss_set_t_delete_simple(settings);
+          f_fss_set_resize(0, &settings);
 
           return;
         }
@@ -282,7 +282,7 @@ extern "C" {
       }
 
       if (F_status_is_error(data_make->setting->state.status)) {
-        macro_f_fss_set_t_delete_simple(settings);
+        f_fss_set_resize(0, &settings);
 
         return;
       }
@@ -305,14 +305,14 @@ extern "C" {
           fake_print_error(data_make->setting, data_make->main->error, macro_fake_f(f_string_dynamic_partial_append));
         }
 
-        macro_f_fss_set_t_delete_simple(settings);
+        f_fss_set_resize(0, &settings);
 
         return;
       }
 
       fake_make_load_fakefile_setting_define_and_parameter(data_make, &settings);
 
-      macro_f_fss_set_t_delete_simple(settings);
+      f_fss_set_resize(0, &settings);
     }
 
     data_make->setting->state.status = F_none;
index a8011ec..fccae48 100644 (file)
@@ -24,17 +24,53 @@ extern "C" {
  * @param data_make
  *   All make related setting data, including data from the fakefile and the build settings file.
  *
- *   This alters data_make.settings.state.status:
+ *   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.
+ *     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().
+ *     Errors (with error bit) from: f_string_dynamic_partial_append().
+ *     Errors (with error bit) from: f_string_dynamics_resize().
+ *     Errors (with error bit) from: f_string_map_multis_resize().
+ *     Errors (with error bit) from: fll_fss_basic_list_read().
+ *     Errors (with error bit) from: fll_fss_extended_read().
+ *     Errors (with error bit) from: fll_program_standard_signal_received().
  *
  *     Errors (with error bit) from: fake_build_load_setting().
+ *     Errors (with error bit) from: fake_make_load_fakefile_setting_build().
+ *     Errors (with error bit) from: fake_make_load_fakefile_setting_compiler().
+ *     Errors (with error bit) from: fake_make_load_fakefile_setting_define_and_parameter().
+ *     Errors (with error bit) from: fake_make_load_fakefile_setting_environment().
+ *     Errors (with error bit) from: fake_make_load_fakefile_setting_fail().
+ *     Errors (with error bit) from: fake_make_load_fakefile_setting_indexer().
+ *     Errors (with error bit) from: fake_make_load_fakefile_setting_parameter().
+ *     Errors (with error bit) from: fake_file_buffer().
+ *     Errors (with error bit) from: fake_pipe_buffer().
  * @param process_pipe
  *   If TRUE, then use the program input pipe.
  *   If FALSE, then ignore the program input pipe.
  *
+ * @see f_fss_apply_delimit()
+ * @see f_string_dynamic_append()
+ * @see f_string_dynamic_partial_append()
+ * @see f_string_dynamics_resize()
+ * @see f_string_map_multis_resize()
+ * @see fll_fss_basic_list_read()
+ * @see fll_fss_extended_read()
+ * @see fll_program_standard_signal_received()
+ *
  * @see fake_build_load_setting()
+ * @see fake_make_load_fakefile_setting_build()
+ * @see fake_make_load_fakefile_setting_compiler()
+ * @see fake_make_load_fakefile_setting_define_and_parameter()
+ * @see fake_make_load_fakefile_setting_environment()
+ * @see fake_make_load_fakefile_setting_fail()
+ * @see fake_make_load_fakefile_setting_indexer()
+ * @see fake_make_load_fakefile_setting_parameter()
+ * @see fake_file_buffer()
+ * @see fake_pipe_buffer()
  */
 #ifndef _di_fake_make_load_fakefile_
   extern void fake_make_load_fakefile(fake_make_data_t * const data_make, const bool process_pipe);
@@ -84,14 +120,22 @@ extern "C" {
  *     F_none on success.
  *
  *     Errors (with error bit) from: f_environment_set().
+ *     Errors (with error bit) from: f_string_dynamic_mash().
  *     Errors (with error bit) from: f_string_dynamic_mash_nulless().
  *     Errors (with error bit) from: fll_fss_snatch_map_apart().
+ *
+ *     Errors (with error bit) from: fake_build_load_setting_process().
+ *     Errors (with error bit) from: fake_make_operate_validate_define_name().
  * @param settings
  *   The settings data.
  *
  * @see f_environment_set()
+ * @see f_string_dynamic_mash()
  * @see f_string_dynamic_mash_nulless()
  * @see fll_fss_snatch_map_apart()
+ *
+ * @see fake_build_load_setting_process()
+ * @see fake_make_operate_validate_define_name()
  */
 #ifndef _di_fake_make_load_fakefile_setting_define_and_parameter_
   extern void fake_make_load_fakefile_setting_define_and_parameter(fake_make_data_t * const data_make, f_fss_set_t * const settings);
@@ -107,12 +151,16 @@ extern "C" {
  *     F_none on success.
  *
  *     Errors (with error bit) from: f_string_dynamic_append().
+ *     Errors (with error bit) from: f_string_dynamic_append_nulless().
+ *     Errors (with error bit) from: f_string_dynamic_increase_by().
  *     Errors (with error bit) from: f_string_dynamic_partial_append_nulless().
  *     Errors (with error bit) from: f_string_dynamics_increase().
  * @param content
  *   The setting content.
  *
  * @see f_string_dynamic_append()
+ * @see f_string_dynamic_append_nulless()
+ * @see f_string_dynamic_increase_by()
  * @see f_string_dynamic_partial_append_nulless()
  * @see f_string_dynamics_increase()
  */
@@ -167,6 +215,7 @@ extern "C" {
  *     F_none on success.
  *
  *     Errors (with error bit) from: f_string_append_assure().
+ *     Errors (with error bit) from: f_string_dynamic_append_assure().
  *     Errors (with error bit) from: f_string_dynamic_partial_append_nulless().
  *     Errors (with error bit) from: fake_make_load_fakefile_setting_define_and_parameter().
  * @param object
@@ -175,6 +224,7 @@ extern "C" {
  *   The setting content.
  *
  * @see f_string_append_assure()
+ * @see f_string_dynamic_append_assure()
  * @see f_string_dynamic_partial_append_nulless()
  *
  * @see fake_make_load_fakefile_setting_define_and_parameter()
index d9d1b76..0401b78 100644 (file)
@@ -22,12 +22,18 @@ extern "C" {
  * @param data_make
  *   All make related setting data, including data from the fakefile and the build settings file.
  *
- *   This alters data_make.settings.state.status:
+ *   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: f_string_dynamic_append().
+ *     Errors (with error bit) from: f_string_dynamic_append_nulless().
+ *     Errors (with error bit) from: f_string_dynamics_increase().
+ *     Errors (with error bit) from: f_string_dynamics_increase_by().
  *
- *     Status codes (with error bit) are returned on any problem.
+ * @see f_string_dynamic_append()
+ * @see f_string_dynamic_append_nulless()
+ * @see f_string_dynamics_increase()
+ * @see f_string_dynamics_increase_by()
  */
 #ifndef _di_fake_make_load_parameters_
   extern void fake_make_load_parameters(fake_make_data_t * const data_make);
index 29f9a03..67321f9 100644 (file)
@@ -29,9 +29,26 @@ extern "C" {
  *     F_none on success.
  *     F_data_not on success but fakefile is empty.
  *
- *     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.
+ *
+ *     Errors (with error bit) from: f_directory_open()
+ *     Errors (with error bit) from: f_path_change_at()
+ *     Errors (with error bit) from: f_path_current()
+ *     Errors (with error bit) from: f_string_dynamics_increase()
+ *
+ *     Errors (with error bit) from: fake_make_load_fakefile()
+ *     Errors (with error bit) from: fake_make_load_parameters()
+ *     Errors (with error bit) from: fake_make_operate_section()
+ *
+ * @see f_directory_open()
+ * @see f_path_change_at()
+ * @see f_path_current()
+ * @see f_string_dynamics_increase()
+ * @see fll_program_print_signal_received()
  *
- *     Status codes (with error bit) are returned on any problem.
+ * @see fake_make_load_fakefile()
+ * @see fake_make_load_parameters()
+ * @see fake_make_operate_section()
  */
 #ifndef _di_fake_make_operate_
   extern void fake_make_operate(fake_data_t * const data);
@@ -49,20 +66,73 @@ extern "C" {
  *     F_none on success.
  *     F_data_not on success but fakefile is empty.
  *
- *     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_string_dynamic_append()
+ *     Errors (with error bit) from: f_string_dynamic_append_assure()
+ *     Errors (with error bit) from: f_string_dynamic_append_nulless()
+ *     Errors (with error bit) from: f_string_dynamic_increase_by()
+ *     Errors (with error bit) from: f_string_dynamic_partial_append_nulless()
+ *     Errors (with error bit) from: f_string_dynamics_increase()
+ *     Errors (with error bit) from: f_string_dynamics_increase_by()
+ *     Errors (with error bit) from: fl_iki_read()
+ *     Errors (with error bit) from: fl_string_dynamic_partial_compare_string()
+ *
+ *     Errors (with error bit) from: fake_make_operate_expand_build()
+ *     Errors (with error bit) from: fake_make_operate_expand_context()
+ *     Errors (with error bit) from: fake_make_operate_expand_environment()
  * @param section_name
  *   The section name.
  * @param content
  *   The content array.
  * @param quotes
  *   The array of quotes associated with the content.
+ *
+ * @see f_string_dynamic_append()
+ * @see f_string_dynamic_append_assure()
+ * @see f_string_dynamic_append_nulless()
+ * @see f_string_dynamic_increase_by()
+ * @see f_string_dynamic_partial_append_nulless()
+ * @see f_string_dynamics_increase()
+ * @see f_string_dynamics_increase_by()
+ * @see fl_iki_read()
+ * @see fl_string_dynamic_partial_compare_string()
+ *
+ * @see fake_make_operate_expand_build()
+ * @see fake_make_operate_expand_context()
+ * @see fake_make_operate_expand_environment()
  */
 #ifndef _di_fake_make_operate_expand_
   extern void fake_make_operate_expand(fake_make_data_t * const data_make, const f_string_range_t section_name, const f_fss_content_t content, const f_uint8s_t quotes);
 #endif // _di_fake_make_operate_expand_
 
+/**
+ * Perform the expand operation, specifically for the build settings.
+ *
+ * @param data_make
+ *   All make related setting data, including data from the fakefile and the build settings file.
+ *
+ *   This alters data.setting.state.status:
+ *     F_data_not on success, but nothing is added (data length to append is 0).
+ *     F_true on success and match expanded.
+ *     F_false on no matches to expand.
+ *
+ *     Errors (with error bit) from: f_string_dynamic_append_nulless()
+ *     Errors (with error bit) from: f_string_dynamic_mash()
+ *     Errors (with error bit) from: f_string_dynamics_increase()
+ * @param quote
+ *   The quote associated with the content.
+ * @param range_name
+ *   The range representing the variable content name string within the data_make->buffer.
+ *
+ * @see f_string_dynamic_append_nulless()
+ * @see f_string_dynamic_mash()
+ * @see f_string_dynamics_increase()
+ */
+#ifndef _di_fake_make_operate_expand_build_
+  extern void fake_make_operate_expand_build(fake_make_data_t * const data_make, const uint8_t quote, const f_string_range_t range_name);
+#endif // _di_fake_make_operate_expand_build_
+
 /**
  * Perform the expand operation, specifically for the context variables.
  *
@@ -75,11 +145,13 @@ extern "C" {
  *     F_true on success and match expanded.
  *     F_false on no matches to expand.
  *
- *     Status codes (with error bit) are returned on any problem.
+ *     Errors (with error bit) from: f_string_dynamic_append_nulless()
  * @param quote
  *   The quote associated with the content.
  * @param range_name
  *   The range representing the variable content name string within the data_make->buffer.
+ *
+ * @see f_string_dynamic_append_nulless()
  */
 #ifndef _di_fake_make_operate_expand_context_
   extern void fake_make_operate_expand_context(fake_make_data_t * const data_make, const uint8_t quote, const f_string_range_t range_name);
@@ -96,6 +168,7 @@ extern "C" {
  *     F_true on success and match expanded.
  *     F_false on no matches to expand.
  *
+ *     Errors (with error bit) from: f_environment_get().
  *     Errors (with error bit) from: f_string_dynamic_append_nulless().
  *     Errors (with error bit) from: f_string_dynamic_partial_append_nulless().
  *     Errors (with error bit) from: f_string_dynamic_increase_by().
@@ -105,6 +178,7 @@ extern "C" {
  * @param range_name
  *   The range representing the variable content name string within the data_make->buffer.
  *
+ * @see f_environment_get()
  * @see f_string_dynamic_append_nulless()
  * @see f_string_dynamic_partial_append_nulless()
  * @see f_string_dynamic_increase_by()
@@ -114,27 +188,6 @@ extern "C" {
   extern void fake_make_operate_expand_environment(fake_make_data_t * const data_make, const uint8_t quote, const f_string_range_t range_name);
 #endif // _di_fake_make_operate_expand_environment_
 
-/**
- * Perform the expand operation, specifically for the build settings.
- *
- * @param data_make
- *   All make related setting data, including data from the fakefile and the build settings file.
- *
- *   This alters data.setting.state.status:
- *     F_data_not on success, but nothing is added (data length to append is 0).
- *     F_true on success and match expanded.
- *     F_false on no matches to expand.
- *
- *     Status codes (with error bit) are returned on any problem.
- * @param quote
- *   The quote associated with the content.
- * @param range_name
- *   The range representing the variable content name string within the data_make->buffer.
- */
-#ifndef _di_fake_make_operate_expand_build_
-  extern void fake_make_operate_expand_build(fake_make_data_t * const data_make, const uint8_t quote, const f_string_range_t range_name);
-#endif // _di_fake_make_operate_expand_build_
-
 /**
  * Perform the make operations within the given section.
  *
@@ -154,6 +207,7 @@ extern "C" {
  *     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()
@@ -170,6 +224,7 @@ extern "C" {
  *
  * @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()
index 43f389e..b2aadab 100644 (file)
@@ -25,7 +25,7 @@ extern "C" {
  *   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.
+ *     F_interrupt (with error bit) on interrupt signal received.
  *
  *     Errors (with error bit) from: fake_make_operate_process_run()
  *     Errors (with error bit) from: fake_make_operate_process_type_break()
@@ -163,12 +163,14 @@ extern "C" {
  *     F_none on success.
  *     F_data_not if both program.used is 0 and arguments.used is 0.
  *
- *     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.
  *
  *     Errors (with error bit) from: f_environment_get_all().
  *     Errors (with error bit) from: fl_environment_load_names().
  *     Errors (with error bit) from: fll_execute_program().
  *
+ *     Errors (with error bit) from: fake_make_operate_process_return().
+ *
  *     Status codes (with error bit) are returned on any problem.
  * @param program
  *   The program to be executed.
@@ -181,6 +183,9 @@ extern "C" {
  * @see f_environment_get_all()
  * @see fl_environment_load_names()
  * @see fll_execute_program()
+ * @see fll_program_standard_signal_received()
+ *
+ * @see fake_make_operate_process_return()
  */
 #ifndef _di_fake_make_operate_process_execute_
   extern void fake_make_operate_process_execute(fake_make_data_t * const data_make, const f_string_static_t program, const f_string_statics_t arguments, const bool as_shell);
index 49d8aa3..c06832e 100644 (file)
@@ -199,7 +199,6 @@ extern "C" {
 
     const f_array_length_t total = data_make->cache_arguments.used - 1;
     f_string_static_t destination = f_string_static_t_initialize;
-
     f_directory_recurse_t recurse = f_directory_recurse_t_initialize;
 
     if (clone) {
index 7febe00..805821f 100644 (file)
@@ -78,11 +78,13 @@ extern "C" {
  *     Success from: fake_execute()
  *
  *     Errors (with error bit) from: fake_execute()
+ *     Errors (with error bit) from: fake_make_operate_process_return()
  *
  * @return
  *   The return code of the compile operation.
  *
  * @see fake_execute()
+ * @see fake_make_operate_process_return()
  */
 #ifndef _di_fake_make_operate_process_type_compile_
   extern int fake_make_operate_process_type_compile(fake_make_data_t * const data_make);
@@ -134,7 +136,7 @@ extern "C" {
  *
  *     F_failure (with error bit) on any error.
  *
- *     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.
  *
  *     Errors (with error bit) from: f_directory_is()
  *     Errors (with error bit) from: f_file_clone()
@@ -185,7 +187,7 @@ extern "C" {
  *
  *     F_failure (with error bit) on any error.
  *
- *     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.
  *
  *     Errors (with error bit) from: f_file_remove()
  *     Errors (with error bit) from: f_file_stat()
@@ -650,7 +652,7 @@ extern "C" {
  *
  *     F_failure (with error bit) on any error.
  *
- *     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.
  *
  *     Errors (with error bit) from: f_path_change()
  *     Errors (with error bit) from: f_string_dynamic_resize()
@@ -703,7 +705,7 @@ extern "C" {
  *
  *     F_failure (with error bit) on any error.
  *
- *     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.
  *
  *     Errors (with error bit) from: fake_make_operate_process_return()
  *     Errors (with error bit) from: fake_skeleton_operate()
@@ -754,7 +756,7 @@ extern "C" {
  *
  *     F_failure (with error bit) on any error.
  *
- *     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.
  *
  *     Errors (with error bit) from: f_path_change_at()
  *     Errors (with error bit) from: f_string_dynamic_resize()
@@ -777,7 +779,7 @@ extern "C" {
  *
  *     F_failure (with error bit) on any error.
  *
- *     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.
  *
  *     Errors (with error bit) from: f_directory_touch()
  *     Errors (with error bit) from: f_file_touch()
@@ -801,7 +803,7 @@ extern "C" {
  *
  *     F_failure (with error bit) on any error.
  *
- *     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.
  *
  *     Errors (with error bit) from: f_file_exists()
  *     Errors (with error bit) from: f_file_stream_open()
index c17e2b2..f4436da 100644 (file)
@@ -71,6 +71,10 @@ extern "C" {
  *     F_none on success.
  *
  *     F_failure (with error bit) on any error.
+ *
+ * @see f_directory_is()
+ *
+ * @see fake_make_assure_inside_project()
  */
 #ifndef _di_fake_make_operate_validate_type_clone_
   extern void fake_make_operate_validate_type_clone(fake_make_data_t * const data_make);
@@ -104,6 +108,12 @@ extern "C" {
  *     F_none on success.
  *
  *     F_failure (with error bit) on any error.
+ *
+ * @see f_file_exists()
+ *
+ * @see fake_make_assure_inside_project()
+ * @see fake_make_get_id()
+ * @see fake_make_get_id_mode()
  */
 #ifndef _di_fake_make_operate_validate_type_condition_
   extern void fake_make_operate_validate_type_condition(fake_make_data_t * const data_make, fake_state_process_t * const state_process);
@@ -119,6 +129,11 @@ extern "C" {
  *     F_none on success.
  *
  *     F_failure (with error bit) on any error.
+ *
+ * @see f_directory_is()
+ * @see f_file_exists()
+ *
+ * @see fake_make_assure_inside_project()
  */
 #ifndef _di_fake_make_operate_validate_type_copy_
   extern void fake_make_operate_validate_type_copy(fake_make_data_t * const data_make);
@@ -134,6 +149,8 @@ extern "C" {
  *     F_none on success.
  *
  *     F_failure (with error bit) on any error.
+ *
+ * @see fake_make_operate_validate_define_name()
  */
 #ifndef _di_fake_make_operate_validate_type_define_
   extern void fake_make_operate_validate_type_define(fake_make_data_t * const data_make);
@@ -149,6 +166,8 @@ extern "C" {
  *     F_none on success.
  *
  *     F_failure (with error bit) on any error.
+ *
+ * @see fake_make_assure_inside_project()
  */
 #ifndef _di_fake_make_operate_validate_type_delete_
   extern void fake_make_operate_validate_type_delete(fake_make_data_t * const data_make);
@@ -242,6 +261,12 @@ extern "C" {
  *     F_none on success.
  *
  *     F_failure (with error bit) on any error.
+ *
+ * @see f_file_name_directory()
+ * @see f_string_dynamic_append()
+ * @see f_string_dynamic_append_assure()
+ *
+ * @see fake_make_assure_inside_project()
  */
 #ifndef _di_fake_make_operate_validate_type_move_
   extern void fake_make_operate_validate_type_move(fake_make_data_t * const data_make);
@@ -292,6 +317,8 @@ extern "C" {
  *     F_none on success.
  *
  *     F_failure (with error bit) on any error.
+ *
+ * @see f_file_is()
  */
 #ifndef _di_fake_make_operate_validate_type_permission_
   extern void fake_make_operate_validate_type_permission(fake_make_data_t * const data_make, fake_state_process_t * const state_process);
@@ -337,6 +364,8 @@ extern "C" {
  *     F_none on success.
  *
  *     F_failure (with error bit) on any error.
+ *
+ * @see f_file_is()
  */
 #ifndef _di_fake_make_operate_validate_type_to_
   extern void fake_make_operate_validate_type_to(fake_make_data_t * const data_make);
@@ -352,6 +381,8 @@ extern "C" {
  *     F_none on success.
  *
  *     F_failure (with error bit) on any error.
+ *
+ * @see fake_make_assure_inside_project()
  */
 #ifndef _di_fake_make_operate_validate_type_touch_
   extern void fake_make_operate_validate_type_touch(fake_make_data_t * const data_make);
@@ -367,6 +398,8 @@ extern "C" {
  *     F_none on success.
  *
  *     F_failure (with error bit) on any error.
+ *
+ * @see fake_make_assure_inside_project()
  */
 #ifndef _di_fake_make_operate_validate_type_write_
   extern void fake_make_operate_validate_type_write(fake_make_data_t * const data_make);
index 2ad4f14..efd5381 100644 (file)
@@ -30,6 +30,8 @@ extern "C" {
  * @return
  *   F_none on success.
  *   F_output_not on success, but no printing is performed.
+ *
+ * @see fake_print_simple()
  */
 #ifndef _di_fake_print_generating_skeleton_
   extern f_status_t fake_print_generating_skeleton(fake_setting_t * const setting, const fl_print_t print);
index ebff9f3..42d88fb 100644 (file)
@@ -119,8 +119,7 @@ extern "C" {
 #ifndef _di_fake_skeleton_operate_directory_create_
   void fake_skeleton_operate_directory_create(fake_data_t * const data, const f_string_static_t path) {
 
-    if (!data || !data->main || !data->setting) return;
-    if (!path.used) return;
+    if (!data || !data->main || !data->setting || !path.used) return;
 
     data->setting->state.status = f_directory_exists(path);
 
@@ -169,8 +168,7 @@ extern "C" {
 #ifndef _di_fake_skeleton_operate_file_create_
   void fake_skeleton_operate_file_create(fake_data_t * const data, const f_string_static_t path, const bool executable, const f_string_static_t content) {
 
-    if (!data || !data->main || !data->setting) return;
-    if (!path.used) return;
+    if (!data || !data->main || !data->setting || !path.used) return;
 
     data->setting->state.status = f_file_is(path, F_file_type_regular_d, F_false);
 
@@ -269,6 +267,8 @@ extern "C" {
 #ifndef _di_fake_skeleton_path_source_length_
   void fake_skeleton_path_source_length(fake_data_t * const data, const f_string_static_t *partial, f_string_static_t * const source) {
 
+    if (!data || !partial || !source) return;
+
     source->used = data->setting->sources.used + partial->used;
   }
 #endif // _di_fake_skeleton_path_source_length_
@@ -276,6 +276,8 @@ extern "C" {
 #ifndef _di_fake_skeleton_path_source_string_
   void fake_skeleton_path_source_string(fake_data_t * const data, const f_string_static_t *partial, f_string_static_t * const source) {
 
+    if (!data || !partial || !source) return;
+
     source->used = 0;
 
     memcpy(source->string, data->setting->sources.string, sizeof(f_char_t) * data->setting->sources.used);
index 46af9f1..0ee3393 100644 (file)
@@ -25,9 +25,13 @@ extern "C" {
  *   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: fake_skeleton_operate_directory_create()
+ *     Errors (with error bit) from: fake_skeleton_operate_file_create()
+ *
+ * @see fake_skeleton_operate_directory_create()
+ * @see fake_skeleton_operate_file_create()
  */
 #ifndef _di_fake_skeleton_operate_
   extern void fake_skeleton_operate(fake_data_t * const data);
@@ -42,10 +46,15 @@ extern "C" {
  *   This alters data.setting.state.status:
  *     F_none on success.
  *
- *     Status codes (with warning bit) are returned on certain problems that can be ignored.
- *     Status codes (with error bit) are returned on any problem.
+ *     F_failure (with warning bit) on path exists but is not a directory.
+ *
+ *     Errors (with error bit) from: f_directory_create()
+ *     Errors (with error bit) from: f_directory_exists()
  * @param path
  *   The file path for the directory to create.
+ *
+ * @see f_directory_create()
+ * @see f_directory_exists()
  */
 #ifndef _di_fake_skeleton_operate_directory_create_
   extern void fake_skeleton_operate_directory_create(fake_data_t * const data, const f_string_static_t path);
@@ -60,8 +69,12 @@ extern "C" {
  *   This alters data.setting.state.status:
  *     F_none on success.
  *
- *     Status codes (with warning bit) are returned on certain problems that can be ignored.
- *     Status codes (with error bit) are returned on any problem.
+ *     F_none (with warning bit) on file exists but is not a regular or a link.
+ *
+ *     Errors (with error bit) from: f_file_create()
+ *     Errors (with error bit) from: f_file_is()
+ *     Errors (with error bit) from: f_file_open()
+ *     Errors (with error bit) from: f_file_write()
  * @param path
  *   The file path for the directory to create.
  * @param executable
@@ -69,6 +82,11 @@ extern "C" {
  *   Set to FALSE to not make the file executable.
  * @param content
  *   When creating a new file, write the content specified by this string to that file.
+ *
+ * @see f_file_create()
+ * @see f_file_is()
+ * @see f_file_open()
+ * @see f_file_write()
  */
 #ifndef _di_fake_skeleton_operate_file_create_
   extern void fake_skeleton_operate_file_create(fake_data_t * const data, const f_string_static_t path, const bool executable, const f_string_static_t content);
@@ -79,6 +97,8 @@ extern "C" {
  *
  * @param data
  *   The program data.
+ *
+ *   This does not alter data.setting.state.status.
  * @param partial
  *   The partial path string, such as "bash".
  * @param source
@@ -96,6 +116,8 @@ extern "C" {
  *
  * @param data
  *   The program data.
+ *
+ *   This does not alter data.setting.state.status.
  * @param partial
  *   The partial path string, such as "bash".
  * @param source