This patch from Evin Robertson <nitfol@my-deja.com> 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/shell/hush.c b/shell/hush.c
index e58ac44..a5f634b 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -469,7 +469,10 @@
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);