From 26583e9027dcf80da9f07cf7e38b56ee619f8f4e Mon Sep 17 00:00:00 2001 From: gwojda Date: Wed, 15 Mar 2017 10:48:08 +0100 Subject: [PATCH] fix setenv #105' --- 42sh/src/builtin/builtin_setenv.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/42sh/src/builtin/builtin_setenv.c b/42sh/src/builtin/builtin_setenv.c index a1cc7dc9..c436e331 100644 --- a/42sh/src/builtin/builtin_setenv.c +++ b/42sh/src/builtin/builtin_setenv.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/28 14:25:17 by jhalford #+# #+# */ -/* Updated: 2017/03/15 02:12:56 by ariard ### ########.fr */ +/* Updated: 2017/03/15 10:47:33 by gwojda ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,17 +21,24 @@ int builtin_setenv(const char *path, char *const av[], char *const envp[]) (void)envp; (void)path; i = 0; - env = ft_strcmp(av[0], "local") == 0 ? - &data_singleton()->local_var : &data_singleton()->env; + if (ft_strcmp(av[0], "local") == 0) + { + env = &data_singleton()->local_var; + av++; + } + else + env = &data_singleton()->env; av++; if (!av[0]) { ft_sstrprint(*env, '\n'); ft_putchar('\n'); } + else if (!av[1]) + ft_putendl_fd("usage : name [space] value", 2); else { - str = ft_str3join(av[0], "=", av[2]); + str = ft_str3join(av[0], "=", av[1]); while ((*env) && (*env)[i]) { if (ft_strcmp((*env)[i], av[0]) == '=')