Merge
authorasaha
Mon, 21 May 2012 14:51:03 -0700
changeset 13067 07faac9f60d0
parent 13066 d7ed93b02ae9 (diff)
parent 12720 6e4e654931b9 (current diff)
child 13068 37e5902c3985
Merge
hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp
hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp
hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.cpp
hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.hpp
hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/freeList.cpp
hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/freeList.hpp
jdk/src/macosx/bin/amd64/jvm.cfg
jdk/src/share/classes/sun/security/action/LoadLibraryAction.java
jdk/test/tools/pack200/dyn.jar
jdk/test/tools/pack200/pack200-verifier/src/xmlkit/ClassSyntax.java
jdk/test/tools/pack200/pack200-verifier/src/xmlkit/ClassWriter.java
jdk/test/tools/pack200/pack200-verifier/src/xmlkit/InstructionAssembler.java
jdk/test/tools/pack200/pack200-verifier/src/xmlkit/InstructionSyntax.java
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLScanner.java	Wed Jul 05 18:11:33 2017 +0200
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLScanner.java	Mon May 21 14:51:03 2012 -0700
@@ -402,6 +402,16 @@
 
         boolean dataFoundForTarget = false;
         boolean sawSpace = fEntityScanner.skipSpaces();
+        // since pseudoattributes are *not* attributes,
+        // their quotes don't need to be preserved in external parameter entities.
+        // the XMLEntityScanner#scanLiteral method will continue to
+        // emit -1 in such cases when it finds a quote; this is
+        // fine for other methods that parse scanned entities,
+        // but not for the scanning of pseudoattributes.  So,
+        // temporarily, we must mark the current entity as not being "literal"
+        Entity.ScannedEntity currEnt = fEntityManager.getCurrentEntity();
+        boolean currLiteral = currEnt.literal;
+        currEnt.literal = false;
         while (fEntityScanner.peekChar() != '?') {
             dataFoundForTarget = true;
             String name = scanPseudoAttribute(scanningTextDecl, fString);
@@ -499,6 +509,9 @@
             }
             sawSpace = fEntityScanner.skipSpaces();
         }
+        // restore original literal value
+        if(currLiteral)
+            currEnt.literal = true;
         // REVISIT: should we remove this error reporting?
         if (scanningTextDecl && state != STATE_DONE) {
             reportFatalError("MorePseudoAttributes", null);