fix(minify): incorrectly escaped dollar on manip

This commit is contained in:
zawz 2022-02-03 11:14:30 +01:00
parent b2c5aeea02
commit fe7e6cdb52
2 changed files with 4 additions and 1 deletions

View file

@ -293,7 +293,7 @@ void do_minify_dollar(subarg_string_t* in)
// has \$
if(i+1<val.size() && val[i] == '\\' && val[i+1] == '$') {
// char after $ is a varname
if(i+2<val.size() && (is_varname(val[i+2]) || is_in(val[i+2], SPECIAL_VARS)) )
if(i+2<val.size() && (is_varname(val[i+2]) || is_in(val[i+2], SPECIAL_VARS) || val[i+2] == '{') )
continue;
val.erase(i, 1);
}

View file

@ -41,3 +41,6 @@ echo "${TOTO:$N:2}"
echo ${TOTO:-tutu}
echo ${TITI:-bar}
TATA=TOTO
echo ${!TATA}