From e983f7fe6454762541fb71015def123cc74b9d2b Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 2 Dec 2025 09:13:59 +0100 Subject: [PATCH] update: builtins hashmap initialized and moved env hashmap initialization to set_envp() --- src/minishell.c | 17 +++++++++++------ src/variables/{environment => }/environment.c | 4 +++- 2 files changed, 14 insertions(+), 7 deletions(-) rename src/variables/{environment => }/environment.c (97%) diff --git a/src/minishell.c b/src/minishell.c index 458e18f..485a5e8 100644 --- a/src/minishell.c +++ b/src/minishell.c @@ -6,7 +6,7 @@ /* By: sede-san variables.environment - = ft_hashmap_new(32, ft_hashmap_hashstr, ft_hashmap_strcmp); set_envp(envp, minishell); - if (minishell->variables.environment == NULL) + set_builtins(minishell); + if (minishell->variables.environment == NULL || minishell->builtins == NULL) + { + minishell_clear(minishell); return (0); + } return (1); } @@ -32,7 +34,7 @@ u_int8_t minishell_run( t_command command; line = NULL; - while (!minishell->exit) + while (minishell->exit == 0) { line = readline("minishell > "); if (*line) @@ -50,6 +52,9 @@ void minishell_clear( t_minishell *minishell ){ rl_clear_history(); - ft_hashmap_clear(&minishell->variables.environment, free); + if (minishell->variables.environment != NULL) + ft_hashmap_clear(&minishell->variables.environment, free); + if (minishell->builtins != NULL) + ft_hashmap_clear_keys(&minishell->builtins); ft_bzero(minishell, sizeof(t_minishell)); } diff --git a/src/variables/environment/environment.c b/src/variables/environment.c similarity index 97% rename from src/variables/environment/environment.c rename to src/variables/environment.c index a54872d..9969929 100644 --- a/src/variables/environment/environment.c +++ b/src/variables/environment.c @@ -6,7 +6,7 @@ /* By: sede-san variables.environment + = ft_hashmap_new(32, ft_hashmap_hashstr, ft_hashmap_strcmp); if (msh == NULL) { ft_hashmap_clear(&msh->variables.environment, free);