Here's an update to what I've discovered - hopefully someone can give me a hint 
on some
questions I have.

First, I've added some output statements in easyxml.cxx, in this version of the 
readXML()
function:

-------------------
------ start ------
-------------------

void
readXML (istream &input, XMLVisitor &visitor, const string &path)
{
  XML_Parser parser = XML_ParserCreate(0);
  XML_SetUserData(parser, &visitor);
  XML_SetElementHandler(parser, start_element, end_element);
  XML_SetCharacterDataHandler(parser, character_data);
  XML_SetProcessingInstructionHandler(parser, processing_instruction);


  visitor.startXML();

  char buf[16384];
  while (!input.eof()) {
cout << "A-1" << endl;

    if (!input.good()) {
cout << "A-2" << endl;

      XML_ParserFree(parser);
cout << "A-3" << endl;

      throw sg_io_exception("Problem reading file",
                            sg_location(path,
                                        XML_GetCurrentLineNumber(parser),
                                        XML_GetCurrentColumnNumber(parser)),
                            "SimGear XML Parser");
cout << "A-4" << endl;

    }

-------------------
------  end  ------
-------------------

The above code fails when called from the JSBSim Load() function on FGPropulsion
(simplified):

-------------------
------ start ------
-------------------

  Element* engine_element = el->FindElement("engine");

  while (engine_element) {
    engine_filename = engine_element->GetAttributeValue("file");
    ...
    engine_file_parser = new FGXMLParse();
    engine_filename = FindEngineFullPathname(engine_filename);
    readXML(engine_filename, *engine_file_parser);
    ...
    Element* engine_element = el->FindNextElement("engine");
  }
-------------------
------  end  ------
-------------------

When I run FlightGear I get this:

 A-1
 A-2
 A-3
 FlightGear aborting

And that's all I get. I'm wondering why I don't get a message from the thrown 
simgear
exception? Why would input.good() return false?

Let me restate that this all works fine in JSBSim standalone.

Jon


_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d

Reply via email to