fix unset all -> export a

This commit is contained in:
2024-05-03 15:06:27 +02:00
parent b7658d02ec
commit fb0ebc2398

View File

@ -6,7 +6,7 @@
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */ /* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/02/18 18:29:20 by marde-vr #+# #+# */ /* Created: 2024/02/18 18:29:20 by marde-vr #+# #+# */
/* Updated: 2024/05/03 14:29:08 by tomoron ### ########.fr */ /* Updated: 2024/05/03 14:50:57 by tomoron ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -61,7 +61,7 @@ t_env *export_set_env(t_env *env, char *name, char *value, int flags)
return (set_env(env, name, value, flags)); return (set_env(env, name, value, flags));
} }
int export_var(t_token *cmd, t_env *env) int export_var(t_token *cmd, t_env **env)
{ {
char *arg; char *arg;
char *name; char *name;
@ -85,7 +85,7 @@ int export_var(t_token *cmd, t_env *env)
if (!name || !check_var_name(name) || arg[len] == '+') if (!name || !check_var_name(name) || arg[len] == '+')
return (export_invalid_identifier(arg, name)); return (export_invalid_identifier(arg, name));
value = ft_strdup(arg + len); value = ft_strdup(arg + len);
env = export_set_env(env, name, value, flags); *env = export_set_env(*env, name, value, flags);
return (0); return (0);
} }
@ -102,11 +102,12 @@ int ft_export(t_msh *msh, t_token *cmd, t_env *env)
cmd = cmd->next; cmd = cmd->next;
while (cmd->next) while (cmd->next)
{ {
if (export_var(cmd, env)) if (export_var(cmd, &env))
error = 1; error = 1;
cmd = cmd->next; cmd = cmd->next;
} }
if (export_var(cmd, env)) if (export_var(cmd, &env))
error = 1; error = 1;
msh->env = env;
return (error); return (error);
} }