[git commit master] ash: fix bug 585 (>"$VAR_WITH_UNICODE_CHARS" problem)

Denys Vlasenko vda.linux at googlemail.com
Wed Sep 16 14:20:31 UTC 2009


commit: http://git.busybox.net/busybox/commit/?id=1166d7b1360285659aa7585e5c5bd4e1321aeeaf
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 shell/ash.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/shell/ash.c b/shell/ash.c
index ab13021..4360770 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -5552,7 +5552,7 @@ exptilde(char *startp, char *p, int flags)
 	char *name;
 	struct passwd *pw;
 	const char *home;
-	int quotes = flags & (EXP_FULL | EXP_CASE);
+	int quotes = flags & (EXP_FULL | EXP_CASE | EXP_REDIR);
 	int startloc;
 
 	name = p + 1;
@@ -6327,7 +6327,7 @@ varvalue(char *name, int varflags, int flags, struct strlist *var_str_list)
 	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;
@@ -6563,6 +6563,7 @@ evalvar(char *p, int flags, struct strlist *var_str_list)
 		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: */ flags & (EXP_FULL | EXP_CASE),
 				var_str_list)
 		) {
-- 
1.6.3.3



More information about the busybox-cvs mailing list