diff options
| author | Christopher Uhlig | 2024-10-25 20:44:14 +0200 |
|---|---|---|
| committer | Christopher Uhlig | 2024-10-25 20:44:14 +0200 |
| commit | eafa035f9a72961280f4b1bb8f405f40000d3212 (patch) | |
| tree | 3566b9bcfde24d59afc7591179647f393184cfaf /src/env_to_strlst.c | |
| parent | ca4acea03cda19c2a0f0fd168d3c8fd418d71e04 (diff) | |
| parent | 15d8385f8ecf30e1ca74025b12fed7e45349b706 (diff) | |
| download | minishell-eafa035f9a72961280f4b1bb8f405f40000d3212.tar.gz minishell-eafa035f9a72961280f4b1bb8f405f40000d3212.zip | |
resolved merge conflicts
Diffstat (limited to 'src/env_to_strlst.c')
| -rw-r--r-- | src/env_to_strlst.c | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/env_to_strlst.c b/src/env_to_strlst.c new file mode 100644 index 0000000..3a58df9 --- /dev/null +++ b/src/env_to_strlst.c @@ -0,0 +1,58 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* env_to_strlst.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/10/21 14:52:08 by dkaiser #+# #+# */ +/* Updated: 2024/10/21 15:07:33 by dkaiser ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" +#include "minishell.h" + +static char *get_var_assign(t_env *cur); + +char **env_to_strlst(t_env *env) +{ + int size; + t_env *cur; + char **result; + int i; + + size = 0; + cur = env; + while (cur != NULL) + { + size++; + cur = cur->next; + } + result = malloc(sizeof(char *) * (size + 1)); + if (result == NULL) + return (NULL); + i = 0; + cur = env; + while (i < size) + { + result[i] = get_var_assign(cur); + cur = cur->next; + i++; + } + result[i] = NULL; + return (result); +} + +static char *get_var_assign(t_env *cur) +{ + char *left_side; + char *result; + + left_side = ft_strjoin(cur->name, "="); + if (left_side == NULL) + return (NULL); + result = ft_strjoin(left_side, cur->value); + free(left_side); + return (result); +} |
