diff --git a/include/builtins.h b/include/builtins.h index 9d41518..fcae1f8 100644 --- a/include/builtins.h +++ b/include/builtins.h @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* builtins.h :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: adjoly +#+ +:+ +#+ */ +/* By: mmoussou name, "_")) + { + ar[i] = ft_calloc(1, ft_vstrlen(2, env->name, env->content) + 2); + if (!ar[i]) + { + ft_free("a", ar); + return (NULL); + } + env_make_str(ar[i], env->name, env->content); + i++; + } + env = env->next; + } + return (ar); +} diff --git a/src/env/env_setters.c b/src/env/env_setters.c index a70d188..08bea34 100644 --- a/src/env/env_setters.c +++ b/src/env/env_setters.c @@ -6,7 +6,7 @@ /* By: mmoussou name) - + ft_strlen(env->content) + 2); - if (!exec_env[i]) + if (!env->content) + continue ; + ar[i] = ft_calloc(1, ft_vstrlen(2, env->name, env->content) + 2); + if (!ar[i]) { - ft_free("a", exec_env); + ft_free("a", ar); return (NULL); } - ft_strlcpy(exec_env[i], env->name, ft_strlen(env->name) + 1); - exec_env[i][ft_strlen(env->name)] = '='; - ft_strlcpy(exec_env[i] + ft_strlen(env->name) + 1, - env->content, ft_strlen(env->content) + 1); + ft_strlcpy(ar[i], env->name, ft_strlen(env->name) + 1); + ar[i][ft_strlen(env->name)] = '='; + ft_strlcat(ar[i], env->content, ft_vstrlen(2, ar[i], env->content) + 1); env = env->next; i++; } - return (exec_env); + return (ar); }