changeset 1058:04005432fba4 jdk8u51-b11

Merge
author asaha
date Thu, 30 Apr 2015 23:06:34 -0700
parents 4f48a9099c8a (diff) 1c4cdf942059 (current diff)
children 966c04d57028
files .hgtags
diffstat 6 files changed, 39 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Thu Apr 30 00:58:52 2015 -0700
+++ b/.hgtags	Thu Apr 30 23:06:34 2015 -0700
@@ -354,6 +354,7 @@
 1dd828fd98f1b84de5dcadb904322b711e7489ff jdk8u31-b13
 dcc563c9db9ef290a0783378d43a039cd92a08e3 jdk8u31-b31
 119f4ae3151f4134a5e62034e66a4c17f524838b jdk8u31-b32
+d8a594fd8507343dc23fa18c01b17c96fced47fd jdk8u31-b33
 3a1bba8076da4e54882123e98e219eab1c31ccef jdk8u40-b00
 f219da378d0768ff042d77221e5d20676ecc16f0 jdk8u40-b01
 16ef2134c32a4e60b5a60105b371163aa5936278 jdk8u40-b02
@@ -382,6 +383,8 @@
 4c0d4c38279c5790aa5b61b03c4cfa9b2a58bc72 jdk8u40-b25
 f693ef62c207dd0290957c95bd62ab653afe4626 jdk8u40-b26
 56f6ca79467d04eb95383102046836b6ac7d2811 jdk8u40-b27
+7e43d4e20a33b8b6bd06112e39d367b51de921a7 jdk8u40-b31
+8facbe662ec106f1aae271f5c59909e124938c40 jdk8u40-b32
 9286acc600a779acb8bcfab38e82d4f50704afe3 jdk8u45-b00
 9fded65e1d36e3388111955d50ebf8511dd0345e jdk8u45-b01
 62566a3dbe5982565ce3e468ee3980b7937a86cc jdk8u45-b02
@@ -398,3 +401,16 @@
 a15025742f201f05ead3d731780a4ad437524491 jdk8u45-b13
 e0167ec9d7596ab9ac52a8c3b85c1aef5d3fbd92 jdk8u45-b14
 bf813e10d0bac17866ef2389baa8a1e6494e7800 jdk8u45-b15
+74452b827b62c31220709d14a65e71f37795199a jdk8u45-b31
+90fe13eb35388e095383bcb81eeb6d24875e3054 jdk8u45-b32
+ef437e576e3654f6f9c0cc116a0a824f382b9007 jdk8u51-b00
+d6ddc9950ff55dc9be44704ed59555e221a8fcc9 jdk8u51-b01
+da0ad0f75f08d8fbb4ee4d395e4386a4660b854e jdk8u51-b02
+34737dfadd630afba60b6ad63a696ae335d7e960 jdk8u51-b03
+75f055aeee9f9cab28a58e1deea9ecb8885b63d0 jdk8u51-b04
+5e57ca784de9ce92547c12d0bc3795c42794b962 jdk8u51-b05
+36c97b41563b7bed72014da6e497398c78616d5b jdk8u51-b06
+046bcf8f8e0059fa53136b06547112933d5284d6 jdk8u51-b07
+710b56801de0147716d91be7226b125b5a64c2ef jdk8u51-b08
+3b4c837abdf678ea2e60efcd2d20cc9ff1123c06 jdk8u51-b09
+7aacd8c67160af67f7c9d81974d021eeb229929e jdk8u51-b10
--- a/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java	Thu Apr 30 00:58:52 2015 -0700
+++ b/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java	Thu Apr 30 23:06:34 2015 -0700
@@ -270,7 +270,7 @@
         if (Double.isNaN(start))
             return(EMPTYSTRING);
 
-        final int strlen = value.length();
+        final int strlen = getStringLength(value);
         int istart = (int)Math.round(start) - 1;
 
         if (istart > strlen)
@@ -278,6 +278,7 @@
         if (istart < 1)
             istart = 0;
         try {
+            istart = value.offsetByCodePoints(0, istart);
             return value.substring(istart);
         } catch (IndexOutOfBoundsException e) {
             runTimeError(RUN_TIME_INTERNAL_ERR, "substring()");
@@ -297,24 +298,30 @@
             return(EMPTYSTRING);
 
         int istart = (int)Math.round(start) - 1;
+        int ilength = (int)Math.round(length);
         final int isum;
         if (Double.isInfinite(length))
             isum = Integer.MAX_VALUE;
         else
-            isum = istart + (int)Math.round(length);
+            isum = istart + ilength;
 
-        final int strlen = value.length();
+        final int strlen = getStringLength(value);
         if (isum < 0 || istart > strlen)
                 return(EMPTYSTRING);
 
-        if (istart < 0)
+        if (istart < 0) {
+            ilength += istart;
             istart = 0;
+        }
 
         try {
-            if (isum > strlen)
+            istart = value.offsetByCodePoints(0, istart);
+            if (isum > strlen) {
                 return value.substring(istart);
-            else
-                return value.substring(istart, isum);
+            } else {
+                int offset = value.offsetByCodePoints(istart, ilength);
+                return value.substring(istart, offset);
+            }
         } catch (IndexOutOfBoundsException e) {
             runTimeError(RUN_TIME_INTERNAL_ERR, "substring()");
             return null;
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java	Thu Apr 30 00:58:52 2015 -0700
+++ b/src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java	Thu Apr 30 23:06:34 2015 -0700
@@ -1418,7 +1418,7 @@
             // AttValue
             boolean isVC = !fStandalone  &&  (fSeenExternalDTD || fSeenExternalPE) ;
             scanAttributeValue(defaultVal, nonNormalizedDefaultVal, atName,
-            fAttributes, 0, isVC);
+            fAttributes, 0, isVC, elName);
         }
         return defaultType;
 
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java	Thu Apr 30 00:58:52 2015 -0700
+++ b/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java	Thu Apr 30 23:06:34 2015 -0700
@@ -1546,7 +1546,7 @@
 
         scanAttributeValue(tmpStr, fTempString2,
                 fAttributeQName.rawname, attributes,
-                attIndex, isVC);
+                attIndex, isVC, fCurrentElement.rawname);
 
         // content
         int oldLen = attributes.getLength();
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java	Thu Apr 30 00:58:52 2015 -0700
+++ b/src/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java	Thu Apr 30 23:06:34 2015 -0700
@@ -438,7 +438,7 @@
         XMLString tmpStr = getString();
         scanAttributeValue(tmpStr, fTempString2,
                 fAttributeQName.rawname, attributes,
-                attrIndex, isVC);
+                attrIndex, isVC, fCurrentElement.rawname);
 
         String value = null;
         //fTempString.toString();
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLScanner.java	Thu Apr 30 00:58:52 2015 -0700
+++ b/src/com/sun/org/apache/xerces/internal/impl/XMLScanner.java	Thu Apr 30 23:06:34 2015 -0700
@@ -812,6 +812,7 @@
      * @param attrIndex The index of the attribute to use from the list.
      * @param checkEntities true if undeclared entities should be reported as VC violation,
      *                      false if undeclared entities should be reported as WFC violation.
+     * @param eleName The name of element to which this attribute belongs.
      *
      * <strong>Note:</strong> This method uses fStringBuffer2, anything in it
      * at the time of calling is lost.
@@ -820,13 +821,13 @@
             XMLString nonNormalizedValue,
             String atName,
             XMLAttributes attributes, int attrIndex,
-            boolean checkEntities)
+            boolean checkEntities, String eleName)
             throws IOException, XNIException {
         XMLStringBuffer stringBuffer = null;
         // quote
         int quote = fEntityScanner.peekChar();
         if (quote != '\'' && quote != '"') {
-            reportFatalError("OpenQuoteExpected", new Object[]{atName});
+            reportFatalError("OpenQuoteExpected", new Object[]{eleName, atName});
         }
 
         fEntityScanner.scanChar();
@@ -952,7 +953,7 @@
                     }
                 } else if (c == '<') {
                     reportFatalError("LessthanInAttValue",
-                            new Object[] { null, atName });
+                            new Object[] { eleName, atName });
                             fEntityScanner.scanChar();
                             if (entityDepth == fEntityDepth && fNeedNonNormalizedValue) {
                                 fStringBuffer2.append((char)c);
@@ -987,7 +988,7 @@
                     }
                 } else if (c != -1 && isInvalidLiteral(c)) {
                     reportFatalError("InvalidCharInAttValue",
-                            new Object[] {Integer.toString(c, 16)});
+                            new Object[] {eleName, atName, Integer.toString(c, 16)});
                             fEntityScanner.scanChar();
                             if (entityDepth == fEntityDepth && fNeedNonNormalizedValue) {
                                 fStringBuffer2.append((char)c);
@@ -1016,7 +1017,7 @@
         // quote
         int cquote = fEntityScanner.scanChar();
         if (cquote != quote) {
-            reportFatalError("CloseQuoteExpected", new Object[]{atName});
+            reportFatalError("CloseQuoteExpected", new Object[]{eleName, atName});
         }
     } // scanAttributeValue()