aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Winget <tewinget@gmail.com>2014-12-31 16:35:48 -0500
committerwarptangent <warptangent@inbox.com>2015-01-04 19:39:43 -0800
commit4fa1a83f6e554670eb82a2611922eb995d8a7a65 (patch)
tree3f9aff3ba74e2aeae89d01266a50af774e4cfa7b
parentFixes a bug with getting output metadata from BlockchainDB (diff)
parentdb_lmdb: fix global index calculation off by 1 (diff)
downloadmonero-4fa1a83f6e554670eb82a2611922eb995d8a7a65.tar.xz
Merge pull request #18 from moneromooo-monero/blockchain
Blockchain
-rw-r--r--src/blockchain_converter/blockchain_converter.cpp7
-rw-r--r--src/cryptonote_core/BlockchainDB_impl/db_lmdb.cpp16
2 files changed, 11 insertions, 12 deletions
diff --git a/src/blockchain_converter/blockchain_converter.cpp b/src/blockchain_converter/blockchain_converter.cpp
index f2dd10b18..57822700f 100644
--- a/src/blockchain_converter/blockchain_converter.cpp
+++ b/src/blockchain_converter/blockchain_converter.cpp
@@ -59,7 +59,12 @@ struct fake_core
int main(int argc, char* argv[])
{
- boost::filesystem::path default_data_path {tools::get_default_data_dir()};
+ std::string dir = tools::get_default_data_dir();
+ boost::filesystem::path default_data_path {dir};
+ if (argc >= 2 && !strcmp(argv[1], "--testnet")) {
+ default_data_path /= "testnet";
+ }
+
fake_core c(default_data_path);
BlockchainDB *blockchain;
diff --git a/src/cryptonote_core/BlockchainDB_impl/db_lmdb.cpp b/src/cryptonote_core/BlockchainDB_impl/db_lmdb.cpp
index e96b9f90f..5b71dcf08 100644
--- a/src/cryptonote_core/BlockchainDB_impl/db_lmdb.cpp
+++ b/src/cryptonote_core/BlockchainDB_impl/db_lmdb.cpp
@@ -1162,12 +1162,9 @@ tx_out BlockchainLMDB::get_output(const crypto::hash& h, const uint64_t& index)
mdb_cursor_get(cur, &k, &v, MDB_FIRST_DUP);
- if (index != 0)
+ for (uint64_t i = 0; i < index; ++i)
{
- for (uint64_t i = 0; i < index; ++i)
- {
- mdb_cursor_get(cur, &k, &v, MDB_NEXT_DUP);
- }
+ mdb_cursor_get(cur, &k, &v, MDB_NEXT_DUP);
}
mdb_cursor_get(cur, &k, &v, MDB_GET_CURRENT);
@@ -1264,12 +1261,9 @@ tx_out_index BlockchainLMDB::get_output_tx_and_index(const uint64_t& amount, con
mdb_cursor_get(cur, &k, &v, MDB_FIRST_DUP);
- if (index != 0)
+ for (uint64_t i = 0; i < index; ++i)
{
- for (uint64_t i = 0; i < index; ++i)
- {
- mdb_cursor_get(cur, &k, &v, MDB_NEXT_DUP);
- }
+ mdb_cursor_get(cur, &k, &v, MDB_NEXT_DUP);
}
mdb_cursor_get(cur, &k, &v, MDB_GET_CURRENT);
@@ -1310,9 +1304,9 @@ std::vector<uint64_t> BlockchainLMDB::get_tx_output_indices(const crypto::hash&
for (uint64_t i = 0; i < num_elems; ++i)
{
- mdb_cursor_get(cur, &k, &v, MDB_NEXT_DUP);
mdb_cursor_get(cur, &k, &v, MDB_GET_CURRENT);
index_vec.push_back(*(const uint64_t *)v.mv_data);
+ mdb_cursor_get(cur, &k, &v, MDB_NEXT_DUP);
}
cur.close();