From 3dda5621b6c2e248aa94bf9592ecec0a42b8df01 Mon Sep 17 00:00:00 2001 From: Quinten Mennen Date: Tue, 11 Feb 2025 16:35:32 +0100 Subject: [PATCH] feat: include command parsing in minishell struct --- inc/typedef.h | 1 + src/main.c | 6 ++---- src/utils/free_minishell_line.c | 2 ++ src/utils/init_minishell.c | 1 + 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/inc/typedef.h b/inc/typedef.h index 3ce6c38..8c19d5a 100644 --- a/inc/typedef.h +++ b/inc/typedef.h @@ -59,5 +59,6 @@ typedef struct s_minishell char *line; t_lexer *lexer; t_list *tokens; + t_list *commands; } t_minishell; #endif // TYPEDEF_H diff --git a/src/main.c b/src/main.c index 78283e8..bc42452 100644 --- a/src/main.c +++ b/src/main.c @@ -15,7 +15,6 @@ int main(int argc, char **argv, char **envp) { t_minishell *minishell; - t_list *commands; (void)argc; (void)argv; @@ -28,11 +27,10 @@ int main(int argc, char **argv, char **envp) minishell->line = ft_prompt(minishell); minishell->lexer = ft_lexer_new(minishell->line); minishell->tokens = ft_parse_input(minishell->lexer); - commands = parser_get_commands(minishell->tokens); - simple_builtins(minishell); + minishell->commands = parser_get_commands(minishell->tokens); //ft_lstiter(minishell->tokens, print_list); free_minishell_line(minishell); - ft_lstclear(&commands, free_command_list); + ft_lstclear(&minishell->commands, free_command_list); } free_minishell(minishell); return (EXIT_SUCCESS); diff --git a/src/utils/free_minishell_line.c b/src/utils/free_minishell_line.c index 1ca764e..22487a9 100644 --- a/src/utils/free_minishell_line.c +++ b/src/utils/free_minishell_line.c @@ -20,4 +20,6 @@ void free_minishell_line(t_minishell *minishell) ft_lexer_free(minishell->lexer); if (minishell->tokens) ft_lstclear(&minishell->tokens, ft_clear_tokenlist); + if (minishell->commands) + ft_lstclear(&minishell->commands, free_command_list); } diff --git a/src/utils/init_minishell.c b/src/utils/init_minishell.c index 8abc805..75a24b9 100644 --- a/src/utils/init_minishell.c +++ b/src/utils/init_minishell.c @@ -26,5 +26,6 @@ t_minishell *init_minishell(void) minishell->line = NULL; minishell->lexer = NULL; minishell->tokens = NULL; + minishell->commands = NULL; return (minishell); }