#include <time.h>
#include <math.h>
#include <vector>
+#include <conio.h>
#include "Public.h"
#include "MemoryPool.h"
using namespace std;
//printf("Diffsize is %u\n", diffSize);
// then write the distance amount of 00's
+ if(diffSize > 1000) {
+ printf("WARNING! The distance to the next prefix is %i. Do you want to continue writing %i bytes of 0x00? Press y to continue", diffSize, diffSize);
+ if(getch() != 'y') {
+ printf("Aborting...");
+ exit(1);
+ }
+ }
for(int j = 1; j < diffSize; j++)
{
fwrite(&zero, 1, m_indexrowsizebytes, pFileIndex);
sResultFile = vPathName[i].substr(n+1, vPathName[i].length()) + "i2";
else
sResultFile = vPathName[i] + "i2"; // Resulting file is .rt, not .rti
- printf("Using %i of 64 bits\n", (sptl + eptl + usecp));
+ printf("Using %i of 64 bits. sptl: %i, eptl: %i, cp: %i. Chains will be %i bytes in size\n", (sptl + eptl + usecp), sptl, eptl, usecp, ((sptl + eptl + usecp) / 8));
if(sptl + eptl + usecp > 64)
{
exit(1);
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="../../rt api"
+ AdditionalIncludeDirectories="../../Common/rt api"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories="../../rt api"
+ AdditionalIncludeDirectories="../../Common/rt api"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
>
</File>
<File
- RelativePath="..\..\rt api\MemoryPool.cpp"
+ RelativePath="..\..\Common\rt api\MemoryPool.cpp"
>
</File>
<File
- RelativePath=".\Public.cpp"
+ RelativePath="..\..\Common\rt api\Public.cpp"
>
</File>
</Filter>
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
- RelativePath="..\..\rt api\MemoryPool.h"
+ RelativePath="..\..\Common\rt api\MemoryPool.h"
>
</File>
<File
- RelativePath=".\Public.h"
+ RelativePath="..\..\Common\rt api\Public.h"
>
</File>
</Filter>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="../../rt api"
+ AdditionalIncludeDirectories="../../common/rt api"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories="..\..\rt api"
+ AdditionalIncludeDirectories="../../common/rt api"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
- RelativePath="..\..\rt api\BaseRTReader.cpp"
+ RelativePath="..\..\Common\rt api\BaseRTReader.cpp"
>
</File>
<File
- RelativePath="..\..\rt api\MemoryPool.cpp"
+ RelativePath="..\..\Common\rt api\MemoryPool.cpp"
>
</File>
<File
- RelativePath="..\converti2\Public.cpp"
+ RelativePath="..\..\Common\rt api\Public.cpp"
>
</File>
<File
- RelativePath="..\..\rt api\RTI2Reader.cpp"
+ RelativePath="..\..\Common\rt api\RTI2Reader.cpp"
>
</File>
<File
>
</File>
<File
- RelativePath="..\..\rt api\RTIReader.cpp"
+ RelativePath="..\..\Common\rt api\RTIReader.cpp"
>
</File>
<File
- RelativePath="..\..\rt api\RTReader.cpp"
+ RelativePath="..\..\Common\rt api\RTReader.cpp"
>
</File>
</Filter>
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
- RelativePath="..\..\rt api\BaseRTReader.h"
+ RelativePath="..\..\Common\rt api\BaseRTReader.h"
>
</File>
<File
- RelativePath="..\..\rt api\MemoryPool.h"
+ RelativePath="..\..\Common\rt api\MemoryPool.h"
>
</File>
<File
- RelativePath="..\converti2\Public.h"
+ RelativePath="..\..\Common\rt api\Public.h"
>
</File>
<File
- RelativePath="..\..\rt api\RTI2Reader.h"
+ RelativePath="..\..\Common\rt api\RTI2Reader.h"
>
</File>
<File
- RelativePath="..\..\rt api\RTIReader.h"
+ RelativePath="..\..\Common\rt api\RTIReader.h"
>
</File>
<File
- RelativePath="..\..\rt api\RTReader.h"
+ RelativePath="..\..\Common\rt api\RTReader.h"
>
</File>
</Filter>
#endif
#ifdef _WIN32
-#include "boinc_win.h"
+ #ifdef BOINC
+ #include "boinc_win.h"
+ #endif
#else
#include "config.h"
#include <cstdio>
#include <unistd.h>
#endif
-#include "filesys.h"
-#include "boinc_api.h"
-
+#ifdef BOINC
+ #include "filesys.h"
+ #include "boinc_api.h"
+#endif
#include "Public.h"
#ifdef _WIN32
}
return true;
}
-bool ReadLinesFromFile(string sPathName, vector<string>& vLine)
+#ifdef BOINC
+bool boinc_ReadLinesFromFile(string sPathName, vector<string>& vLine)
{
vLine.clear();
char input_path[512];
return true;
}
+#endif
+bool ReadLinesFromFile(string sPathName, vector<string>& vLine)
+{
+ vLine.clear();
+ FILE *file = fopen(sPathName.c_str(), "rb");
+ if (file != NULL)
+ {
+ unsigned int len = GetFileLen(file);
+ char* data = new char[len + 1];
+ fread(data, 1, len, file);
+ data[len] = '\0';
+ string content = data;
+ content += "\n";
+ delete data;
+
+ unsigned int i;
+ for (i = 0; i < content.size(); i++)
+ {
+ if (content[i] == '\r')
+ content[i] = '\n';
+ }
+
+ int n;
+ while ((n = content.find("\n", 0)) != -1)
+ {
+ string line = content.substr(0, n);
+ line = TrimString(line);
+ if (line != "")
+ vLine.push_back(line);
+ content = content.substr(n + 1);
+ }
+
+ fclose(file);
+ }
+ else
+ return false;
+
+ return true;
+}
+
bool SeperateString(string s, string sSeperator, vector<string>& vPart)
{
unsigned int GetFileLen(FILE* file);
string TrimString(string s);
+bool boinc_ReadLinesFromFile(string sPathName, vector<string>& vLine);
bool ReadLinesFromFile(string sPathName, vector<string>& vLine);
bool SeperateString(string s, string sSeperator, vector<string>& vPart);
string uint64tostr(uint64 n);
{
m_pIndex = NULL;
m_pFile = fopen(Filename.c_str(), "rb");
- FILE *pFileIndex = fopen(Filename.append(".index").c_str(), "rb");
+ if(m_pFile == NULL) {
+ printf("could not open file %s\n", Filename.c_str());
+ return;
+ }
+ string sIndex = Filename.append(".index").c_str();
+ FILE *pFileIndex = fopen(sIndex.c_str(), "rb");
+ if(pFileIndex == NULL) {
+ printf("could not open index file %s\n", sIndex.c_str());
+ return;
+ }
m_chainPosition = 0;
// Load the index file