diff --git a/configure b/configure index b8681e1352..ddd8ca35f5 100755 --- a/configure +++ b/configure @@ -475,21 +475,21 @@ get_safe(){ } pushvar(){ - for var in $*; do - eval level=\${${var}_level:=0} - eval ${var}_${level}="\$$var" - eval ${var}_level=$(($level+1)) + for pvar in $*; do + eval level=\${${pvar}_level:=0} + eval ${pvar}_${level}="\$$pvar" + eval ${pvar}_level=$(($level+1)) done } popvar(){ - for var in $*; do - eval level=\${${var}_level:-0} + for pvar in $*; do + eval level=\${${pvar}_level:-0} test $level = 0 && continue eval level=$(($level-1)) - eval $var="\${${var}_${level}}" - eval ${var}_level=$level - eval unset ${var}_${level} + eval $pvar="\${${pvar}_${level}}" + eval ${pvar}_level=$level + eval unset ${pvar}_${level} done }