You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by sc...@apache.org on 2017/06/21 21:38:43 UTC
svn commit: r1799522 - in /xerces/c/trunk: ./
src/xercesc/internal/IGXMLScanner.cpp
src/xercesc/internal/XSObjectFactory.cpp
src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp
src/xercesc/validators/DTD/DTDScanner.cpp
Author: scantor
Date: Wed Jun 21 21:38:42 2017
New Revision: 1799522
URL: http://svn.apache.org/viewvc?rev=1799522&view=rev
Log:
Port XERCESC-2044 from 3.1 branch.
Modified:
xerces/c/trunk/ (props changed)
xerces/c/trunk/src/xercesc/internal/IGXMLScanner.cpp
xerces/c/trunk/src/xercesc/internal/XSObjectFactory.cpp
xerces/c/trunk/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp
xerces/c/trunk/src/xercesc/validators/DTD/DTDScanner.cpp
Propchange: xerces/c/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jun 21 21:38:42 2017
@@ -1 +1 @@
-/xerces/c/branches/xerces-3.1:1662879,1662887,1662893-1662894
+/xerces/c/branches/xerces-3.1:1662879,1662887,1662893-1662894,1663359
Modified: xerces/c/trunk/src/xercesc/internal/IGXMLScanner.cpp
URL: http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/internal/IGXMLScanner.cpp?rev=1799522&r1=1799521&r2=1799522&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/internal/IGXMLScanner.cpp (original)
+++ xerces/c/trunk/src/xercesc/internal/IGXMLScanner.cpp Wed Jun 21 21:38:42 2017
@@ -2398,7 +2398,11 @@ bool IGXMLScanner::scanStartTagNS(bool&
fSchemaElemNonDeclPool->put((void*)elemDecl->getBaseName()
, uriId, (int)Grammar::TOP_LEVEL_SCOPE, (SchemaElementDecl*)elemDecl)
);
- }
+ } else {
+ fValidator->emitError(
+ XMLValid::GrammarNotFound, getURIText(uriId)
+ );
+ }
wasAdded = true;
}
Modified: xerces/c/trunk/src/xercesc/internal/XSObjectFactory.cpp
URL: http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/internal/XSObjectFactory.cpp?rev=1799522&r1=1799521&r2=1799522&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/internal/XSObjectFactory.cpp (original)
+++ xerces/c/trunk/src/xercesc/internal/XSObjectFactory.cpp Wed Jun 21 21:38:42 2017
@@ -919,7 +919,7 @@ void XSObjectFactory::processFacets(Data
facetType = XSSimpleTypeDefinition::FACET_WHITESPACE;
isFixed = ((dvFixedFacets & DatatypeValidator::FACET_WHITESPACE) != 0);
}
- else if (XMLString::equals(key, SchemaSymbols::fgELT_PATTERN))
+ else if (XMLString::equals(key, SchemaSymbols::fgELT_PATTERN) && xsMultiFacetList)
{
XMLStringTokenizer tokenizer(dv->getPattern(), regexSeparator, fMemoryManager);
patternList = new (fMemoryManager) RefArrayVectorOf<XMLCh>(
@@ -994,7 +994,7 @@ void XSObjectFactory::processFacets(Data
}
}
- if (baseST->getMultiValueFacets())
+ if (baseST->getMultiValueFacets() && xsMultiFacetList)
{
XSMultiValueFacetList* baseMVFacets = baseST->getMultiValueFacets();
for (unsigned int j=0; j<baseMVFacets->size(); j++)
Modified: xerces/c/trunk/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp
URL: http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp?rev=1799522&r1=1799521&r2=1799522&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp (original)
+++ xerces/c/trunk/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp Wed Jun 21 21:38:42 2017
@@ -101,6 +101,8 @@ bool InMemMsgLoader::loadMsg(const XMLM
return false;
else
srcPtr = gXMLDOMMsgArray[msgToLoad - 1];
+ } else {
+ return false;
}
while (*srcPtr && (outPtr < endPtr))
Modified: xerces/c/trunk/src/xercesc/validators/DTD/DTDScanner.cpp
URL: http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/validators/DTD/DTDScanner.cpp?rev=1799522&r1=1799521&r2=1799522&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/DTD/DTDScanner.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/DTD/DTDScanner.cpp Wed Jun 21 21:38:42 2017
@@ -1219,7 +1219,7 @@ DTDScanner::scanChildren(const DTDElemen
if ((curNode->getType() == ContentSpecNode::Choice)
|| (curNode->getType() == ContentSpecNode::Sequence))
{
- if (!curNode->getSecond())
+ if (!curNode->getSecond() && lastNode)
{
ContentSpecNode* saveFirst = curNode->orphanFirst();
lastNode->setSecond(saveFirst);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org