]> git.sesse.net Git - freerainbowtables/blobdiff - BOINC software/BOINC client apps/distrrtgen/distrrtgen.cpp
remove (int) cast that was unnecessary and incorrect
[freerainbowtables] / BOINC software / BOINC client apps / distrrtgen / distrrtgen.cpp
index 527151206f67e6bc8e786ad0b4cf941843d4a116..8245a6bb25cb49a514fe718a68053a5fdd88f3db 100644 (file)
@@ -58,9 +58,6 @@
 #include "Public.h"
 // Rainbowcrack code
 #include "ChainWalkContext.h"
-typedef unsigned int uint32;
-//typedef unsigned __int64 uint64;
-
 
 using std::string;
 
@@ -72,7 +69,7 @@ double cpu_time = 20, comp_result;
 */
 int QuickSortPartition(RainbowChainCP* pChain, int nLow, int nHigh)
 {
-       int nRandomIndex = nLow + ((unsigned int)rand() * (RAND_MAX + 1) + (unsigned int)rand()) % (nHigh - nLow + 1);
+       int nRandomIndex = nLow + ((uint32)rand() * ((uint32)RAND_MAX + 1) + (uint32)rand()) % (nHigh - nLow + 1);
        RainbowChainCP TempChain;
        TempChain = pChain[nLow];
        pChain[nLow] = pChain[nRandomIndex];
@@ -147,7 +144,7 @@ int main(int argc, char **argv) {
        nChainStart = atoll(argv[8]);
 #endif
        sCheckPoints = argv[9];
-       vector<int> vCPPositions;
+       vector<uint32> vCPPositions;
        char *cp = strtok((char *)sCheckPoints.c_str(), ",");
        while(cp != NULL)
        {
@@ -226,30 +223,30 @@ int main(int argc, char **argv) {
        unsigned int nFileLen;
        
        // Round to boundary
-       nDataLen = nDataLen / 18 * 18;
-       if ((int)nDataLen == nRainbowChainCount * 18)
+       nDataLen = nDataLen / 10 * 10;
+       if (nDataLen == nRainbowChainCount * 10)
        {               
                std::cerr << "precomputation of this rainbow table already finished" << std::endl;
                fclose(outfile);
                return 0;
        }
-       nChainStart += (nDataLen / 18);
+       nChainStart += (nDataLen / 10);
        fseek(outfile, nDataLen, SEEK_SET);
        size_t nReturn;
        CChainWalkContext cwc;
        uint64 nIndex[2];
        time_t tStart = time(NULL);
 //     std::cout << "Starting to generate chains" << std::endl;
-       for(int nCurrentCalculatedChains = nDataLen / 18; nCurrentCalculatedChains < nRainbowChainCount; nCurrentCalculatedChains++)
+       for(uint32 nCurrentCalculatedChains = nDataLen / 10; nCurrentCalculatedChains < nRainbowChainCount; nCurrentCalculatedChains++)
        {               
-               int cpcheck = 0;
+               uint32 cpcheck = 0;
                unsigned short checkpoint = 0;
                fd = (double)nCurrentCalculatedChains / (double)nRainbowChainCount;
                boinc_fraction_done(fd);
                cwc.SetIndex(nChainStart++); // use a given index now!
                nIndex[0] = cwc.GetIndex();
                
-               for (int nPos = 0; nPos < nRainbowChainLen - 1; nPos++)
+               for (uint32 nPos = 0; nPos < nRainbowChainLen - 1; nPos++)
                {
                //      std::cout << "IndexToPlain()" << std::endl;
                        cwc.IndexToPlain();
@@ -268,7 +265,7 @@ int main(int argc, char **argv) {
 
                nIndex[1] = cwc.GetIndex();
                // Write chain to disk
-               if ((nReturn = fwrite(nIndex, 1, 16, outfile)) != 16)
+               if ((nReturn = fwrite(&nIndex[1], 1, 8, outfile)) != 8)
                {
                        std::cerr << "disk write fail" << std::endl;
                        fclose(outfile);
@@ -283,7 +280,7 @@ int main(int argc, char **argv) {
 //             fflush(file);
        }
        //std::cout << "Generation completed" << std::endl;
-    fseek(outfile, 0, SEEK_SET);
+/*    fseek(outfile, 0, SEEK_SET);
        nFileLen = GetFileLen(outfile);
        nRainbowChainCount = nFileLen / 18;
 
@@ -293,7 +290,7 @@ int main(int argc, char **argv) {
        {
                // Load file
                fseek(outfile, 0, SEEK_SET);
-               for(int i = 0; i < nRainbowChainCount; i++)
+               for(uint32 i = 0; i < nRainbowChainCount; i++)
                {
                        if(fread(&pChain[i], 1, 16, outfile) != 16)
                        {
@@ -308,18 +305,18 @@ int main(int argc, char **argv) {
                }
 
                // Sort file
-               QuickSort(pChain, 0, nRainbowChainCount - 1);
+               //QuickSort(pChain, 0, nRainbowChainCount - 1);
 
                // Write file
                fseek(outfile, 0, SEEK_SET);
-               for(int i = 0; i < nRainbowChainCount; i++)
+               for(uint32 i = 0; i < nRainbowChainCount; i++)
                {
-                       fwrite(&pChain[i], 1, 16, outfile);
+                       fwrite(&pChain[i].nIndexE, 1, 8, outfile);
                        fwrite(&pChain[i].nCheckPoint, 2, 1, outfile);
                }
                delete[] pChain;
        }
-
+*/
        fclose(outfile);
     
        // main loop - read characters, convert to UC, write