aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-09-16 16:20:31 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2009-09-16 16:20:31 +0200
commit1166d7b1360285659aa7585e5c5bd4e1321aeeaf (patch)
tree32800389138cf1fb81b713347fc39cf440f386dc
parentb0d63383dd0e78a64458126d09d212f9a3833a17 (diff)
downloadbusybox-w32-1166d7b1360285659aa7585e5c5bd4e1321aeeaf.tar.gz
busybox-w32-1166d7b1360285659aa7585e5c5bd4e1321aeeaf.tar.bz2
busybox-w32-1166d7b1360285659aa7585e5c5bd4e1321aeeaf.zip
ash: fix bug 585 (>"$VAR_WITH_UNICODE_CHARS" problem)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--shell/ash.c5
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 ) {