」 feat(builtins/export): fixed exports :D

This commit is contained in:
yosyo
2024-07-06 18:34:00 +02:00
parent 249b6a6920
commit 90af93aa73
3 changed files with 24 additions and 20 deletions

View File

@ -6,7 +6,7 @@
/* By: mmoussou <mmoussou@student.42angouleme.fr +#+ +:+ +#+ */ /* By: mmoussou <mmoussou@student.42angouleme.fr +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/29 13:20:22 by mmoussou #+# #+# */ /* Created: 2024/04/29 13:20:22 by mmoussou #+# #+# */
/* Updated: 2024/06/22 14:07:50 by adjoly ### ########.fr */ /* Updated: 2024/07/06 18:24:48 by mmoussou ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -92,6 +92,8 @@ int env_edit(char *name, char *content, t_env *env);
*/ */
int env_delete(char *name, t_env *env); int env_delete(char *name, t_env *env);
t_env *env_create_el(char *env_line);
// theses are literally the linked-list functions but for env // theses are literally the linked-list functions but for env
void ft_envadd_back(t_env **env, t_env *new); void ft_envadd_back(t_env **env, t_env *new);
void ft_envadd_front(t_env **lst, t_env *new); void ft_envadd_front(t_env **lst, t_env *new);

View File

@ -6,7 +6,7 @@
/* By: mmoussou <mmoussou@student.42angouleme.fr +#+ +:+ +#+ */ /* By: mmoussou <mmoussou@student.42angouleme.fr +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/06/26 08:42:36 by mmoussou #+# #+# */ /* Created: 2024/06/26 08:42:36 by mmoussou #+# #+# */
/* Updated: 2024/06/27 15:52:42 by mmoussou ### ########.fr */ /* Updated: 2024/07/06 18:27:41 by mmoussou ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -76,6 +76,8 @@ void ft_export(char **args, t_env *env)
} }
while (*args) while (*args)
{ {
if (!strchr(*args, '='))
return ;
name = ft_calloc(sizeof(char), ft_strchr(*args, '=') - *args + 1); name = ft_calloc(sizeof(char), ft_strchr(*args, '=') - *args + 1);
content = ft_calloc(sizeof(char), ft_strlen(ft_strchr(*args, '='))); content = ft_calloc(sizeof(char), ft_strlen(ft_strchr(*args, '=')));
if (!name || !content) if (!name || !content)
@ -83,13 +85,13 @@ void ft_export(char **args, t_env *env)
ft_free("cc", &name, &content); ft_free("cc", &name, &content);
return ; return ;
} }
ft_strlcpy(name, *args, ft_strchr(*args, '=') - *args); ft_strlcpy(name, *args, ft_strchr(*args, '=') - *args + 1);
ft_strlcpy(content, ft_strchr(*args, '=') + 1, ft_strlcpy(content, ft_strchr(*args, '=') + 1,
ft_strlen(ft_strchr(*args, '='))); ft_strlen(ft_strchr(*args, '=')) + 1);
if (env_get_value(name, env)) if (env_get_value(name, env))
env_edit(name, content, env); env_edit(name, content, env);
else else
env_append(name, content, env); ft_envadd_back(&env, ft_envnew(name, content));
args++; args++;
} }
} }

View File

@ -6,7 +6,7 @@
/* By: mmoussou <mmoussou@student.42angouleme.fr +#+ +:+ +#+ */ /* By: mmoussou <mmoussou@student.42angouleme.fr +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/06/01 14:55:06 by mmoussou #+# #+# */ /* Created: 2024/06/01 14:55:06 by mmoussou #+# #+# */
/* Updated: 2024/07/06 14:23:32 by mmoussou ### ########.fr */ /* Updated: 2024/07/06 18:12:25 by mmoussou ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */