}
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) {
// 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;