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 \$ // has \$
if(i+1<val.size() && val[i] == '\\' && val[i+1] == '$') { if(i+1<val.size() && val[i] == '\\' && val[i+1] == '$') {
// char after $ is a varname // 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; continue;
val.erase(i, 1); val.erase(i, 1);
} }

View file

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