aboutsummaryrefslogtreecommitdiff
path: root/src/SFileGetFileInfo.cpp
diff options
context:
space:
mode:
authorunknown <E:\Ladik\Mail>2015-04-18 23:12:47 +0200
committerunknown <E:\Ladik\Mail>2015-04-18 23:12:47 +0200
commit68e2c2527db10dcfdd9fdc2219c7fe9784abf738 (patch)
treead00acb4ce162d3a780eabdc67ebcc804591b471 /src/SFileGetFileInfo.cpp
parentd47864c13d4d5015445343f652ef3d3b3b73cb25 (diff)
+ SFileGetFileInfo(SFileMpqHashTable) now returns updated hash table instead of raw table loaded from the file
Diffstat (limited to 'src/SFileGetFileInfo.cpp')
-rw-r--r--src/SFileGetFileInfo.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/SFileGetFileInfo.cpp b/src/SFileGetFileInfo.cpp
index 753d2fd..d6d6da3 100644
--- a/src/SFileGetFileInfo.cpp
+++ b/src/SFileGetFileInfo.cpp
@@ -373,16 +373,11 @@ bool WINAPI SFileGetFileInfo(
case SFileMpqHashTable:
ha = IsValidMpqHandle(hMpqOrFile);
- if(ha != NULL)
+ if(ha != NULL && ha->pHashTable != NULL)
{
- nInfoType = SFILE_INFO_TYPE_NOT_FOUND;
- if(MAKE_OFFSET64(ha->pHeader->wHashTablePosHi, ha->pHeader->dwHashTablePos) != 0)
- {
- cbSrcFileInfo = ha->pHeader->dwHashTableSize * sizeof(TMPQHash);
- if(cbFileInfo >= cbSrcFileInfo)
- pvSrcFileInfo = LoadHashTable(ha);
- nInfoType = SFILE_INFO_TYPE_ALLOCATED;
- }
+ pvSrcFileInfo = ha->pHashTable;
+ cbSrcFileInfo = ha->pHeader->dwHashTableSize * sizeof(TMPQHash);
+ nInfoType = SFILE_INFO_TYPE_DIRECT_POINTER;
}
break;