summaryrefslogtreecommitdiff
path: root/package/busybox/busybox-1.15.1-ash.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/busybox/busybox-1.15.1-ash.patch')
-rw-r--r--package/busybox/busybox-1.15.1-ash.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/package/busybox/busybox-1.15.1-ash.patch b/package/busybox/busybox-1.15.1-ash.patch
new file mode 100644
index 000000000..b77e45fd8
--- /dev/null
+++ b/package/busybox/busybox-1.15.1-ash.patch
@@ -0,0 +1,29 @@
+diff -urpN busybox-1.15.1/shell/ash.c busybox-1.15.1-ash/shell/ash.c
+--- busybox-1.15.1/shell/ash.c 2009-09-12 17:56:11.000000000 +0200
++++ busybox-1.15.1-ash/shell/ash.c 2009-09-16 16:29:09.609276492 +0200
+@@ -5553,7 +5553,7 @@ exptilde(char *startp, char *p, int flag
+ char *name;
+ struct passwd *pw;
+ const char *home;
+- int quotes = flag & (EXP_FULL | EXP_CASE);
++ int quotes = flag & (EXP_FULL | EXP_CASE | EXP_REDIR);
+ int startloc;
+
+ name = p + 1;
+@@ -6321,7 +6321,7 @@ varvalue(char *name, int varflags, int f
+ int syntax;
+ int quoted = varflags & VSQUOTE;
+ int subtype = varflags & VSTYPE;
+- int quotes = flags & (EXP_FULL | EXP_CASE);
++ int quotes = flags & (EXP_FULL | EXP_CASE | EXP_REDIR);
+
+ if (quoted && (flags & EXP_FULL))
+ sep = 1 << CHAR_BIT;
+@@ -6558,6 +6558,7 @@ evalvar(char *p, int flag, struct strlis
+ patloc = expdest - (char *)stackblock();
+ if (0 == subevalvar(p, /* str: */ NULL, patloc, subtype,
+ startloc, varflags,
++//TODO: | EXP_REDIR too? All other such places do it too
+ /* quotes: */ flag & (EXP_FULL | EXP_CASE),
+ var_str_list)
+ ) {