Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.busybox.net/busybox.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'shell/hush.c')
-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)
if (!p) /* wtf? take next variable */
continue;
- /* export var= */
- printf("export %.*s", (int)(p - s) + 1, s);
+ /* "export VAR=" */
+ printf("%s %.*s", "export", (int)(p - s) + 1, s);
print_escaped(p + 1);
putchar('\n');
# endif
@@ -11352,8 +11352,15 @@ static int FAST_FUNC builtin_readonly(char **argv)
struct variable *e;
for (e = G.top_var; e; e = e->next) {
if (e->flg_read_only) {
-//TODO: quote value: readonly VAR='VAL'
- printf("readonly %s\n", e->varstr);
+ const char *s = e->varstr;
+ const char *p = strchr(s, '=');
+
+ if (!p) /* wtf? take next variable */
+ continue;
+ /* "readonly VAR=" */
+ printf("%s %.*s", "readonly", (int)(p - s) + 1, s);
+ print_escaped(p + 1);
+ putchar('\n');
}
}
return EXIT_SUCCESS;