improved handling for invalid MUSRFITPATH

This commit is contained in:
nemu
2010-01-05 10:13:12 +00:00
parent 5c05a34282
commit 6f49067095
4 changed files with 69 additions and 30 deletions

View File

@ -172,14 +172,9 @@ int main(int argc, char *argv[])
char startup_path_name[128];
TSAXParser *saxParser = new TSAXParser();
PStartupHandler *startupHandler = new PStartupHandler();
strcpy(startup_path_name, startupHandler->GetStartupFilePath().Data());
saxParser->ConnectToHandler("PStartupHandler", startupHandler);
status = saxParser->ParseFile(startup_path_name);
// check for parse errors
if (status) { // error
cout << endl << "**WARNING** reading/parsing musrfit_startup.xml failed.";
cout << endl;
/*
if (!startupHandler->StartupFileFound()) {
cerr << endl << "**WARNING** couldn't find " << startupHandler->GetStartupFilePath().Data();
cerr << endl;
// clean up
if (saxParser) {
delete saxParser;
@ -189,9 +184,25 @@ int main(int argc, char *argv[])
delete startupHandler;
startupHandler = 0;
}
*/
} else {
strcpy(startup_path_name, startupHandler->GetStartupFilePath().Data());
saxParser->ConnectToHandler("PStartupHandler", startupHandler);
status = saxParser->ParseFile(startup_path_name);
// check for parse errors
if (status) { // error
cerr << endl << "**WARNING** reading/parsing musrfit_startup.xml.";
cerr << endl;
// clean up
if (saxParser) {
delete saxParser;
saxParser = 0;
}
if (startupHandler) {
delete startupHandler;
startupHandler = 0;
}
}
}
startupHandler->CheckLists();
// read msr-file
PMsrHandler *msrHandler = new PMsrHandler(filename);