From eae8f96645471e2c5bd889c9877b1181f433e025 Mon Sep 17 00:00:00 2001 From: tomoron Date: Wed, 27 Mar 2024 17:34:43 +0100 Subject: [PATCH] norm ok + compile --- srcs/lst_cmd.c | 4 ++-- srcs/main.c | 6 ++++-- srcs/minishell.h | 7 ++++--- srcs/parsing_var.c | 6 +++--- srcs/utils2.c | 4 ++-- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/srcs/lst_cmd.c b/srcs/lst_cmd.c index db3defb..cee2f14 100755 --- a/srcs/lst_cmd.c +++ b/srcs/lst_cmd.c @@ -6,7 +6,7 @@ /* By: marde-vr +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/06 20:46:19 by tomoron #+# #+# */ -/* Updated: 2024/03/27 17:18:03 by tomoron ### ########.fr */ +/* Updated: 2024/03/27 17:24:55 by tomoron ### ########.fr */ /* */ /* ************************************************************************** */ @@ -36,7 +36,7 @@ t_token *cmd_add_back(t_token *cmd, char *value, t_token_type type) return (cmd); } -int free_cmd(t_token *cmd) +t_token *free_cmd(t_token *cmd) { if (cmd) { diff --git a/srcs/main.c b/srcs/main.c index e09ee56..a06239a 100755 --- a/srcs/main.c +++ b/srcs/main.c @@ -6,7 +6,7 @@ /* By: marde-vr +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/02 21:59:20 by tomoron #+# #+# */ -/* Updated: 2024/03/27 17:02:16 by tomoron ### ########.fr */ +/* Updated: 2024/03/27 17:33:15 by tomoron ### ########.fr */ /* */ /* ************************************************************************** */ @@ -75,7 +75,9 @@ int init_minishell(t_msh **msh, int argc, char **argv, char **envp) { struct termios t_p; - ft_exit(*msh, 1); + *msh = ft_calloc(1, sizeof(t_msh)); + if (!*msh) + ft_exit(*msh, 1); (void)argc; (void)argv; (*msh)->env = get_env(envp); diff --git a/srcs/minishell.h b/srcs/minishell.h index 04a44d1..d15a6a4 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/27 17:20:14 by tomoron ### ########.fr */ +/* Updated: 2024/03/27 17:25:41 by tomoron ### ########.fr */ /* */ /* ************************************************************************** */ @@ -66,7 +66,7 @@ typedef struct s_msh extern int g_return_code; t_token *cmd_add_back(t_token *res, char *token, t_token_type type); -int free_cmd(t_token *cmd); +t_token *free_cmd(t_token *cmd); void exec_commands(t_msh *msh); int echo(t_token *args); int exit_bt(t_msh *msh); @@ -119,6 +119,7 @@ int contains_newline(char *str); void parse_var(t_msh *msh, char *line); int set_echoctl(int value); int add_return_code_to_str(char *res); -int parsing_syntax_error(t_token *res); +t_token *parsing_syntax_error(t_token *res); +int check_var_name(char *name); #endif diff --git a/srcs/parsing_var.c b/srcs/parsing_var.c index 5339ee0..921dd52 100755 --- a/srcs/parsing_var.c +++ b/srcs/parsing_var.c @@ -6,7 +6,7 @@ /* By: marde-vr +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/09 15:24:36 by tomoron #+# #+# */ -/* Updated: 2024/03/27 17:09:50 by tomoron ### ########.fr */ +/* Updated: 2024/03/27 17:23:21 by tomoron ### ########.fr */ /* */ /* ************************************************************************** */ @@ -100,8 +100,8 @@ int add_var_to_str(char *res, char **command, t_env *env) var_name = get_var_name(*command); var = ft_get_env(env, var_name); free(var_name); - while (var && var[i]) - res[i] = var[i++]; + while (var && var[i++]) + res[i - 1] = var[i - 1]; *command += get_var_name_len(*command) - 1; return (i); } diff --git a/srcs/utils2.c b/srcs/utils2.c index 57e907c..cabf3fd 100644 --- a/srcs/utils2.c +++ b/srcs/utils2.c @@ -6,13 +6,13 @@ /* By: tomoron +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/27 17:19:27 by tomoron #+# #+# */ -/* Updated: 2024/03/27 17:19:35 by tomoron ### ########.fr */ +/* Updated: 2024/03/27 17:25:54 by tomoron ### ########.fr */ /* */ /* ************************************************************************** */ #include "minishell.h" -int parsing_syntax_error(t_token *res) +t_token *parsing_syntax_error(t_token *res) { free_cmd(res); ft_putstr_fd("minishell: syntax error\n", 2);