diff options
| author | Dominik Kaiser | 2024-10-17 15:42:31 +0200 |
|---|---|---|
| committer | Dominik Kaiser | 2024-10-17 15:42:31 +0200 |
| commit | 08f6e0bf8c5d3ebc7fb9b61f9913369cfdbebae2 (patch) | |
| tree | 0ffda773ea4b399d76b460a3d3711e25d061a874 | |
| parent | 873c0ddbec693666dda5d92654fcb07d4b41b4dc (diff) | |
| parent | ae5512ea0d6d8be833ca3a9b39f93239109f45b4 (diff) | |
| download | minishell-08f6e0bf8c5d3ebc7fb9b61f9913369cfdbebae2.tar.gz minishell-08f6e0bf8c5d3ebc7fb9b61f9913369cfdbebae2.zip | |
Merge changes from main into interpreter
| -rw-r--r-- | include/env.h | 12 | ||||
| -rw-r--r-- | src/env.c | 50 |
2 files changed, 55 insertions, 7 deletions
diff --git a/include/env.h b/include/env.h index f3d3c75..5a65333 100644 --- a/include/env.h +++ b/include/env.h @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* env.h :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ +/* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/08/08 16:53:39 by dkaiser #+# #+# */ -/* Updated: 2024/09/13 16:26:16 by dkaiser ### ########.fr */ +/* Updated: 2024/10/17 15:37:32 by chuhlig ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,8 +17,6 @@ typedef struct s_env struct s_env *next; } t_env; -char *env_get(t_env *env, char *name); -void env_export(t_env *env, char *name, char *value); -void env_unset(t_env *env, char *name); -char **env_to_strlst(t_env *env); -t_env **env_from_strlst(char **lst); +void getenvlst(t_env **env, char **en); +void free_envlst(t_env **env); + diff --git a/src/env.c b/src/env.c new file mode 100644 index 0000000..8105bf4 --- /dev/null +++ b/src/env.c @@ -0,0 +1,50 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* env.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/10/17 14:31:07 by chuhlig #+# #+# */ +/* Updated: 2024/10/17 15:18:44 by chuhlig ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "env.h" + +void getenvlst(t_env **env, char **en) +{ + char *tmp; + int i; + t_env *current; + + i = 0; + while (en[i] != NULL) + { + tmp = ft_strchr(en[i], '='); + tmp = '\0'; + current = *env; + current = malloc(sizeof(t_env)); + current->name = ft_strdup(en[i]); + current->value = ft_strdup(tmp + 1); + current->next = *env; + *env = current; + i++; + } +} + +void free_envlst(t_env **env) +{ + t_env *cur; + t_env *new; + + cur = *env; + while (cur) + { + new = cur->next; + free(cur->name); + free(cur->value); + free(cur); + cur = new; + } +}
\ No newline at end of file |
