# HG changeset patch # User andrew # Date 1344021801 -3600 # Node ID 586db1f46ceb66164b7c78a300cf8419e6f3fbfe # Parent 5bc78d89bc884fccafca5b2d37956d410f0a83b0# Parent dc1ea77ed9d9746e0f98bb1268987c3596c8b4b5 Merge jdk8-b50 diff -r 5bc78d89bc88 -r 586db1f46ceb .hgtags --- a/.hgtags Thu Aug 02 17:00:11 2012 +0100 +++ b/.hgtags Fri Aug 03 20:23:21 2012 +0100 @@ -169,3 +169,9 @@ 39ee03c1602155ff02e5feb6cd44869452f24cf7 jdk8-b42 eff4ece9c8bc43b3ce2b3758574c4c20147f0689 jdk8-b43 0b3f3a4ce13930430b32b616a717dfc7fe385b28 jdk8-b44 +57476f66e13c55eea2f2fe2b858369a4c64b9936 jdk8-b45 +300f45e990643af230d6cca39477ff62c44a9a54 jdk8-b46 +404521944ac9383afda7d55d60713b212c730646 jdk8-b47 +1c88da9a1365797e49be77ae42c34bbc0a3c3f0c jdk8-b48 +f81e981eca7b63316cf9d778f93903a4fc62161d jdk8-b49 +2791ec55f66b57a702349c649567a391e6301f4e jdk8-b50 diff -r 5bc78d89bc88 -r 586db1f46ceb src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java --- a/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java Thu Aug 02 17:00:11 2012 +0100 +++ b/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java Fri Aug 03 20:23:21 2012 +0100 @@ -602,7 +602,7 @@ if (reader == null) { stream = xmlInputSource.getByteStream(); if (stream == null) { - URL location = new URL(escapeNonUSAscii(expandedSystemId)); + URL location = new URL(expandedSystemId); URLConnection connect = location.openConnection(); if (!(connect instanceof HttpURLConnection)) { stream = connect.getInputStream(); @@ -2586,64 +2586,6 @@ } // fixURI(String):String - /** - * Escape invalid URI characters. - * - * Passed a URI that contains invalid characters (like spaces, non-ASCII Unicode characters, and the like), - * this function percent encodes the invalid characters per the URI specification (i.e., as a sequence of - * %-encoded UTF-8 octets). - * - * N.B. There are two problems. If the URI contains a '%' character, that might be an indication that - * the URI has already been escaped by the author, or it might be an invalid '%'. In the former case, - * it's important not to escape it, or we'll wind up with invalid, doubly-escaped '%'s. In the latter, - * the URI is broken if we don't encode it. Similarly, a '#' character might be the start of a fragment - * identifier or it might be an invalid '#'. - * - * Given that the former is vastly more likely than the latter in each case (most users are familiar with - * the magic status of '%' and '#' and they occur relatively infrequently in filenames, and if the user parses - * a proper Java File, we will already have %-escaped the URI), we simply assume that %'s and #'s are legit. - * - * Very rarely, we may be wrong. If so, tell the user to fix the clearly broken URI. - */ - protected static String escapeNonUSAscii(String str) { - if (str == null) { - return str; - } - - // get UTF-8 bytes for the string - StringBuffer buffer = new StringBuffer(); - byte[] bytes = null; - byte b; - try { - bytes = str.getBytes("UTF-8"); - } catch (java.io.UnsupportedEncodingException e) { - // should never happen - return str; - } - int len = bytes.length; - int ch; - - // for each byte - for (int i = 0; i < len; i++) { - b = bytes[i]; - // for non-ascii character: make it positive, then escape - if (b < 0) { - ch = b + 256; - buffer.append('%'); - buffer.append(gHexChs[ch >> 4]); - buffer.append(gHexChs[ch & 0xf]); - } - else if (b != '%' && b != '#' && gNeedEscaping[b]) { - buffer.append('%'); - buffer.append(gAfterEscaping1[b]); - buffer.append(gAfterEscaping2[b]); - } - else { - buffer.append((char)b); - } - } - return buffer.toString(); - } // // Package visible methods