From 68ccf1be6ee3bcbd19626198d9570a0d9825dcd0 Mon Sep 17 00:00:00 2001 From: MusicalProgrammer Date: Tue, 5 Nov 2019 21:24:01 -0500 Subject: [PATCH] More file error handling. --- DataModelInstance.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/DataModelInstance.cpp b/DataModelInstance.cpp index 4ac99a0..d52d3dc 100644 --- a/DataModelInstance.cpp +++ b/DataModelInstance.cpp @@ -423,10 +423,19 @@ bool DataModelInstance::readXMLFileStream(std::ifstream* file) { file->seekg(0,file->end); int length = file->tellg(); + if (length<0) + MessageBoxStr("File is empty"); file->seekg(0,file->beg); char * buffer = new char[length+1]; buffer[length]=0; + file->read(buffer,length); + if (!file) + { + stringstream msg; + msg << "Something went wrong." << endl << strerror(errno); + MessageBoxStr(msg.str()); + } file->close(); xml_document<> doc; doc.parse<0>(buffer);