diff --git a/src/datum_submitblock.c b/src/datum_submitblock.c index 2b0aa3e2..60e44ea4 100644 --- a/src/datum_submitblock.c +++ b/src/datum_submitblock.c @@ -53,12 +53,17 @@ const char *submitblock_ptr = NULL; bool submitblock_ptr_owned = false; char submitblock_hash[256] = { 0 }; -void preciousblock(CURL *curl, char *blockhash) { +static +void preciousblock(CURL * const curl, const char * const url, const char * const blockhash) { json_t *json; char rpc_data[384]; snprintf(rpc_data, sizeof(rpc_data), "{\"method\":\"preciousblock\",\"params\":[\"%s\"],\"id\":1}", blockhash); - json = bitcoind_json_rpc_call(curl, &datum_config, rpc_data); + if (url) { + json = json_rpc_call(curl, url, NULL, rpc_data); + } else { + json = bitcoind_json_rpc_call(curl, &datum_config, rpc_data); + } if (!json) return; json_decref(json); @@ -102,7 +107,7 @@ bool datum_submitblock_log_reply(const json_t *reply, const char *block_hash_hex } } -void datum_submitblock_doit(CURL *tcurl, char *url, const char *submitblock_req, const char *block_hash_hex) { +void datum_submitblock_doit_and_log(CURL * const tcurl, const char * const url, const char * const submitblock_req, const char * const block_hash_hex) { json_t *r; // TODO: Move these types of things to the conf file if (!url) { @@ -112,9 +117,6 @@ void datum_submitblock_doit(CURL *tcurl, char *url, const char *submitblock_req, } datum_submitblock_log_reply(r, block_hash_hex); if (r) json_decref(r); - - // precious block! - preciousblock(tcurl, submitblock_hash); } void *datum_submitblock_thread(void *ptr) { @@ -141,12 +143,16 @@ void *datum_submitblock_thread(void *ptr) { if (submitblock_ptr != NULL) { DLOG_DEBUG("SUBMITTING BLOCK TO OUR NODE!"); - datum_submitblock_doit(tcurl,NULL,submitblock_ptr,submitblock_hash); + datum_submitblock_doit_and_log(tcurl, NULL, submitblock_ptr, submitblock_hash); + preciousblock(tcurl, NULL, submitblock_hash); if (datum_config.extra_block_submissions_count > 0) { for(i=0;i