--- old/src/share/classes/com/sun/tools/example/debug/tty/VMConnection.java 2012-03-27 19:42:23.856090531 +0200 +++ new/src/share/classes/com/sun/tools/example/debug/tty/VMConnection.java 2012-03-27 19:42:23.310069918 +0200 @@ -113,6 +113,21 @@ String name = token.substring(0, index); String value = token.substring(index + 1, token.length() - 1); // Remove comma delimiter + /* + * unquote values for options (single and/or double quotes) + * needed for quote enclosed delimited substrings + */ + if (name.equals("options")) { + StringBuilder sb = new StringBuilder(); + for (String s : value.split("\\s+")) { + while (isEnclosed(s, "\"") || isEnclosed(s, "'")) { + s = s.substring(1, s.length() - 1); + } + sb.append(s); + sb.append(" "); + } + value = sb.toString(); + } Connector.Argument argument = arguments.get(name); if (argument == null) { @@ -136,6 +151,16 @@ return arguments; } + private static boolean isEnclosed(String value, String enclosingChar) { + if (value.indexOf(enclosingChar) == 0) { + int lastIndex = value.lastIndexOf(enclosingChar); + if (lastIndex > 0 && lastIndex == value.length() - 1) { + return true; + } + } + return false; + } + VMConnection(String connectSpec, int traceFlags) { String nameString; String argString;