aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shell/hush.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/shell/hush.c b/shell/hush.c
index 426182924..ec4f3a2f2 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -11307,8 +11307,8 @@ static int FAST_FUNC builtin_export(char **argv)
11307 11307
11308 if (!p) /* wtf? take next variable */ 11308 if (!p) /* wtf? take next variable */
11309 continue; 11309 continue;
11310 /* export var= */ 11310 /* "export VAR=" */
11311 printf("export %.*s", (int)(p - s) + 1, s); 11311 printf("%s %.*s", "export", (int)(p - s) + 1, s);
11312 print_escaped(p + 1); 11312 print_escaped(p + 1);
11313 putchar('\n'); 11313 putchar('\n');
11314# endif 11314# endif
@@ -11352,8 +11352,15 @@ static int FAST_FUNC builtin_readonly(char **argv)
11352 struct variable *e; 11352 struct variable *e;
11353 for (e = G.top_var; e; e = e->next) { 11353 for (e = G.top_var; e; e = e->next) {
11354 if (e->flg_read_only) { 11354 if (e->flg_read_only) {
11355//TODO: quote value: readonly VAR='VAL' 11355 const char *s = e->varstr;
11356 printf("readonly %s\n", e->varstr); 11356 const char *p = strchr(s, '=');
11357
11358 if (!p) /* wtf? take next variable */
11359 continue;
11360 /* "readonly VAR=" */
11361 printf("%s %.*s", "readonly", (int)(p - s) + 1, s);
11362 print_escaped(p + 1);
11363 putchar('\n');
11357 } 11364 }
11358 } 11365 }
11359 return EXIT_SUCCESS; 11366 return EXIT_SUCCESS;