function override-vars
{
- local OR V OLDIFS
+ local OR V W
declare -a OR
- OLDIFS="$IFS"
- IFS=$'\n'
- OR=($(set | sed "s/^$1_//;t;d")) || true
- IFS="$OLDIFS"
+ # `${!${1}_@}' does not work, so we have to use eval
+ OR=($(eval echo '${!'$1'_@}'))
for V in "${OR[@]}" ; do
- eval "$V"
+ W=${V##$1_}
+ eval $W='"$'$V'"'
done
}
box-clean
for a in $SRC $COMP_EXTRAS ; do cp $TDIR/$a $BOXDIR/ ; done
EXE=$PROBLEM
- CCMD=COMP_$SRCEXT
- CCMD=`eval echo ${!CCMD}`
+ CCMD=`eval echo $COMP`
COMP_SANDBOX_OPTS=`eval echo $COMP_SANDBOX_OPTS`
echo "Compiler command: $CCMD"
echo "Compiler sandbox options: $COMP_SANDBOX_OPTS"