Add block file naming helper, BlockFilePath()

This commit is contained in:
Jeff Garzik 2012-09-04 21:40:26 -04:00 committed by Jeff Garzik
parent dcb14198bb
commit 42613c97d5

View File

@ -1991,11 +1991,17 @@ bool CheckDiskSpace(uint64 nAdditionalBytes)
return true; return true;
} }
static filesystem::path BlockFilePath(unsigned int nFile)
{
string strBlockFn = strprintf("blk%04d.dat", nFile);
return GetDataDir() / strBlockFn;
}
FILE* OpenBlockFile(unsigned int nFile, unsigned int nBlockPos, const char* pszMode) FILE* OpenBlockFile(unsigned int nFile, unsigned int nBlockPos, const char* pszMode)
{ {
if ((nFile < 1) || (nFile == (unsigned int) -1)) if ((nFile < 1) || (nFile == (unsigned int) -1))
return NULL; return NULL;
FILE* file = fopen((GetDataDir() / strprintf("blk%04d.dat", nFile)).string().c_str(), pszMode); FILE* file = fopen(BlockFilePath(nFile).string().c_str(), pszMode);
if (!file) if (!file)
return NULL; return NULL;
if (nBlockPos != 0 && !strchr(pszMode, 'a') && !strchr(pszMode, 'w')) if (nBlockPos != 0 && !strchr(pszMode, 'a') && !strchr(pszMode, 'w'))