knoaman 2003/03/21 07:42:39 Modified: c/src/xercesc/internal SGXMLScanner.cpp IGXMLScanner.cpp DGXMLScanner.cpp Log: Should reset reader manager before returning loaded grammar. Revision Changes Path 1.20 +5 -3 xml-xerces/c/src/xercesc/internal/SGXMLScanner.cpp Index: SGXMLScanner.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/SGXMLScanner.cpp,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- SGXMLScanner.cpp 26 Feb 2003 19:30:10 -0000 1.19 +++ SGXMLScanner.cpp 21 Mar 2003 15:42:36 -0000 1.20 @@ -1754,6 +1754,8 @@ , const short grammarType , const bool toCache) { + Grammar* loadedGrammar = 0; + try { fGrammarResolver->cacheGrammarFromParse(false); @@ -1772,7 +1774,7 @@ fSeeXsi = false; if (grammarType == Grammar::SchemaGrammarType) { - return loadXMLSchemaGrammar(src, toCache); + loadedGrammar = loadXMLSchemaGrammar(src, toCache); } // Reset the reader manager to close all files, sockets, etc... @@ -1840,7 +1842,7 @@ throw; } - return 0; + return loadedGrammar; } // --------------------------------------------------------------------------- 1.9 +6 -4 xml-xerces/c/src/xercesc/internal/IGXMLScanner.cpp Index: IGXMLScanner.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/IGXMLScanner.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- IGXMLScanner.cpp 5 Feb 2003 22:07:19 -0000 1.8 +++ IGXMLScanner.cpp 21 Mar 2003 15:42:36 -0000 1.9 @@ -2701,6 +2701,8 @@ , const short grammarType , const bool toCache) { + Grammar* loadedGrammar = 0; + try { fGrammarResolver->cacheGrammarFromParse(false); @@ -2719,10 +2721,10 @@ fSeeXsi = false; if (grammarType == Grammar::SchemaGrammarType) { - return loadXMLSchemaGrammar(src, toCache); + loadedGrammar = loadXMLSchemaGrammar(src, toCache); } else if (grammarType == Grammar::DTDGrammarType) { - return loadDTDGrammar(src, toCache); + loadedGrammar = loadDTDGrammar(src, toCache); } // Reset the reader manager to close all files, sockets, etc... @@ -2790,7 +2792,7 @@ throw; } - return 0; + return loadedGrammar; } Grammar* IGXMLScanner::loadDTDGrammar(const InputSource& src, 1.9 +5 -3 xml-xerces/c/src/xercesc/internal/DGXMLScanner.cpp Index: DGXMLScanner.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/DGXMLScanner.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- DGXMLScanner.cpp 5 Feb 2003 22:07:18 -0000 1.8 +++ DGXMLScanner.cpp 21 Mar 2003 15:42:36 -0000 1.9 @@ -1555,6 +1555,8 @@ , const short grammarType , const bool toCache) { + Grammar* loadedGrammar = 0; + try { fGrammarResolver->cacheGrammarFromParse(false); @@ -1572,7 +1574,7 @@ fHasNoDTD = true; if (grammarType == Grammar::DTDGrammarType) { - return loadDTDGrammar(src, toCache); + loadedGrammar = loadDTDGrammar(src, toCache); } // Reset the reader manager to close all files, sockets, etc... @@ -1640,7 +1642,7 @@ throw; } - return 0; + return loadedGrammar; } Grammar* DGXMLScanner::loadDTDGrammar(const InputSource& src,
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]