/* ************************************************************************** */ /* */ /* :::::::: */ /* environment_get_arr.c :+: :+: */ /* +:+ */ /* By: willem +#+ */ /* +#+ */ /* Created: 2025/02/08 13:59:48 by willem #+# #+# */ /* Updated: 2025/02/08 13:59:49 by willem ######## odam.nl */ /* */ /* ************************************************************************** */ # include "minishell.h" char **environment_get_arr(t_list *environment) { char **arr; t_environment *env; int i; arr = malloc(sizeof(char *) * (ft_lstsize(environment) + 1)); if (arr == NULL) return (NULL); i = 0; while (environment != NULL) { env = (t_environment *)environment->content; arr[i] = malloc(ft_strlen(env->name) + ft_strlen(env->value) + 2); if (arr[i] == NULL) { ft_free_arr(arr); return (NULL); } ft_strlcpy(arr[i], env->name, ft_strlen(env->name) + 1); ft_strlcat(arr[i], "=", ft_strlen(env->name) + 2); ft_strlcat(arr[i], env->value, ft_strlen(env->name) + ft_strlen(env->value) + 2); environment = environment->next; i++; } arr[i] = NULL; return (arr); }