From: Denys Vlasenko Date: Fri, 6 Aug 2010 20:06:21 +0000 (+0200) Subject: ash: fix another bug detected by var_bash4.tests X-Git-Tag: 1_18_0~349 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=1614900522a5d603909a2679acbdd4744c235c1b;p=oweals%2Fbusybox.git ash: fix another bug detected by var_bash4.tests ... but var_bash4.tests still does not pass! function old new delta expandarg 959 962 +3 localcmd 259 257 -2 readtoken1 3275 3260 -15 subevalvar 1178 1141 -37 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/3 up/down: 3/-54) Total: -51 bytes Signed-off-by: Denys Vlasenko --- diff --git a/shell/ash.c b/shell/ash.c index 74b1c3aad..dcac4fe04 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -6272,6 +6272,8 @@ parse_sub_pattern(char *arg, int varflags) char *idx, *repl = NULL; unsigned char c; + //char *org_arg = arg; + //bb_error_msg("arg:'%s'", arg); idx = arg; while (1) { c = *arg; @@ -6290,6 +6292,7 @@ parse_sub_pattern(char *arg, int varflags) arg++; } *idx = c; /* NUL */ + //bb_error_msg("pattern:'%s' repl:'%s'", org_arg, repl); return repl; } @@ -6499,8 +6502,6 @@ subevalvar(char *p, char *varname, int strloc, int subtype, //bb_error_msg("tail:'%s', quotes:%x", idx, quotes); while (*idx) { char *restart_detect = stackblock(); - if (quotes && (unsigned char)*idx == CTLESC) - idx++; STPUTC(*idx, expdest); if (stackblock() != restart_detect) goto restart;