diff options
author | unknown <E:\Ladik\Mail> | 2015-03-13 17:06:51 +0100 |
---|---|---|
committer | unknown <E:\Ladik\Mail> | 2015-03-13 17:06:51 +0100 |
commit | c2261d51033088429ba960879dd4d9731e6f9bc1 (patch) | |
tree | 3b4d2e12b505721b3957879430b02e42e12ab1f7 /src/SFileGetFileInfo.cpp | |
parent | 13c889a84d51692ea3f42e19f04c394bd2caf35d (diff) |
+ Support for MPQ.KangTooJee map protector
+ Compacting optimized
Diffstat (limited to 'src/SFileGetFileInfo.cpp')
-rw-r--r-- | src/SFileGetFileInfo.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/SFileGetFileInfo.cpp b/src/SFileGetFileInfo.cpp index e93aff1..9cf8038 100644 --- a/src/SFileGetFileInfo.cpp +++ b/src/SFileGetFileInfo.cpp @@ -376,11 +376,12 @@ bool WINAPI SFileGetFileInfo( if(ha != NULL) { nInfoType = SFILE_INFO_TYPE_NOT_FOUND; - if(ha->pHashTable != NULL) + if(MAKE_OFFSET64(ha->pHeader->wHashTablePosHi, ha->pHeader->dwHashTablePos) != 0) { - pvSrcFileInfo = ha->pHashTable; cbSrcFileInfo = ha->pHeader->dwHashTableSize * sizeof(TMPQHash); - nInfoType = SFILE_INFO_TYPE_DIRECT_POINTER; + if(cbFileInfo >= cbSrcFileInfo) + pvSrcFileInfo = LoadHashTable(ha); + nInfoType = SFILE_INFO_TYPE_ALLOCATED; } } break; |