From 310f26ef80b2ab3a7ea1d94d71ad1603307bb65a Mon Sep 17 00:00:00 2001 From: yosyo Date: Thu, 11 Jul 2024 19:08:49 +0200 Subject: [PATCH] =?UTF-8?q?=E3=80=8C=E2=9C=A8=E3=80=8D=20feat(builtins/exp?= =?UTF-8?q?ort):=20export=20possibly=20done?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/builtins.h | 10 +++++-- libft/include/libft.h | 3 +- libft/src/str/ft_strlen.c | 29 +++++++++++++++---- src/builtins/ft_export.c | 52 +++++++++++++++++++++------------ src/builtins/ft_export_utils.c | 53 ++++++++++++++++++++++++++++++++++ src/env/env_setters.c | 30 +++++++++---------- 6 files changed, 135 insertions(+), 42 deletions(-) create mode 100644 src/builtins/ft_export_utils.c 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); }