aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Lombrozo <elombrozo@gmail.com>2013-06-23 17:47:47 -0700
committerEric Lombrozo <elombrozo@gmail.com>2013-06-23 19:59:32 -0700
commit226f8219422e9252cece036cf61d87738782d674 (patch)
tree7b0d0b917383238856e24f5394a72646c6276ebf
parenta6dba0fdb281ee99e6814ad64c1c4d3032347816 (diff)
downloadbitcoin-226f8219422e9252cece036cf61d87738782d674.tar.xz
Moved WriteBlockToDisk implementation from main.h to main.cpp
-rw-r--r--src/main.cpp26
-rw-r--r--src/main.h26
2 files changed, 27 insertions, 25 deletions
diff --git a/src/main.cpp b/src/main.cpp
index bde9d66031..87f5256f50 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1146,6 +1146,32 @@ CBlockIndex* FindBlockByHeight(int nHeight)
return vBlockIndexByHeight[nHeight];
}
+bool WriteBlockToDisk(CBlock& block, CDiskBlockPos& pos)
+{
+ // Open history file to append
+ CAutoFile fileout = CAutoFile(OpenBlockFile(pos), SER_DISK, CLIENT_VERSION);
+ if (!fileout)
+ return error("WriteBlockToDisk() : OpenBlockFile failed");
+
+ // Write index header
+ unsigned int nSize = fileout.GetSerializeSize(block);
+ fileout << FLATDATA(Params().MessageStart()) << nSize;
+
+ // Write block
+ long fileOutPos = ftell(fileout);
+ if (fileOutPos < 0)
+ return error("WriteBlockToDisk() : ftell failed");
+ pos.nPos = (unsigned int)fileOutPos;
+ fileout << block;
+
+ // Flush stdio buffers and commit to disk before returning
+ fflush(fileout);
+ if (!IsInitialBlockDownload())
+ FileCommit(fileout);
+
+ return true;
+}
+
bool CBlock::ReadFromDisk(const CBlockIndex* pindex)
{
if (!ReadFromDisk(pindex->GetBlockPos()))
diff --git a/src/main.h b/src/main.h
index bda775e843..a613613e5e 100644
--- a/src/main.h
+++ b/src/main.h
@@ -755,31 +755,7 @@ public:
/** Functions for disk access for blocks */
-inline bool WriteBlockToDisk(CBlock& block, CDiskBlockPos& pos)
-{
- // Open history file to append
- CAutoFile fileout = CAutoFile(OpenBlockFile(pos), SER_DISK, CLIENT_VERSION);
- if (!fileout)
- return error("WriteBlockToDisk() : OpenBlockFile failed");
-
- // Write index header
- unsigned int nSize = fileout.GetSerializeSize(block);
- fileout << FLATDATA(Params().MessageStart()) << nSize;
-
- // Write block
- long fileOutPos = ftell(fileout);
- if (fileOutPos < 0)
- return error("WriteBlockToDisk() : ftell failed");
- pos.nPos = (unsigned int)fileOutPos;
- fileout << block;
-
- // Flush stdio buffers and commit to disk before returning
- fflush(fileout);
- if (!IsInitialBlockDownload())
- FileCommit(fileout);
-
- return true;
-}
+bool WriteBlockToDisk(CBlock& block, CDiskBlockPos& pos);