diff options
-rw-r--r-- | src/server/shared/DataStores/DB2StorageLoader.cpp | 51 |
1 files changed, 26 insertions, 25 deletions
diff --git a/src/server/shared/DataStores/DB2StorageLoader.cpp b/src/server/shared/DataStores/DB2StorageLoader.cpp index 062cc251450..f4a1518a255 100644 --- a/src/server/shared/DataStores/DB2StorageLoader.cpp +++ b/src/server/shared/DataStores/DB2StorageLoader.cpp @@ -124,37 +124,38 @@ bool DB2FileLoader::Load(const char *filename, const char *fmt) EndianConvert(unk1); - if (build > 12880) + if (fread(&minIndex, 4, 1, f) != 1) // MinIndex WDB2 { - if (fread(&minIndex, 4, 1, f) != 1) // MinIndex WDB2 - { - fclose(f); - return false; - } - EndianConvert(minIndex); + fclose(f); + return false; + } - if (fread(&maxIndex, 4, 1, f) != 1) // MaxIndex WDB2 - { - fclose(f); - return false; - } - EndianConvert(maxIndex); + EndianConvert(minIndex); - if (fread(&locale, 4, 1, f) != 1) // Locales - { - fclose(f); - return false; - } - EndianConvert(locale); + if (fread(&maxIndex, 4, 1, f) != 1) // MaxIndex WDB2 + { + fclose(f); + return false; + } - if (fread(&unk5, 4, 1, f) != 1) // Unknown WDB2 - { - fclose(f); - return false; - } - EndianConvert(unk5); + EndianConvert(maxIndex); + + if (fread(&locale, 4, 1, f) != 1) // Locales + { + fclose(f); + return false; } + EndianConvert(locale); + + if (fread(&unk5, 4, 1, f) != 1) // Unknown WDB2 + { + fclose(f); + return false; + } + + EndianConvert(unk5); + if (maxIndex != 0) { int32 diff = maxIndex - minIndex + 1; |