diff --git a/src/script/ant b/src/script/ant index b5ed5be6a..6baf1212b 100644 --- a/src/script/ant +++ b/src/script/ant @@ -35,7 +35,8 @@ for arg in "$@" ; do if [ my"$arg" = my"-h" -o my"$arg" = my"-help" ] ; then show_help=true fi - ant_exec_args="$ant_exec_args \"$arg\"" + # wrap all arguments as "" strings, escape any internal back-slash or double-quote characters + ant_exec_args="$ant_exec_args \"$(printf '%s' "$arg" | sed -e 's@"\|\\@\\\0@g' )\"" fi done @@ -329,8 +330,9 @@ else ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\"" fi fi -ant_exec_command="exec \"$JAVACMD\" $ANT_OPTS -classpath \"$LOCALCLASSPATH\" -Dant.home=\"$ANT_HOME\" -Dant.library.dir=\"$ANT_LIB\" $ant_sys_opts org.apache.tools.ant.launch.Launcher $ANT_ARGS -cp \"$CLASSPATH\"" +ant_exec_command="exec \"\$JAVACMD\" $ANT_OPTS -classpath \"\$LOCALCLASSPATH\" -Dant.home=\"\$ANT_HOME\" -Dant.library.dir=\"\$ANT_LIB\" $ant_sys_opts org.apache.tools.ant.launch.Launcher $ANT_ARGS -cp \"\$CLASSPATH\"" if $ant_exec_debug ; then echo $ant_exec_command $ant_exec_args fi -eval $ant_exec_command "$ant_exec_args" + +eval $ant_exec_command $ant_exec_args