]> git.sesse.net Git - freerainbowtables/blobdiff - Common/rt api/RTIReader.cpp
Merge branch 'master' of git@gitorious.org:freerainbowtables-applications/freerainbow...
[freerainbowtables] / Common / rt api / RTIReader.cpp
index 5fcb1efa61d891d7e3273395d9fdf0119c3b3ea9..374b062b5696ea6fa54144fff99cfd8eb7b87838 100644 (file)
@@ -17,16 +17,16 @@ RTIReader::RTIReader(string Filename)
        m_chainPosition = 0;
 
        // Load the index file
-       unsigned int nIndexFileLen = GetFileLen(pFileIndex);
-       unsigned int nFileLen = GetFileLen(m_pFile);
+       long nIndexFileLen = GetFileLen(pFileIndex);
+       long nFileLen = GetFileLen(m_pFile);
        unsigned int nTotalChainCount = nFileLen / 8;
        if (nFileLen % 8 != 0)
-               printf("file length mismatch (%u bytes)\n", nFileLen);
+               printf("file length mismatch (%lu bytes)\n", nFileLen);
        else
        {
                // File length check
                if (nIndexFileLen % 11 != 0)
-                       printf("index file length mismatch (%u bytes)\n", nIndexFileLen);
+                       printf("index file length mismatch (%lu bytes)\n", nIndexFileLen);
                else
                {
                        if(m_pIndex != NULL) {
@@ -38,7 +38,7 @@ RTIReader::RTIReader(string Filename)
 #endif
                        m_pIndex = new (nothrow) IndexChain[nIndexFileLen / 11];
                        if(m_pIndex == NULL) {
-                               printf("\nFailed allocating %i MB memory.\n", nIndexFileLen / 11 / (1024 * 1024));
+                               printf("\nFailed allocating %ld MB memory.\n", nIndexFileLen / 11 / (1024 * 1024));
                                exit(-2);
                        }
 #ifdef _MEMORYDEBUG
@@ -46,9 +46,9 @@ RTIReader::RTIReader(string Filename)
 #endif                 
                        memset(m_pIndex, 0x00, sizeof(IndexChain) * (nIndexFileLen / 11));
                        fseek(pFileIndex, 0, SEEK_SET);
-                       int nRead = 0;
-                       UINT4 nRows;
-                       for(nRows = 0; (nRows * 11) < nIndexFileLen; nRows++)
+                       //int nRead = 0;
+                       uint32 nRows;
+                       for(nRows = 0; (nRows * 11) < (uint32)nIndexFileLen; nRows++)
                        {
                                if(fread(&m_pIndex[nRows].nPrefix, 5, 1, pFileIndex) != 1) break;                                                       
                                if(fread(&m_pIndex[nRows].nFirstChain, 4, 1, pFileIndex) != 1) break;                                                   
@@ -112,15 +112,17 @@ int RTIReader::ReadChains(unsigned int &numChains, RainbowChain *pData)
                }
                if(readChains == numChains) break;              
        }
-       if(readChains != numChains) numChains = readChains; // Update how many chains we read
+       if(readChains != numChains) { 
+               numChains = readChains; // Update how many chains we read
+       }
        m_chainPosition += readChains;
+       printf("Chain position is now %u\n", m_chainPosition);
        return 0;
 }
 
-unsigned int RTIReader::GetChainsLeft()
-{
-       int len = GetFileLen(m_pFile) / 8 - m_chainPosition;
-       return len;
+UINT4 RTIReader::GetChainsLeft()
+{      
+       return (GetFileLen(m_pFile) / 8) - m_chainPosition;
 }
 
 RTIReader::~RTIReader(void)