summaryrefslogtreecommitdiff
path: root/games/glest/glest-xerces-c.patch
diff options
context:
space:
mode:
Diffstat (limited to 'games/glest/glest-xerces-c.patch')
-rw-r--r--games/glest/glest-xerces-c.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/games/glest/glest-xerces-c.patch b/games/glest/glest-xerces-c.patch
new file mode 100644
index 0000000000..f7582060b3
--- /dev/null
+++ b/games/glest/glest-xerces-c.patch
@@ -0,0 +1,41 @@
+--- source/shared_lib/sources/xml/xml_parser.cpp.old 2008-02-16 16:01:28.000000000 +0300
++++ source/shared_lib/sources/xml/xml_parser.cpp 2009-03-19 18:28:08.000000000 +0300
+@@ -87,10 +87,17 @@
+
+ try{
+ ErrorHandler errorHandler;
++#if XERCES_VERSION_MAJOR < 3
+ DOMBuilder *parser= (static_cast<DOMImplementationLS*>(implementation))->createDOMBuilder(DOMImplementationLS::MODE_SYNCHRONOUS, 0);
+ parser->setErrorHandler(&errorHandler);
+ parser->setFeature(XMLUni::fgXercesSchemaFullChecking, true);
+ parser->setFeature(XMLUni::fgDOMValidation, true);
++#else
++ DOMLSParser *parser = (static_cast<DOMImplementationLS*>(implementation))->createLSParser(DOMImplementationLS::MODE_SYNCHRONOUS, 0);
++ DOMConfiguration *config = parser->getDomConfig();
++ config->setParameter(XMLUni::fgXercesSchemaFullChecking, true);
++ config->setParameter(XMLUni::fgDOMValidate, true);
++#endif
+ DOMDocument *document= parser->parseURI(path.c_str());
+
+ if(document==NULL){
+@@ -119,9 +126,20 @@
+ }
+
+ LocalFileFormatTarget file(path.c_str());
++#if XERCES_VERSION_MAJOR < 3
+ DOMWriter* writer = implementation->createDOMWriter();
+ writer->setFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true);
+ writer->writeNode(&file, *document);
++#else
++ DOMLSSerializer *serializer = implementation->createLSSerializer();
++ DOMLSOutput* output=implementation->createLSOutput();
++ DOMConfiguration* config=serializer->getDomConfig();
++ config->setParameter(XMLUni::fgDOMWRTFormatPrettyPrint,true);
++ output->setByteStream(&file);
++ serializer->write(document,output);
++ output->release();
++ serializer->release();
++#endif
+ document->release();
+ }
+ catch(const DOMException &e){