More file error handling.

This commit is contained in:
MusicalProgrammer
2019-11-05 21:24:01 -05:00
parent 6eed189855
commit 68ccf1be6e

View File

@@ -423,10 +423,19 @@ bool DataModelInstance::readXMLFileStream(std::ifstream* file)
{ {
file->seekg(0,file->end); file->seekg(0,file->end);
int length = file->tellg(); int length = file->tellg();
if (length<0)
MessageBoxStr("File is empty");
file->seekg(0,file->beg); file->seekg(0,file->beg);
char * buffer = new char[length+1]; char * buffer = new char[length+1];
buffer[length]=0; buffer[length]=0;
file->read(buffer,length); file->read(buffer,length);
if (!file)
{
stringstream msg;
msg << "Something went wrong." << endl << strerror(errno);
MessageBoxStr(msg.str());
}
file->close(); file->close();
xml_document<> doc; xml_document<> doc;
doc.parse<0>(buffer); doc.parse<0>(buffer);