]> 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 2b42a534b2d99ae91a5e9c16f2126bce6a94fe8b..c5fd00671590c912ee56d7144fc3bdd2200973d6 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 e97589fa57701ce7ad845a604517d788e6c017ae..c74f4da9a7389ffb4510fe74aada602cf110b39c 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 5362c7c1c9624b3a23cdc426f52188c2d32720ad..54b5f1e840debc49bf4399a70946609650281745 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 3280009a313689583a9ab1d2e06d38bf71668a4b..91a3fc5a914d92302d068c11b089f28f60fd2b8c 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 176563cb9d8894402812aae85cbe3e00f3b35379..b8e01d688640eba0fb30d126b444bf0933d52b2d 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 7d8aea7bcb89cd1437fb601f057a9293362617d4..d08bf1abcaad3e60f4f0d1b74ffb3166d5b826d8 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 795b2b5d05861a6766da564c9eb8b4d8e5cc9439..85fb30821e629dbc495ffeaf3f6bdfac50d5bd1b 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 50b0a33f7fd97c0085b4c386ff43d8e551aeb53c..f292f141927d69cc258c3a5a641dce784cf6e0f6 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 69419519bce6b4612ae3a9a879c2250f26b9d85e..868b26e46b1132aee41d302661511fc3562d08eb 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 649280c29b634dc692c7c2bc4fa439b3b55fedd3..ad93f3b086f8c0d174fdf34c59f45ba246ce9bdc 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 d7d98c906ab1112c05f60095c3a0294eea9600e3..212bf7cc3d6d12a4a02e28f1feb284467d0640cb 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 b9fff3b796b8d984752a4b0ebbd23532bc2110dd..d36ad0b8cfe5e2eec92c29bffe444eefac912584 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 68b47d70679ef627f945c0f4409009cab95722ea..8816ce18ddddb062624b5808461365430b066c0d 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 342d684452cd253a03590e829c6b188f43bbaeea..863ac1a2a8e4ec7db5671e7fba13a17997482128 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 10da11dd4de2c7e2923072da83706f225b922b2d..fb54d680f8ab746fa21185bb874b62a2c258592d 100644 (file)
@@ -17,23 +17,6 @@ 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.
  *
  * This prints error messages as appropriate.
@@ -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 e2e8b7a612fd15211576767a04b1fe64d40ec34b..8a65b326b357fb32f7c1b17e0c2b7bcfe0b4aef2 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 4942a07c8c87e22d57a05aad18916e1caf275c89..19e4ce4dc2aec9b03f22f5eb6b6b6e6246a64e31 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 a84a04834c70f0b044bcf663dd97dfb48db9424a..a1851256267c44b25ecd33a36d6552f881ccf175 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 1c33e5532aba71eed0634f02da113a9752bd37f2..297e5f8edd4a70bac098474163112f56547fa33c 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 b865f2985b4616cda2a12969c94db3ee8380fb91..b03c4b2a354b10c12c3ab46374e2f3708cea246c 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 ac8d40615f22af0aedfd1bd39c4cbc516aaef49f..8b0491fa597ee2f3e118ea9ef2be489d54e664b2 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 28b41e5fb753f3f2994d3413823f3f12eb954c1e..ee7d1c136fcd15f57a2e37736f0b6deb737b52aa 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 6b9c3e3ca8a94f93107c3ceac831a09ba6ee3aa3..8fbcfdd3e51339724806a3dcb43fd19b83c532e2 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 674e093c76015cdfb8fe5ebd0ae1800fe7153a56..921687eac1daa1b34211079ab2cc95cf9d838093 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 a8011ec42c34969f79aae8a019e3d946d99873a9..fccae488b211f5cd500b67f0775f46446ef48329 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 d9d1b764ccbe49f629b497729f4dbac5ca37e522..0401b7855818df2f644f3285d6f1bd2580949b53 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 29f9a03beb805535cffd349cd9d96f2be99b8342..67321f9134234ad55dc6b878a5a27128bb82bdd7 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,21 +66,74 @@ 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.
  *
  * Unknown or unsupported context variables are expanded into an empty string.
@@ -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()
@@ -115,27 +189,6 @@ extern "C" {
 #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.
  *
  * @param data_make
@@ -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 43f389e7d507d3c773429f47acb910a8cf5f3071..b2aadab4c859379d0250036f539061473bd68088 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 49d8aa339d7974b777fdd1846bdaf461ff0af136..c06832e3268c6c659bde84d315401d78d388f15f 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 7febe00859284105d2306c4bf10dc7ce3fd63fa6..805821fc3ad114fb4ff04bf29ec84f2c4720c163 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 c17e2b26ec6b503e9484416ed0becb27c1e52b33..f4436da983f4530f6db662996e8928307dc0ef67 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 2ad4f140cced2fdc065c3a76ab2cb7800ce49df9..efd5381ffc7600faeeb2d293daa802b3881a48f6 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 ebff9f3b85370bac862bc44beff38814597910c2..42d88fbbaca3e5eff4fc91440f2ce90be6ee1be6 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 46af9f1708f9ea1f60ca0ea31e355bdc90efc47b..0ee3393cdfbcfd59768231c4ce21f049449a30d8 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