From b93340681803c14a62733748ed7ce3556e99b39d Mon Sep 17 00:00:00 2001 From: andy Date: Fri, 15 Mar 2002 19:02:07 +0000 Subject: [PATCH] Print an error message before terminating on parse errors. --- src/FDM/YASim/FGFDM.cpp | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/FDM/YASim/FGFDM.cpp b/src/FDM/YASim/FGFDM.cpp index 4fa0cee11..dc34a0759 100644 --- a/src/FDM/YASim/FGFDM.cpp +++ b/src/FDM/YASim/FGFDM.cpp @@ -275,7 +275,9 @@ void FGFDM::startElement(const char* name, const XMLAttributes &atts) cm->setTransitionTime(handle, time); } else { - *(int*)0=0; // unexpected tag, boom + SG_LOG(SG_FLIGHT,SG_ALERT,"Unexpected tag '" + << name << "' found in YASim aircraft description"); + exit(1); } } @@ -493,7 +495,10 @@ int FGFDM::parseOutput(const char* name) if(eq(name, "FLAP1")) return ControlMap::FLAP1; if(eq(name, "SLAT")) return ControlMap::SLAT; if(eq(name, "SPOILER")) return ControlMap::SPOILER; - *(int*)0=0; + SG_LOG(SG_FLIGHT,SG_ALERT,"Unrecognized control type '" + << name << "' in YASim aircraft description."); + exit(1); + } void FGFDM::parseWeight(XMLAttributes* a) @@ -532,7 +537,11 @@ char* FGFDM::dup(const char* s) int FGFDM::attri(XMLAttributes* atts, char* attr) { - if(!atts->hasAttribute(attr)) *(int*)0=0; // boom + if(!atts->hasAttribute(attr)) { + SG_LOG(SG_FLIGHT,SG_ALERT,"Missing '" << attr << + "' in YASim aircraft description"); + exit(1); + } return attri(atts, attr, 0); } @@ -545,7 +554,11 @@ int FGFDM::attri(XMLAttributes* atts, char* attr, int def) float FGFDM::attrf(XMLAttributes* atts, char* attr) { - if(!atts->hasAttribute(attr)) *(int*)0=0; // boom + if(!atts->hasAttribute(attr)) { + SG_LOG(SG_FLIGHT,SG_ALERT,"Missing '" << attr << + "' in YASim aircraft description"); + exit(1); + } return attrf(atts, attr, 0); } -- 2.39.5