diff --git a/42sh/src/builtin/builtin_export.c b/42sh/src/builtin/builtin_export.c index 444218b3..e2fa3f8d 100644 --- a/42sh/src/builtin/builtin_export.c +++ b/42sh/src/builtin/builtin_export.c @@ -6,7 +6,7 @@ /* By: gwojda +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/02/15 11:39:37 by gwojda #+# #+# */ -/* Updated: 2017/03/24 15:11:48 by jhalford ### ########.fr */ +/* Updated: 2017/03/24 19:33:00 by wescande ### ########.fr */ /* */ /* ************************************************************************** */ @@ -41,25 +41,25 @@ int builtin_export( char *equal; t_btexport data; - (void)envp; (void)path; data.flag = 0; if (cliopts_get((char**)av, g_export_opts, &data)) - ft_perror("export"); + return (ft_perror("export") ? 1 : 1); if (data.flag & BT_EXPORT_LP) return (bt_export_print()); av = data.av_data; + if (!(data.flag = 0) && !*av) + bt_export_print(); while (*av) { equal = ft_strchr(*av, '='); if (equal) - *equal = 0; + *(equal++) = 0; else equal = ft_getenv(data_singleton()->local_var, *av); - equal ? equal++ : equal; - builtin_setenv("internal", (char*[]){"export", *av, equal}, NULL); + data.flag += builtin_setenv("internal", (char*[]){"export", *av, equal}, envp); builtin_unsetenv("internal", (char*[]){"local", *av, NULL}, NULL); av++; } - return (0); + return (data.flag ? 1 : 0); } diff --git a/42sh/src/builtin/builtin_setenv.c b/42sh/src/builtin/builtin_setenv.c index 5dd2bd1f..a30cf42f 100644 --- a/42sh/src/builtin/builtin_setenv.c +++ b/42sh/src/builtin/builtin_setenv.c @@ -6,13 +6,13 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/28 14:25:17 by jhalford #+# #+# */ -/* Updated: 2017/03/23 18:26:59 by jhalford ### ########.fr */ +/* Updated: 2017/03/24 19:33:37 by wescande ### ########.fr */ /* */ /* ************************************************************************** */ #include "minishell.h" -#define SETERR_0 "%s: %s: invalid variable name" +#define SETERR_0 "%s: not an identifier: %s" static int assign_var(char *const av[], char ***env) {