From f759464244b61ff5b253052cad16d86022752e62 Mon Sep 17 00:00:00 2001
From: Kevin Day <thekevinday@gmail.com>
Date: Sun, 7 Jun 2020 17:04:09 -0500
Subject: [PATCH] Bugfix: build directory should be created if needed and not
 pre-required in all cases

Don't optionally required the build directory.
Always create it when needed, so do not require it.
---
 level_3/fake/c/fake.c         | 6 +++---
 level_3/fake/c/private-fake.c | 4 ++--
 level_3/fake/c/private-fake.h | 5 +----
 3 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/level_3/fake/c/fake.c b/level_3/fake/c/fake.c
index 2ac0804..1134c78 100644
--- a/level_3/fake/c/fake.c
+++ b/level_3/fake/c/fake.c
@@ -278,7 +278,7 @@ extern "C" {
 
         if (operations[i] == fake_operation_build) {
           if (validate_parameter_directories) {
-            status = fake_validate_parameter_directories(arguments, *data, F_true);
+            status = fake_validate_parameter_directories(arguments, *data);
             validate_parameter_directories = F_false;
           }
 
@@ -288,7 +288,7 @@ extern "C" {
         }
         else if (operations[i] == fake_operation_clean) {
           if (validate_parameter_directories) {
-            status = fake_validate_parameter_directories(arguments, *data, F_false);
+            status = fake_validate_parameter_directories(arguments, *data);
             validate_parameter_directories = F_false;
           }
 
@@ -298,7 +298,7 @@ extern "C" {
         }
         else if (operations[i] == fake_operation_make) {
           if (validate_parameter_directories) {
-            status = fake_validate_parameter_directories(arguments, *data, F_true);
+            status = fake_validate_parameter_directories(arguments, *data);
             validate_parameter_directories = F_false;
           }
 
diff --git a/level_3/fake/c/private-fake.c b/level_3/fake/c/private-fake.c
index 43447fe..f2c3567 100644
--- a/level_3/fake/c/private-fake.c
+++ b/level_3/fake/c/private-fake.c
@@ -778,7 +778,7 @@ extern "C" {
 #endif // _di_fake_process_console_parameters_
 
 #ifndef _di_fake_validate_directories_
-  f_return_status fake_validate_parameter_directories(const f_console_arguments arguments, const fake_data data, const bool build_required) {
+  f_return_status fake_validate_parameter_directories(const f_console_arguments arguments, const fake_data data) {
     const f_string parameters_name[] = {
       fake_long_path_build,
       fake_long_path_data,
@@ -808,7 +808,7 @@ extern "C" {
     };
 
     const bool parameters_required[] = {
-      build_required,
+      F_false,
       F_true,
       F_true,
       F_false,
diff --git a/level_3/fake/c/private-fake.h b/level_3/fake/c/private-fake.h
index fad5760..77419b6 100644
--- a/level_3/fake/c/private-fake.h
+++ b/level_3/fake/c/private-fake.h
@@ -99,16 +99,13 @@ extern "C" {
  *   The parameters passed to the process.
  * @param data
  *   The program data.
- * @param build_required
- *   Set to TRUE to require the build directory.
- *   Set to FALSE to not require the build directory.
  *
  * @return
  *   F_none on success.
  *   Status codes (with error bit) are returned on any problem.
  */
 #ifndef _di_fake_validate_parameter_directories_
-  extern f_return_status fake_validate_parameter_directories(const f_console_arguments arguments, const fake_data data, const bool build_required) f_gcc_attribute_visibility_internal;
+  extern f_return_status fake_validate_parameter_directories(const f_console_arguments arguments, const fake_data data) f_gcc_attribute_visibility_internal;
 #endif // _di_fake_validate_parameter_directories_
 
 #ifdef __cplusplus
-- 
1.8.3.1