From 505a96eeef0b51a81b30d41087cb7d006f295eeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kha=C3=AFs=20COLIN?= Date: Fri, 25 Apr 2025 18:12:58 +0200 Subject: [PATCH] refactor(redirections): make handle_redirections generic over cmd types --- src/executing/simple_cmd/handle_redirections.c | 9 +++------ src/executing/simple_cmd/handle_redirections.h | 5 +++-- src/executing/simple_cmd/simple_cmd_execute.c | 4 ++-- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/executing/simple_cmd/handle_redirections.c b/src/executing/simple_cmd/handle_redirections.c index e6f1f89..f248eae 100644 --- a/src/executing/simple_cmd/handle_redirections.c +++ b/src/executing/simple_cmd/handle_redirections.c @@ -6,7 +6,7 @@ /* By: khais +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/17 11:14:40 by khais #+# #+# */ -/* Updated: 2025/04/24 13:46:22 by khais ### ########.fr */ +/* Updated: 2025/04/28 11:38:17 by khais ### ########.fr */ /* */ /* ************************************************************************** */ @@ -56,14 +56,11 @@ void restore_std_fds(t_minishell *app) close(app->stderr); } -t_simple_cmd *handle_redirections(t_simple_cmd *cmd, t_minishell *app) +t_minishell *handle_redirections(t_redirect *redirections, t_minishell *app) { - t_redirect *redirections; - app->stdin = dup(STDIN_FILENO); app->stdout = dup(STDOUT_FILENO); app->stderr = dup(STDERR_FILENO); - redirections = cmd->redirections; while (redirections != NULL) { if (do_redirection(redirections) == NULL) @@ -74,5 +71,5 @@ t_simple_cmd *handle_redirections(t_simple_cmd *cmd, t_minishell *app) } redirections = redirections->next; } - return (cmd); + return (app); } diff --git a/src/executing/simple_cmd/handle_redirections.h b/src/executing/simple_cmd/handle_redirections.h index 7a82c84..472b975 100644 --- a/src/executing/simple_cmd/handle_redirections.h +++ b/src/executing/simple_cmd/handle_redirections.h @@ -6,7 +6,7 @@ /* By: khais +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/17 11:14:29 by khais #+# #+# */ -/* Updated: 2025/04/17 11:15:56 by khais ### ########.fr */ +/* Updated: 2025/04/28 11:39:41 by khais ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,6 +16,7 @@ # include "../../minishell.h" void restore_std_fds(t_minishell *app); -t_simple_cmd *handle_redirections(t_simple_cmd *cmd, t_minishell *app); +t_minishell *handle_redirections(t_redirect *redirections, + t_minishell *app); #endif // HANDLE_REDIRECTIONS_H diff --git a/src/executing/simple_cmd/simple_cmd_execute.c b/src/executing/simple_cmd/simple_cmd_execute.c index 6c29349..7b52786 100644 --- a/src/executing/simple_cmd/simple_cmd_execute.c +++ b/src/executing/simple_cmd/simple_cmd_execute.c @@ -6,7 +6,7 @@ /* By: khais +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/03/27 16:21:56 by khais #+# #+# */ -/* Updated: 2025/04/25 15:47:14 by khais ### ########.fr */ +/* Updated: 2025/04/28 11:38:41 by khais ### ########.fr */ /* */ /* ************************************************************************** */ @@ -100,7 +100,7 @@ void simple_cmd_execute(t_simple_cmd *cmd, t_minishell *app, return ; } simple_cmd_execute_debug(cmd, app); - if (handle_redirections(cmd, app) == NULL) + if (handle_redirections(cmd->redirections, app) == NULL) return ; if (execute_builtin(cmd, app) == BUILTIN_INVALID) exec_external_cmd(cmd, app);