X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCReplayData.cpp;h=747c601e5d01570df84e70135d21e8e2be718dc8;hb=6671923e966e5fb82eeac52be174fb6295dc9ee7;hp=218fff1967b63efcc4d59703ee7644f84624cff4;hpb=a882955f339b23b5e61f92ef7cb5aae76405d95b;p=quix0rs-blobwars.git diff --git a/src/CReplayData.cpp b/src/CReplayData.cpp index 218fff1..747c601 100644 --- a/src/CReplayData.cpp +++ b/src/CReplayData.cpp @@ -13,7 +13,7 @@ ReplayData::ReplayData() header.version = VERSION; header.release = RELEASE; - strcpy(filename, ""); + filename[0] = 0; } ReplayData::~ReplayData() @@ -22,7 +22,12 @@ ReplayData::~ReplayData() { save(); rewind(fp); - fwrite(&header, sizeof(ReplayDataHeader), 1, fp); + int size = fwrite(&header, sizeof(ReplayDataHeader), 1, fp); + if (size != 1) + { + printf("Error saving replay data: %s\n", strerror(errno)); + exit(1); + } } if (replayMode != REPLAY_MODE::NONE) @@ -62,14 +67,14 @@ void ReplayData::setMode(REPLAY_MODE::TYPE replayMode) if (!fp) { printf("ERROR: Replay file '%s' could not be loaded.\n", filename); - replayMode = REPLAY_MODE::NONE; + this->replayMode = REPLAY_MODE::NONE; return; } if (fread(&header, sizeof(ReplayDataHeader), 1, fp) != 1) { printf("ERROR: Replay file '%s' is corrupt\n", filename); - replayMode = REPLAY_MODE::NONE; + this->replayMode = REPLAY_MODE::NONE; fclose(fp); return; } @@ -92,13 +97,21 @@ void ReplayData::setMode(REPLAY_MODE::TYPE replayMode) if (!fp) { printf("ERROR: Replay file '%s' could not be opened for writing.\n", filename); - replayMode = REPLAY_MODE::NONE; + this->replayMode = REPLAY_MODE::NONE; return; } swapHeaderEndians(); - fwrite(&header, sizeof(ReplayDataHeader), 1, fp); + int size = fwrite(&header, sizeof(ReplayDataHeader), 1, fp); + if (size != 1) + { + printf("Error writing replay data header: %s\n", strerror(errno)); + this->replayMode = REPLAY_MODE::NONE; + fclose(fp); + fp = NULL; + return; + } reset(); }