diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ash.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/shell/ash.c b/shell/ash.c index ab13021a3..4360770d4 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -5552,7 +5552,7 @@ exptilde(char *startp, char *p, int flags) | |||
5552 | char *name; | 5552 | char *name; |
5553 | struct passwd *pw; | 5553 | struct passwd *pw; |
5554 | const char *home; | 5554 | const char *home; |
5555 | int quotes = flags & (EXP_FULL | EXP_CASE); | 5555 | int quotes = flags & (EXP_FULL | EXP_CASE | EXP_REDIR); |
5556 | int startloc; | 5556 | int startloc; |
5557 | 5557 | ||
5558 | name = p + 1; | 5558 | name = p + 1; |
@@ -6327,7 +6327,7 @@ varvalue(char *name, int varflags, int flags, struct strlist *var_str_list) | |||
6327 | int syntax; | 6327 | int syntax; |
6328 | int quoted = varflags & VSQUOTE; | 6328 | int quoted = varflags & VSQUOTE; |
6329 | int subtype = varflags & VSTYPE; | 6329 | int subtype = varflags & VSTYPE; |
6330 | int quotes = flags & (EXP_FULL | EXP_CASE); | 6330 | int quotes = flags & (EXP_FULL | EXP_CASE | EXP_REDIR); |
6331 | 6331 | ||
6332 | if (quoted && (flags & EXP_FULL)) | 6332 | if (quoted && (flags & EXP_FULL)) |
6333 | sep = 1 << CHAR_BIT; | 6333 | sep = 1 << CHAR_BIT; |
@@ -6563,6 +6563,7 @@ evalvar(char *p, int flags, struct strlist *var_str_list) | |||
6563 | patloc = expdest - (char *)stackblock(); | 6563 | patloc = expdest - (char *)stackblock(); |
6564 | if (0 == subevalvar(p, /* str: */ NULL, patloc, subtype, | 6564 | if (0 == subevalvar(p, /* str: */ NULL, patloc, subtype, |
6565 | startloc, varflags, | 6565 | startloc, varflags, |
6566 | //TODO: | EXP_REDIR too? All other such places do it too | ||
6566 | /* quotes: */ flags & (EXP_FULL | EXP_CASE), | 6567 | /* quotes: */ flags & (EXP_FULL | EXP_CASE), |
6567 | var_str_list) | 6568 | var_str_list) |
6568 | ) { | 6569 | ) { |