From d394304418370fea8bdc8387e6b1ce702e73f573 Mon Sep 17 00:00:00 2001 From: Dominik Kaiser Date: Wed, 15 Jan 2025 15:52:45 +0100 Subject: [PATCH] Refactor execute_cmd.c --- src/execute_cmd.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/execute_cmd.c b/src/execute_cmd.c index 673fc31..83addd2 100644 --- a/src/execute_cmd.c +++ b/src/execute_cmd.c @@ -6,7 +6,7 @@ /* By: chuhlig +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/12/17 19:21:35 by chuhlig #+# #+# */ -/* Updated: 2025/01/15 15:50:56 by dkaiser ### ########.fr */ +/* Updated: 2025/01/15 15:52:08 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ @@ -46,8 +46,8 @@ int execute_builtin(char **args, t_env **env) int execute_cmd(t_cmd *cmd, t_env **env) { - int original_std[2]; - int result; + int original_std[2]; + int result; original_std[1] = dup(STDOUT_FILENO); original_std[0] = dup(STDIN_FILENO); @@ -93,10 +93,9 @@ static int exec_cmd(t_cmd *cmd, t_env **env, int original_std[2], int result) while (cmd->args[i][0] == '\0') i++; cmd_path = get_cmd_path(cmd->args[i], *env, &result); - if (!cmd_path) - exit(result); - execve(cmd_path, &(cmd->args[i]), env_to_strlst(*env)); - exit(EXIT_SUCCESS); + if (cmd_path != NULL) + execve(cmd_path, &(cmd->args[i]), env_to_strlst(*env)); + exit(result); } waitpid(pid, &status, 0); establish_pipeline(original_std[0], original_std[1]); -- 2.47.2