From: markt Date: Sun, 20 Apr 2008 22:39:35 +0000 (+0000) Subject: Fix bug 31257. Quote endorsed dirs if they contain a space. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=adcaac6254f73019f284d55f9b5e9633ed4cc87f;p=tomcat7.0 Fix bug 31257. Quote endorsed dirs if they contain a space. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@649993 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/jasper/compiler/AntCompiler.java b/java/org/apache/jasper/compiler/AntCompiler.java index 88b9563fe..351267a5b 100644 --- a/java/org/apache/jasper/compiler/AntCompiler.java +++ b/java/org/apache/jasper/compiler/AntCompiler.java @@ -175,8 +175,10 @@ public class AntCompiler extends Compiler { if(endorsed != null) { Javac.ImplementationSpecificArgument endorsedArg = javac.createCompilerArg(); - endorsedArg.setLine("-J-Djava.endorsed.dirs="+endorsed); - info.append(" endorsed dir=" + endorsed + "\n"); + endorsedArg.setLine("-J-Djava.endorsed.dirs=" + + quotePathList(endorsed)); + info.append(" endorsed dir=" + quotePathList(endorsed) + + "\n"); } else { info.append(" no endorsed dirs specified\n"); } @@ -275,7 +277,26 @@ public class AntCompiler extends Compiler { } } - + private String quotePathList(String list) { + StringBuffer result = new StringBuffer(list.length() + 10); + StringTokenizer st = new StringTokenizer(list, File.pathSeparator); + while (st.hasMoreTokens()) { + String token = st.nextToken(); + if (token.indexOf(' ') == -1) { + result.append(token); + } else { + result.append('\"'); + result.append(token); + result.append('\"'); + } + if (st.hasMoreTokens()) { + result.append(File.pathSeparatorChar); + } + } + return result.toString(); + } + + protected static class SystemLogHandler extends PrintStream {