add 2 constructors in CDiskBlockPos to simplify class usage

- add a default-constructor, which simply calls SetNull() and a
  constructor to directly pass nFile and nPos
- change code to use that new constructors
This commit is contained in:
Philip Kaufmann 2012-12-03 10:14:54 +01:00
parent cd7fb7d1de
commit a8a4b9673e
3 changed files with 13 additions and 10 deletions

View file

@ -346,9 +346,7 @@ void ThreadImport(void *data) {
CImportingNow imp; CImportingNow imp;
int nFile = 0; int nFile = 0;
while (!fShutdown) { while (!fShutdown) {
CDiskBlockPos pos; CDiskBlockPos pos(nFile, 0);
pos.nFile = nFile;
pos.nPos = 0;
FILE *file = OpenBlockFile(pos, true); FILE *file = OpenBlockFile(pos, true);
if (!file) if (!file)
break; break;

View file

@ -1535,9 +1535,7 @@ void static FlushBlockFile()
{ {
LOCK(cs_LastBlockFile); LOCK(cs_LastBlockFile);
CDiskBlockPos posOld; CDiskBlockPos posOld(nLastBlockFile, 0);
posOld.nFile = nLastBlockFile;
posOld.nPos = 0;
FILE *fileOld = OpenBlockFile(posOld); FILE *fileOld = OpenBlockFile(posOld);
FileCommit(fileOld); FileCommit(fileOld);

View file

@ -192,6 +192,15 @@ public:
READWRITE(VARINT(nPos)); READWRITE(VARINT(nPos));
) )
CDiskBlockPos() {
SetNull();
}
CDiskBlockPos(int nFileIn, unsigned int nPosIn) {
nFile = nFileIn;
nPos = nPosIn;
}
friend bool operator==(const CDiskBlockPos &a, const CDiskBlockPos &b) { friend bool operator==(const CDiskBlockPos &a, const CDiskBlockPos &b) {
return (a.nFile == b.nFile && a.nPos == b.nPos); return (a.nFile == b.nFile && a.nPos == b.nPos);
} }
@ -1493,8 +1502,7 @@ public:
if (nStatus & BLOCK_HAVE_DATA) { if (nStatus & BLOCK_HAVE_DATA) {
ret.nFile = nFile; ret.nFile = nFile;
ret.nPos = nDataPos; ret.nPos = nDataPos;
} else }
ret.SetNull();
return ret; return ret;
} }
@ -1503,8 +1511,7 @@ public:
if (nStatus & BLOCK_HAVE_UNDO) { if (nStatus & BLOCK_HAVE_UNDO) {
ret.nFile = nFile; ret.nFile = nFile;
ret.nPos = nUndoPos; ret.nPos = nUndoPos;
} else }
ret.SetNull();
return ret; return ret;
} }