diff --git a/src/cryptonote_core/blockchain.cpp b/src/cryptonote_core/blockchain.cpp index dd9c21b91..b15eb4b90 100644 --- a/src/cryptonote_core/blockchain.cpp +++ b/src/cryptonote_core/blockchain.cpp @@ -3374,7 +3374,7 @@ bool Blockchain::cleanup_handle_incoming_blocks(bool force_sync) store_blockchain(); m_sync_counter = 0; } - else if (m_sync_counter >= m_db_blocks_per_sync) + else if (m_db_blocks_per_sync && m_sync_counter >= m_db_blocks_per_sync) { if(m_db_sync_mode == db_async) { diff --git a/src/cryptonote_core/cryptonote_core.cpp b/src/cryptonote_core/cryptonote_core.cpp index 73edde1b7..f5445b48a 100644 --- a/src/cryptonote_core/cryptonote_core.cpp +++ b/src/cryptonote_core/cryptonote_core.cpp @@ -372,11 +372,10 @@ namespace cryptonote if(options.size() >= 3 && !safemode) { - blocks_per_sync = atoll(options[2].c_str()); - if(blocks_per_sync > 5000) - blocks_per_sync = 5000; - if(blocks_per_sync == 0) - blocks_per_sync = 1; + char *endptr; + uint64_t bps = strtoull(options[2].c_str(), &endptr, 0); + if (*endptr == '\0') + blocks_per_sync = bps; } bool auto_remove_logs = command_line::get_arg(vm, command_line::arg_db_auto_remove_logs) != 0;