changeset 362:b0b31caed29e

Merge
author alanb
date Sun, 22 Jul 2012 19:22:41 +0100
parents daf33332f106 (current diff) 1c88da9a1365 (diff)
children 8adc970057f1
files .hgtags
diffstat 2 files changed, 17 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Wed Jul 11 15:28:12 2012 +0100
+++ b/.hgtags	Sun Jul 22 19:22:41 2012 +0100
@@ -173,3 +173,5 @@
 eff4ece9c8bc43b3ce2b3758574c4c20147f0689 jdk8-b43
 0b3f3a4ce13930430b32b616a717dfc7fe385b28 jdk8-b44
 57476f66e13c55eea2f2fe2b858369a4c64b9936 jdk8-b45
+300f45e990643af230d6cca39477ff62c44a9a54 jdk8-b46
+404521944ac9383afda7d55d60713b212c730646 jdk8-b47
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java	Wed Jul 11 15:28:12 2012 +0100
+++ b/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java	Sun Jul 22 19:22:41 2012 +0100
@@ -2609,6 +2609,18 @@
         if (str == null) {
             return str;
         }
+        int len = str.length(), i=0, ch;
+        for (; i < len; i++) {
+            ch = str.charAt(i);
+            // if it's not an ASCII 7 character, break here, and use UTF-8 encoding
+            if (ch >= 128)
+                break;
+        }
+
+        // we saw no non-ascii-7 character
+        if (i == len) {
+            return str;
+        }
 
         // get UTF-8 bytes for the string
         StringBuffer buffer = new StringBuffer();
@@ -2620,11 +2632,11 @@
             // should never happen
             return str;
         }
-        int len = bytes.length;
-        int ch;
+
+        len = bytes.length;
 
         // for each byte
-        for (int i = 0; i < len; i++) {
+        for (i = 0; i < len; i++) {
             b = bytes[i];
             // for non-ascii character: make it positive, then escape
             if (b < 0) {