From be1d3ff2d3cb9061b98575b981b6cf420afed664 Mon Sep 17 00:00:00 2001 From: EniumRaphael Date: Sat, 18 May 2024 17:10:13 +0200 Subject: [PATCH] Adding all the env var --- sources/exec/handle_command.c | 2 +- sources/main.c | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/sources/exec/handle_command.c b/sources/exec/handle_command.c index d403b00f..502c8f34 100644 --- a/sources/exec/handle_command.c +++ b/sources/exec/handle_command.c @@ -6,7 +6,7 @@ /* By: rparodi +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/05/09 15:00:53 by rparodi #+# #+# */ -/* Updated: 2024/05/18 16:41:54 by maiboyer ### ########.fr */ +/* Updated: 2024/05/18 16:54:29 by rparodi ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/sources/main.c b/sources/main.c index aeb8e97b..cbd76a5c 100644 --- a/sources/main.c +++ b/sources/main.c @@ -6,7 +6,7 @@ /* By: rparodi +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/28 14:40:38 by rparodi #+# #+# */ -/* Updated: 2024/05/18 16:15:44 by maiboyer ### ########.fr */ +/* Updated: 2024/05/18 17:09:37 by rparodi ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,11 +16,16 @@ #include "app/node/handle_program.h" #include "app/signal_handler.h" #include "gmr/symbols.h" +#include "me/hashmap/hashmap_env.h" #include "me/mem/mem.h" #include "me/string/str_len.h" +#include "me/types.h" #include "minishell.h" #include "parser/api.h" +#include #include +#include "me/string/str_split.h" +#include "me/mem/mem.h" #undef free #undef malloc @@ -35,6 +40,32 @@ t_first_tree *ts_parser_parse_string(t_first_parser *, t_first_tree *oldtree, void ts_parser_delete(t_first_parser *self); void ts_parser_set_language(t_first_parser *self, t_language *lang); +// Foutre envp dans env +// Chaque elemenet d'envp split au premier = +// cle avant le = +// data apres le = + +t_error populate_env(t_hashmap_env *env, t_str envp[]) +{ + t_usize i; + t_str *temp; + + i = 0; + temp = NULL; + if (envp == NULL || env == NULL) + return (ERROR); + while (envp[i] != NULL) + { + temp = str_split(envp[i], '='); + if (temp[0] == NULL || temp[1] == NULL) + return (ERROR); + insert_hashmap_env(env, temp[0], temp[1]); + mem_free(temp); + i++; + } + return (NO_ERROR); +} + t_error handle_node_getstr(t_node *self, t_utils *shcat, t_str *out) { *out = NULL;