]> Kevux Git Server - fll/commitdiff
Cleanup: Private fl_directory_do() code structure.
authorKevin Day <Kevin@kevux.org>
Sat, 26 Apr 2025 21:30:46 +0000 (16:30 -0500)
committerKevin Day <Kevin@kevux.org>
Sat, 26 Apr 2025 21:30:46 +0000 (16:30 -0500)
Reduce the duplicate code by moving the callback outside of two blocks.

level_1/fl_directory/c/private-directory.c

index 59e0c35bfc9e2c208ef8064973f58e3672e44788..86c2b5e30bee609c0550bb861b74554376a14884 100644 (file)
@@ -124,9 +124,8 @@ extern "C" {
         }
 
         if (flag_actions[action]) {
-          recurse->state.status = F_okay;
-
           if ((flag & f_directory_recurse_do_flag_directory_d) && (flag_actions[action] & f_directory_recurse_do_flag_action_d)) {
+            recurse->state.status = F_okay;
             used_directory = recurse->path.used;
 
             if (recurse->depth < recurse->depth_max) {
@@ -148,14 +147,12 @@ extern "C" {
             // Reset the path after operating on child directories.
             recurse->path.used = used_directory;
             recurse->path.string[recurse->path.used] = 0;
-            recurse->state.status = F_okay;
-
-            recurse->action(recurse, name, f_directory_recurse_do_flag_action_d | flag);
-          }
-          else {
-            recurse->action(recurse, name, flag_actions[action] | flag);
           }
 
+          recurse->state.status = F_okay;
+
+          recurse->action(recurse, name, flag_actions[action] | flag);
+
           if (F_status_is_error(recurse->state.status)) {
             private_inline_fl_directory_do_handle(recurse, name, flag_actions[action] | flag);
             if (F_status_is_error(recurse->state.status)) break;