diff --git a/modules/mempool/dap_chain_mempool.c b/modules/mempool/dap_chain_mempool.c index bc0b35ef84a0aca25e607a9d5e4a8bd5e04a78f0..d5c8ab08d1bc1b646ac24d15ce74f5533338fa00 100644 --- a/modules/mempool/dap_chain_mempool.c +++ b/modules/mempool/dap_chain_mempool.c @@ -92,7 +92,7 @@ char *dap_chain_mempool_datum_add(const dap_chain_datum_t *a_datum, dap_chain_t dap_chain_hash_fast_t l_key_hash; dap_hash_fast(a_datum->data, a_datum->header.data_size, &l_key_hash); char *l_key_str; - if (dap_strcmp(a_hash_out_type, "hex")) + if (!dap_strcmp(a_hash_out_type, "hex")) l_key_str = dap_chain_hash_fast_to_str_new(&l_key_hash); else l_key_str = dap_enc_base58_encode_hash_to_str(&l_key_hash); diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c index ce0d6cc333e5a78141939062d0bb8e1d8b4d8a04..bf4550c1d37df936f302221c91abf0b1ce9ed214 100644 --- a/modules/net/dap_chain_node_cli_cmd.c +++ b/modules/net/dap_chain_node_cli_cmd.c @@ -2335,7 +2335,7 @@ void s_com_mempool_list_print_for_chain(dap_chain_net_t * a_net, dap_chain_t * a size_t l_objs_size = 0; size_t l_objs_addr = 0; dap_global_db_obj_t * l_objs = dap_global_db_get_all_sync(l_gdb_group_mempool, &l_objs_size); - + bool l_printed_smth = false; for(size_t i = 0; i < l_objs_size; i++) { dap_chain_datum_t *l_datum = (dap_chain_datum_t *)l_objs[i].value; dap_time_t l_ts_create = (dap_time_t) l_datum->header.ts_create; @@ -2387,6 +2387,9 @@ void s_com_mempool_list_print_for_chain(dap_chain_net_t * a_net, dap_chain_t * a break; } } + if (l_printed_smth) + dap_string_append_printf(a_str_tmp, "=========================================================\n"); + l_printed_smth = true; char buf[50] = {[0]='\0'}; dap_hash_fast_t l_data_hash; char l_data_hash_str[DAP_CHAIN_HASH_FAST_STR_SIZE] = {[0]='\0'}; @@ -2394,7 +2397,7 @@ void s_com_mempool_list_print_for_chain(dap_chain_net_t * a_net, dap_chain_t * a dap_hash_fast_to_str(&l_data_hash,l_data_hash_str,DAP_CHAIN_HASH_FAST_STR_SIZE); if (strcmp(l_data_hash_str, l_objs[i].key)) dap_string_append_printf(a_str_tmp, - "WARNING: key field in DB %s does not match datum's hash %s", + "WARNING: key field in DB %s does not match datum's hash %s\n", l_objs[i].key, l_data_hash_str); const char *l_type = NULL; DAP_DATUM_TYPE_STR(l_datum->header.type_id, l_type) @@ -2487,10 +2490,10 @@ int com_mempool_delete(int a_argc, char **a_argv, char **a_str_reply) const char * l_datum_hash_str = NULL; dap_cli_server_cmd_find_option_val(a_argv, arg_index, a_argc, "-datum", &l_datum_hash_str); if (l_datum_hash_str) { - char *l_datum_hash_hex_str = NULL; + char *l_datum_hash_hex_str = (char *)l_datum_hash_str; // datum hash may be in hex or base58 format if(dap_strncmp(l_datum_hash_str, "0x", 2) && dap_strncmp(l_datum_hash_str, "0X", 2)) - l_datum_hash_hex_str = dap_enc_base58_to_hex_str_from_str(l_datum_hash_str); + l_datum_hash_hex_str = dap_enc_base58_to_hex_str_from_str(l_datum_hash_str); char * l_gdb_group_mempool = dap_chain_net_get_gdb_group_mempool_new(l_chain); uint8_t *l_data_tmp = dap_global_db_get_sync(l_gdb_group_mempool, l_datum_hash_hex_str ? l_datum_hash_hex_str : l_datum_hash_str, @@ -2504,7 +2507,8 @@ int com_mempool_delete(int a_argc, char **a_argv, char **a_str_reply) } DAP_DELETE(l_gdb_group_mempool); DAP_DELETE(l_data_tmp); - DAP_DEL_Z(l_datum_hash_hex_str); + if (l_datum_hash_hex_str != l_datum_hash_str) + DAP_DELETE(l_datum_hash_hex_str); } else { dap_cli_server_cmd_set_reply_text(a_str_reply, "Error! %s requires -datum <datum hash> option", a_argv[0]); return -3; @@ -2531,7 +2535,7 @@ int com_mempool_check(int a_argc, char **a_argv, char ** a_str_reply) const char * l_datum_hash_str = NULL; dap_cli_server_cmd_find_option_val(a_argv, arg_index, a_argc, "-datum", &l_datum_hash_str); if(l_datum_hash_str) { - char *l_datum_hash_hex_str = NULL; + char *l_datum_hash_hex_str = (char *)l_datum_hash_str; // datum hash may be in hex or base58 format if(dap_strncmp(l_datum_hash_str, "0x", 2) && dap_strncmp(l_datum_hash_str, "0X", 2)) l_datum_hash_hex_str = dap_enc_base58_to_hex_str_from_str(l_datum_hash_str); @@ -2547,7 +2551,8 @@ int com_mempool_check(int a_argc, char **a_argv, char ** a_str_reply) } DAP_DELETE(l_gdb_group_mempool); DAP_DELETE(l_data_tmp); - DAP_DEL_Z(l_datum_hash_hex_str); + if (l_datum_hash_hex_str != l_datum_hash_str) + DAP_DELETE(l_datum_hash_hex_str); } else { dap_cli_server_cmd_set_reply_text(a_str_reply, "Error! %s requires -datum <datum hash> option", a_argv[0]); return -3;