aboutsummaryrefslogtreecommitdiff
path: root/sky/disk.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sky/disk.cpp')
-rw-r--r--sky/disk.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/sky/disk.cpp b/sky/disk.cpp
index 2fd4917048..104f453653 100644
--- a/sky/disk.cpp
+++ b/sky/disk.cpp
@@ -167,7 +167,8 @@ uint8 *Disk::loadFile(uint16 fileNr) {
#endif
memcpy(uncompDest, fileDest, sizeof(dataFileHeader));
unpackLen = rncDecoder.unpackM1(fileDest + sizeof(dataFileHeader), uncompDest + sizeof(dataFileHeader), 0);
- unpackLen += sizeof(dataFileHeader);
+ if (unpackLen)
+ unpackLen += sizeof(dataFileHeader);
}
debug(3, "UnpackM1 returned: %d", unpackLen);
@@ -177,7 +178,7 @@ uint8 *Disk::loadFile(uint16 fileNr) {
return fileDest;
} else {
if (unpackLen != (int32)decompSize)
- debug(1, "ERROR: invalid decomp size! (was: %d, should be: %d)", unpackLen, decompSize);
+ debug(1, "ERROR: File %d: invalid decomp size! (was: %d, should be: %d)", fileNr, unpackLen, decompSize);
_lastLoadedFileSize = decompSize;
free(fileDest);