MCPcopy Create free account
hub / github.com/Scobalula/Greyhound / InitCKeyArray

Function InitCKeyArray

src/External/CascLib/src/CascOpenStorage.cpp:355–381  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

353}
354
355static DWORD InitCKeyArray(TCascStorage * hs)
356{
357 size_t nNumberOfFiles = GetEstimatedNumberOfFiles(hs);
358 DWORD dwErrCode;
359
360 //
361 // Allocate array and map of CKey entries
362 //
363
364 // Create the array of CKey items
365 dwErrCode = hs->CKeyArray.Create(sizeof(CASC_CKEY_ENTRY), nNumberOfFiles);
366 if(dwErrCode != ERROR_SUCCESS)
367 return dwErrCode;
368
369 // Create the map CKey -> CASC_CKEY_ENTRY
370 dwErrCode = hs->CKeyMap.Create(nNumberOfFiles, MD5_HASH_SIZE, FIELD_OFFSET(CASC_CKEY_ENTRY, CKey));
371 if(dwErrCode != ERROR_SUCCESS)
372 return dwErrCode;
373
374 // Create the map CKey -> CASC_CKEY_ENTRY. Note that TVFS root references files
375 // using 9-byte EKey, so cut the search EKey length to 9 bytes
376 dwErrCode = hs->EKeyMap.Create(nNumberOfFiles, CASC_EKEY_SIZE, FIELD_OFFSET(CASC_CKEY_ENTRY, EKey));
377 if(dwErrCode != ERROR_SUCCESS)
378 return dwErrCode;
379
380 return ERROR_SUCCESS;
381}
382
383int CaptureEncodingHeader(CASC_ENCODING_HEADER & EnHeader, LPBYTE pbFileData, size_t cbFileData)
384{

Callers 1

LoadCascStorageFunction · 0.85

Calls 2

CreateMethod · 0.45

Tested by

no test coverage detected