FILE* file = fopen(sPathName.c_str(), "rb");\r
if (file != NULL)\r
{\r
+ // XXX file type detection code needs a serious overhaul\r
// File length check\r
bool doOldFormat = CChainWalkContext::isOldFormat();\r
bool doRti2Format = CChainWalkContext::isRti2Format();\r
else\r
sizeOfChain = 8;\r
\r
- //if (nFileLen % 8 != 0 || nRainbowChainCount * 8 != nFileLen)\r
if ( ( (unsigned long)nFileLen % sizeOfChain != 0 || nRainbowChainCount * sizeOfChain != (unsigned long)nFileLen) && doRti2Format == false )\r
printf("file length mismatch\n");\r
else\r
{\r
RTI2Reader *pReader = NULL;\r
\r
- if(doRti2Format) {\r
- pReader = new RTI2Reader(sPathName);\r
-\r
- }\r
+ if(doRti2Format)\r
\r
if (debug)\r
{\r
\r
static CMemoryPool mp(bytesForChainWalkSet, debug, maxMem);\r
RainbowChainO* pChain = NULL;\r
- if(doRti2Format) {\r
+ if(doRti2Format)\r
pChain = (RainbowChainO*)mp.Allocate(pReader->GetChainsLeft() * 16, nAllocatedSize);\r
- } else {\r
+ else\r
pChain = (RainbowChainO*)mp.Allocate(nFileLen, nAllocatedSize);\r
- }\r
+\r
#if defined(_WIN32) && !defined(__GNUC__)\r
if (debug) printf("Allocated %I64 bytes, filelen %ld\n", nAllocatedSize, nFileLen);\r
#else\r
printf("%u bytes read, disk access time: %.2f s\n", nDataRead, fTime);\r
m_fTotalDiskAccessTime += fTime;\r
\r
- int nRainbowChainCountRead = nDataRead / 16;\r
+ int nRainbowChainCountRead;\r
\r
- if(doRti2Format) {\r
+ if(doRti2Format)\r
nRainbowChainCountRead = nDataRead / 8;\r
- }\r
+ else\r
+ nRainbowChainCountRead = nDataRead / 16;\r
\r
// Verify table chunk\r
if (!fVerified)\r
{\r
nAllocatedSize = nAllocatedSize / sizeOfChain * sizeOfChain; // Round to sizeOfChain boundary\r
\r
- //fseek(file, 0, SEEK_SET);\r
//bool fVerified = false;\r
uint32 nProcessedChains = 0;\r
while ( ftell(file) != nFileLen \r
// Reset statistics\r
ResetStatistics();\r
\r
+ // XXX it's not like the STL has a sort method...\r
// Sort vPathName (CChainWalkSet need it)\r
uint32 i, j;\r
for (i = 0; i < vPathName.size() - 1; i++)\r
return m_fTotalPrecalculationTime;\r
}\r
\r
-int CCrackEngine::GetStatTotalChainWalkStep()\r
+uint64 CCrackEngine::GetStatTotalChainWalkStep()\r
{\r
return m_nTotalChainWalkStep;\r
}\r
return m_nTotalFalseAlarm;\r
}\r
\r
-int CCrackEngine::GetStatTotalChainWalkStepDueToFalseAlarm()\r
+uint64 CCrackEngine::GetStatTotalChainWalkStepDueToFalseAlarm()\r
{\r
return m_nTotalChainWalkStepDueToFalseAlarm;\r
}\r