changeset 373:586db1f46ceb

Merge jdk8-b50
author andrew
date Fri, 03 Aug 2012 20:23:21 +0100
parents 5bc78d89bc88 (current diff) dc1ea77ed9d9 (diff)
children 69e8e125b540
files .hgtags
diffstat 2 files changed, 7 insertions(+), 59 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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