use exceptions in FML

This commit is contained in:
Eduardo Bart
2011-05-21 19:24:10 -03:00
parent c3e67fceb9
commit d7bc083014
14 changed files with 306 additions and 175 deletions

View File

@@ -36,14 +36,14 @@ bool Configs::load(const std::string& fileName)
if(!g_resources.loadFile(fileName, fin))
return false;
FML::Parser parser;
if(parser.load(fin)) {
try {
FML::Parser parser(fin, fileName);
FML::Node* doc = parser.getDocument();
foreach(FML::Node* node, *doc)
m_confsMap[node->tag()] = node->value();
} else {
flogError("ERROR: Malformed config file: %s", parser.getErrorMessage());
} catch(FML::Exception e) {
flogError("ERROR: Malformed config file: %s", e.what());
return false;
}

View File

@@ -118,7 +118,7 @@ bool Resources::loadFile(const std::string& fileName, std::iostream& out)
char *buffer = new char[fileSize];
PHYSFS_read(file, (void*)buffer, 1, fileSize);
out.write(buffer, fileSize);
delete buffer;
delete[] buffer;
} else
out.clear(std::ios::eofbit);
PHYSFS_close(file);