]> git.mxchange.org Git - simgear.git/commitdiff
easyxml.cxx: add missing endXML visitor call
authormfranz <mfranz>
Fri, 29 Jun 2007 10:46:52 +0000 (10:46 +0000)
committermfranz <mfranz>
Fri, 29 Jun 2007 10:46:52 +0000 (10:46 +0000)
testEasyXML.cxx: beef it up

simgear/xml/easyxml.cxx
simgear/xml/testEasyXML.cxx

index cb6ee263eb27786684f079d1735d3674399c2091..0aa71b18612cb3af5a814564785f2ebf0bde5ab2 100644 (file)
@@ -258,6 +258,7 @@ readXML (istream &input, XMLVisitor &visitor, const string &path)
   }
 
   XML_ParserFree(parser);
+  visitor.endXML();
 }
 
 void
@@ -303,6 +304,7 @@ readXML (const char *buf, const int size, XMLVisitor &visitor)
   }
 
   XML_ParserFree(parser);
+  visitor.endXML();
 }
 
 // end of easyxml.cxx
index 4d6954f44746be7230f271771f105b46b5c9070a..0c1f99c101ab905fac9062e48dc36bc424f72ecc 100644 (file)
@@ -42,15 +42,24 @@ public:
   }
 };
 
-main (int ac, const char ** av)
+int main (int ac, const char ** av)
 {
   MyVisitor visitor;
 
   for (int i = 1; i < ac; i++) {
     ifstream input(av[i]);
     cout << "Reading " << av[i] << endl;
-    if (!readXML(input, visitor)) {
+    try {
+      readXML(input, visitor);
+
+    } catch (const sg_exception& e) {
+      cerr << "Error: file '" << av[i] << "' " << e.getFormattedMessage() << endl;
+      return -1;
+
+    } catch (...) {
       cerr << "Error reading from " << av[i] << endl;
+      return -1;
     }
   }
+  return 0;
 }