openwrtv3/package/busybox/patches/251-ash_fix-redir-substitution.patch

12 lines
460 B
Diff

--- a/shell/ash.c
+++ b/shell/ash.c
@@ -6846,8 +6846,7 @@ evalvar(char *p, int flags, struct strli
patloc = expdest - (char *)stackblock();
if (NULL == subevalvar(p, /* varname: */ NULL, patloc, subtype,
startloc, varflags,
-//TODO: | EXP_REDIR too? All other such places do it too
- /* quotes: */ flags & (EXP_FULL | EXP_CASE),
+ /* quotes: */ flags & (EXP_FULL | EXP_CASE | EXP_REDIR),
var_str_list)
) {
int amount = expdest - (