X-Git-Url: http://git.treefish.org/~alex/phys/latlib.git/blobdiff_plain/e9c0e0b98886738917300348a522759c25d4a9c7..894e6b60d1de6307a72b03d0027f71962bc2e282:/configcache.cpp diff --git a/configcache.cpp b/configcache.cpp index 5987789..bdc593e 100644 --- a/configcache.cpp +++ b/configcache.cpp @@ -53,13 +53,22 @@ configcache::configcache(const string& cacheid, const int& nequi, const int& nsk refetchDataFiles = false; } +string configcache::paraString() { + stringstream parastring; + + for(int ipara=0; ipara 0 ) { + string inFileParaString; + openFileDesc = *inFileIt; if (openFileDesc.nequi < NEQUI) @@ -225,6 +236,12 @@ void configcache::readConfig(bool *readnewconfig, int *nequileft, vectorfilename << endl << flush; inFile.open( (DATADIR + "/" + inFileIt->filename).c_str(), std::ios::binary ); + getline( inFile, inFileParaString ); + if( inFileParaString != paraString() ) { + if(log) *log << "CCACHE: Parastring does not match. Closing dat-file..." << endl << flush; + inFile.close(); + } + inFiles.erase(inFileIt); if( !inFile.is_open() ) continue; @@ -299,6 +316,8 @@ void configcache::openOutFile(int actnequi) outFile.open( outFileName.str().c_str(), std::ios::binary ); + outFile << paraString() << endl; + ioBuffers->out = new boost::iostreams::filtering_ostreambuf; ioBuffers->out->push(boost::iostreams::bzip2_compressor()); ioBuffers->out->push(outFile);