From 7d1fba69a9984278605f76e3646373335c697a55 Mon Sep 17 00:00:00 2001 From: mdev9 Date: Mon, 1 Apr 2024 13:59:34 +0200 Subject: [PATCH] modified cmds to tokens --- srcs/builtins.c | 8 ++++---- srcs/commands.c | 30 +++++++++++++++--------------- srcs/exec_bonus.c | 31 ++++++++++++++++--------------- srcs/exit.c | 6 +++--- srcs/export.c | 6 +++--- srcs/input_redirections.c | 4 ++-- srcs/minishell.h | 9 ++++----- srcs/output_redirections.c | 6 +++--- srcs/pipe.c | 2 +- srcs/utils.c | 4 ++-- 10 files changed, 53 insertions(+), 53 deletions(-) diff --git a/srcs/builtins.c b/srcs/builtins.c index eaaf604..d5037a4 100644 --- a/srcs/builtins.c +++ b/srcs/builtins.c @@ -6,7 +6,7 @@ /* By: marde-vr +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/05 18:20:21 by marde-vr #+# #+# */ -/* Updated: 2024/03/30 18:40:49 by marde-vr ### ########.fr */ +/* Updated: 2024/04/01 13:22:14 by marde-vr ### ########.fr */ /* */ /* ************************************************************************** */ @@ -27,7 +27,7 @@ int cmd_is_builtin(t_msh *msh, char *cmd_token) return (0); else if (!ft_strcmp(cmd_token, "cd")) { - cd(msh->tokens); + cd(msh->cmds); return (1); } else if (!ft_strcmp(cmd_token, "exit")) @@ -54,7 +54,7 @@ int exec_builtin(t_msh *msh) if (!msh->cmds->value) return (0); if (!ft_strcmp(msh->cmds->value, "echo")) - g_return_code = echo(msh->tokens->next); + g_return_code = echo(msh->cmds->next); else if (!ft_strcmp(msh->cmds->value, "ret")) g_return_code = ft_atoi(msh->cmds->next->value); else if (!ft_strcmp(msh->cmds->value, "env")) @@ -64,7 +64,7 @@ int exec_builtin(t_msh *msh) else if (!ft_strcmp(msh->cmds->value, "pwd")) g_return_code = pwd(); else if (!ft_strcmp(msh->cmds->value, "cd")) - g_return_code = cd(msh->tokens); + g_return_code = cd(msh->cmds); else return (0); return (1); diff --git a/srcs/commands.c b/srcs/commands.c index b0e459a..d3da7c0 100644 --- a/srcs/commands.c +++ b/srcs/commands.c @@ -6,45 +6,45 @@ /* By: marde-vr +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/05 18:22:15 by marde-vr #+# #+# */ -/* Updated: 2024/03/30 17:25:20 by marde-vr ### ########.fr */ +/* Updated: 2024/04/01 13:27:40 by marde-vr ### ########.fr */ /* */ /* ************************************************************************** */ #include "minishell.h" -int get_cmd_count(t_cmd *cmds) +int get_cmd_count(t_token *cmds) { int count; - t_cmd *cur_cmd; - (void)cmds; + t_token *cur_cmd; + count = 0; cur_cmd = cmds; while (cur_cmd->next != 0) { - if (cur_cmd->cmd_type != PIPE) + if (cur_cmd->type != PIPE) count++; cur_cmd = cur_cmd->next; } - if (cur_cmd->cmd_type != PIPE) + if (cur_cmd->type != PIPE) count++; return (count); } -int get_args_count(t_cmd *cmds) +int get_args_count(t_token *cmds) { int count; - t_cmd *cur_cmd; + t_token *cur_cmd; count = 0; cur_cmd = cmds; - if (cur_cmd->cmd_type == ARG) + if (cur_cmd->type == ARG) count++; while (cur_cmd->next) { if (/*cur_cmd->type == PIPE*/ 0) break ; cur_cmd = cur_cmd->next; - if (cur_cmd->cmd_type == ARG) + if (cur_cmd->type == ARG) count++; else if (/*cur_cmd->type != PIPE*/ 1) cur_cmd = cur_cmd->next; @@ -55,7 +55,7 @@ int get_args_count(t_cmd *cmds) char **get_cmd_args(t_msh *msh) { char **cmd_args; - t_cmd *cur_cmd; + t_token *cur_cmd; int args_count; int i; @@ -67,7 +67,7 @@ char **get_cmd_args(t_msh *msh) i = 0; while (i < args_count) { - if (cur_cmd->cmd_type == ARG) + if (cur_cmd->type == ARG) { if (!i) cmd_args[i++] = remove_path(cur_cmd->value); @@ -83,8 +83,8 @@ char **get_cmd_args(t_msh *msh) void remove_command_from_msh(t_msh *msh) { - t_cmd *cur_cmd; - t_cmd *cmd_tmp; + t_token *cur_cmd; + t_token *cmd_tmp; cur_cmd = msh->cmds; while (cur_cmd && cur_cmd->next) @@ -93,7 +93,7 @@ void remove_command_from_msh(t_msh *msh) { cmd_tmp = cur_cmd; cur_cmd = cur_cmd->next; - //msh->in_type = cmd_tmp->cmd_type; + //msh->in_type = cmd_tmp->type; free(cmd_tmp->value); free(cmd_tmp); msh->cmds = cur_cmd; diff --git a/srcs/exec_bonus.c b/srcs/exec_bonus.c index c91769b..a198ca1 100644 --- a/srcs/exec_bonus.c +++ b/srcs/exec_bonus.c @@ -6,7 +6,7 @@ /* By: marde-vr +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/28 13:50:14 by tomoron #+# #+# */ -/* Updated: 2024/04/01 11:16:05 by marde-vr ### ########.fr */ +/* Updated: 2024/04/01 13:58:58 by marde-vr ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,7 +16,6 @@ void exec_command_bonus(t_msh *msh, char *cmd_str) { t_cmd *cmds; - (void)msh; //printf("cmd : %s\n",cmd_str); cmds = parsing_bonus(cmd_str); //printf("%p\n", cmds); @@ -24,25 +23,27 @@ void exec_command_bonus(t_msh *msh, char *cmd_str) { if (cmds->cmd_type == CMD) { - msh->tokens = parse_command(cmds->value, msh->env); + if (cmds->next->cmd_type == PIPE) + { + + } + msh->cmds = parse_command(cmds->value, msh->env); print_parsed_cmd(cmds); - print_parsed_token(msh->tokens); - msh->cmds = cmds; + print_parsed_token(msh->cmds); exec_commands(msh); } cmds = cmds->next; } if (cmds && cmds->cmd_type == CMD) { - msh->tokens = parse_command(cmds->value, msh->env); + msh->cmds = parse_command(cmds->value, msh->env); print_parsed_cmd(cmds); - print_parsed_token(msh->tokens); - msh->cmds = cmds; + print_parsed_token(msh->cmds); exec_commands(msh); } } -int exec(t_msh *msh, char **cmd_args, int i, int cmd_count, int is_pipe) +int exec(t_msh *msh, char **cmd_args, int i, int cmd_count) { pid_t pid; @@ -61,7 +62,7 @@ int exec(t_msh *msh, char **cmd_args, int i, int cmd_count, int is_pipe) ft_exit(msh, 1); } if (pid == 0) - child(msh, cmd_args, i, is_pipe); + child(msh, cmd_args, i); else { parent(msh, i, cmd_count); @@ -79,19 +80,19 @@ void exec_command(t_msh *msh, int i, int cmd_count) ft_exit(msh, 1); if (first_is_in_type(msh)) { - get_in_type(msh, msh->tokens); + get_in_type(msh, msh->cmds); if (!g_return_code) - get_out_type(msh, msh->tokens); + get_out_type(msh, msh->cmds); } else { - get_out_type(msh, msh->tokens); + get_out_type(msh, msh->cmds); if (!g_return_code) - get_in_type(msh, msh->tokens); + get_in_type(msh, msh->cmds); } if (!cmd_is_builtin(msh, msh->cmds->value)) get_cmd_path(msh); - exec(msh, get_cmd_args(msh), i, cmd_count, 1); + exec(msh, get_cmd_args(msh), i, cmd_count); remove_command_from_msh(msh); } diff --git a/srcs/exit.c b/srcs/exit.c index 7816c66..1685e59 100755 --- a/srcs/exit.c +++ b/srcs/exit.c @@ -6,7 +6,7 @@ /* By: marde-vr +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/07 16:04:11 by tomoron #+# #+# */ -/* Updated: 2024/03/30 18:41:32 by marde-vr ### ########.fr */ +/* Updated: 2024/04/01 13:19:41 by marde-vr ### ########.fr */ /* */ /* ************************************************************************** */ @@ -24,7 +24,7 @@ void get_exit_bt_return_code(t_msh *msh, int *exit_code) { t_token *cur_cmd; - cur_cmd = msh->tokens->next; + cur_cmd = msh->cmds->next; if (cur_cmd && cur_cmd->type == ARG && !ft_strisnbr(cur_cmd->value)) numeric_arg_err(cur_cmd->value, exit_code); else if (cur_cmd && cur_cmd->type == ARG) @@ -39,7 +39,7 @@ int exit_bt(t_msh *msh) int exit_code; int cmd_count; - cur_cmd = msh->tokens->next; + cur_cmd = msh->cmds->next; ft_printf("exit\n"); if (cur_cmd && cur_cmd->next && cur_cmd->next->type == ARG && ft_strisnbr(cur_cmd->value)) diff --git a/srcs/export.c b/srcs/export.c index d2b14c9..4227597 100644 --- a/srcs/export.c +++ b/srcs/export.c @@ -6,7 +6,7 @@ /* By: marde-vr +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/18 18:29:20 by marde-vr #+# #+# */ -/* Updated: 2024/03/30 18:45:02 by marde-vr ### ########.fr */ +/* Updated: 2024/04/01 13:20:34 by marde-vr ### ########.fr */ /* */ /* ************************************************************************** */ @@ -44,7 +44,7 @@ int ft_export(t_msh *msh) char *value; int len; - cmd = msh->tokens; + cmd = msh->cmds; if (cmd && (!cmd->next || (cmd->next && cmd->next->type != ARG))) print_env_declare(msh->env); if (cmd && cmd->next && cmd->next->type == ARG && (!cmd->next->next @@ -94,7 +94,7 @@ int ft_unset(t_msh *msh) { t_token *cmd; - cmd = msh->tokens; + cmd = msh->cmds; if (cmd) cmd = cmd->next; while (cmd && cmd->type == ARG) diff --git a/srcs/input_redirections.c b/srcs/input_redirections.c index 3abf7f6..a6ede37 100644 --- a/srcs/input_redirections.c +++ b/srcs/input_redirections.c @@ -6,7 +6,7 @@ /* By: marde-vr +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/05 18:15:27 by marde-vr #+# #+# */ -/* Updated: 2024/03/30 17:09:09 by marde-vr ### ########.fr */ +/* Updated: 2024/04/01 13:20:54 by marde-vr ### ########.fr */ /* */ /* ************************************************************************** */ @@ -69,7 +69,7 @@ int first_is_in_type(t_msh *msh) { t_token *cur_token; - cur_token = msh->tokens; + cur_token = msh->cmds; while (cur_token && cur_token->type == ARG && cur_token->next) cur_token = cur_token->next; if (cur_token->type == RED_I || cur_token->type == HERE_DOC) diff --git a/srcs/minishell.h b/srcs/minishell.h index 70f9811..e936734 100755 --- a/srcs/minishell.h +++ b/srcs/minishell.h @@ -6,7 +6,7 @@ /* By: marde-vr +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/04 17:31:38 by tomoron #+# #+# */ -/* Updated: 2024/03/30 17:15:14 by marde-vr ### ########.fr */ +/* Updated: 2024/04/01 13:24:39 by marde-vr ### ########.fr */ /* */ /* ************************************************************************** */ @@ -68,8 +68,7 @@ typedef struct s_env typedef struct s_msh { t_env *env; - t_cmd *cmds; - t_token *tokens; + t_token *cmds; int **fds; int *pids; t_token_type in_type; @@ -116,10 +115,10 @@ void print_parsed_token(t_token *cmd);//debug int get_var_name_len(char *command); void handle_minishellrc(t_msh *msh); char *get_tmp_file_name(t_msh *msh); -int get_args_count(t_cmd *cmds); +int get_args_count(t_token *cmds); char **env_to_char_tab(t_env *env); void print_parsed_cmd(t_cmd *cmd);//debug -int get_cmd_count(t_cmd *cmds); +int get_cmd_count(t_token *cmds); int first_is_in_type(t_msh *msh); int contains_newline(char *str); int check_var_name(char *name); diff --git a/srcs/output_redirections.c b/srcs/output_redirections.c index af4f3c0..1188eea 100644 --- a/srcs/output_redirections.c +++ b/srcs/output_redirections.c @@ -6,7 +6,7 @@ /* By: marde-vr +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/05 19:10:52 by marde-vr #+# #+# */ -/* Updated: 2024/03/30 18:44:30 by marde-vr ### ########.fr */ +/* Updated: 2024/04/01 13:21:28 by marde-vr ### ########.fr */ /* */ /* ************************************************************************** */ @@ -58,9 +58,9 @@ void get_out_type(t_msh *msh, t_token *cmds) msh->out_type = ARG; msh->out_fd = 0; cur_cmd = cmds; - if (cmds->type && msh->tokens == cmds) + if (cmds->type && msh->cmds == cmds) { - while (msh->cmds->cmd_type != ARG && msh->cmds->next->next) + while (msh->cmds->type != ARG && msh->cmds->next->next) msh->cmds = msh->cmds->next->next; } while (cur_cmd && cur_cmd->next && (cur_cmd->type == ARG diff --git a/srcs/pipe.c b/srcs/pipe.c index 2b9015a..68d5307 100644 --- a/srcs/pipe.c +++ b/srcs/pipe.c @@ -6,7 +6,7 @@ /* By: marde-vr +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/05 18:17:25 by marde-vr #+# #+# */ -/* Updated: 2024/03/28 13:18:35 by tomoron ### ########.fr */ +/* Updated: 2024/04/01 13:59:08 by marde-vr ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/srcs/utils.c b/srcs/utils.c index 13605c3..881db1b 100644 --- a/srcs/utils.c +++ b/srcs/utils.c @@ -6,7 +6,7 @@ /* By: marde-vr +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/05 18:19:26 by marde-vr #+# #+# */ -/* Updated: 2024/03/30 18:45:27 by marde-vr ### ########.fr */ +/* Updated: 2024/04/01 13:28:00 by marde-vr ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,7 +19,7 @@ void free_msh(t_msh *msh) free_env(msh->env); free(msh->pids); free(msh->fds); - free_token(msh->tokens); + free_token(msh->cmds); set_echoctl(msh->echoctl); free(msh); }