From: Eric Andersen Date: Mon, 7 May 2001 23:53:09 +0000 (-0000) Subject: This patch from Evin Robertson fixes export so it works. X-Git-Tag: 0_52~214 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=45e92ba2ced91eba4cc432d3addaafdd2a326689;p=oweals%2Fbusybox.git This patch from Evin Robertson fixes export so it works. This way leaks memory, but oh well. We will probably fix that when we get around to doing local variables. --- diff --git a/hush.c b/hush.c index e58ac44b3..a5f634b9a 100644 --- a/hush.c +++ b/hush.c @@ -469,7 +469,10 @@ static int builtin_export(struct child_prog *child) if (child->argv[1] == NULL) { return (builtin_env(child)); } - res = putenv(child->argv[1]); + /* FIXME -- I leak memory. This will be + * fixed up properly when we add local + * variable support -- I hope */ + res = putenv(strdup(child->argv[1])); if (res) fprintf(stderr, "export: %s\n", strerror(errno)); return (res); diff --git a/shell/hush.c b/shell/hush.c index e58ac44b3..a5f634b9a 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -469,7 +469,10 @@ static int builtin_export(struct child_prog *child) if (child->argv[1] == NULL) { return (builtin_env(child)); } - res = putenv(child->argv[1]); + /* FIXME -- I leak memory. This will be + * fixed up properly when we add local + * variable support -- I hope */ + res = putenv(strdup(child->argv[1])); if (res) fprintf(stderr, "export: %s\n", strerror(errno)); return (res);