diff --git a/dap_chain_node_cli_cmd.c b/dap_chain_node_cli_cmd.c index a7e79e03dfd12468889a7028333ea8c8947a6fe7..e1f18afc3ca66a10263c3e8c3245223a6546762e 100644 --- a/dap_chain_node_cli_cmd.c +++ b/dap_chain_node_cli_cmd.c @@ -436,7 +436,7 @@ static int link_add_or_del_with_reply(dap_chain_net_t * a_net, dap_chain_node_in } /** - * Handler of command 'global_db node dump' + * Handler of command 'node dump' * * str_reply[out] for reply * return 0 Ok, -1 error @@ -522,30 +522,37 @@ static int node_info_dump_with_reply(dap_chain_net_t * a_net, dap_chain_node_add }else { // Dump list dap_global_db_obj_t *l_objs = NULL; size_t l_nodes_count = 0; - dap_chain_node_info_t *l_node_info; dap_string_append(l_string_reply, "\n"); // read all node l_objs = dap_chain_global_db_gr_load( a_net->pub.gdb_nodes, &l_nodes_count); if(!l_nodes_count || !l_objs) { dap_string_append_printf(l_string_reply, "No records\n"); + dap_chain_node_cli_set_reply_text(a_str_reply, l_string_reply->str); dap_string_free(l_string_reply, true); - l_ret = -1; + dap_chain_global_db_objs_delete(l_objs, l_nodes_count); + return -1; }else { + size_t l_nodes_count_real = 0; dap_string_append_printf(l_string_reply,"Got %u records:\n",l_nodes_count); for(size_t i = 0; i < l_nodes_count; i++) { - dap_chain_node_info_t *node_info = (dap_chain_node_info_t *) l_objs[i].value; + dap_chain_node_info_t *l_node_info = (dap_chain_node_info_t *) l_objs[i].value; // find addr by alias or addr_str - dap_chain_node_addr_t *address = node_info_get_addr(a_net, node_info, &node_info->hdr.address, a_alias); + dap_chain_node_addr_t *address = node_info_get_addr(a_net, l_node_info, &l_node_info->hdr.address, a_alias); if(!address) { dap_chain_node_cli_set_reply_text(a_str_reply, "alias not found"); - break; + dap_string_free(l_string_reply, true); + dap_chain_global_db_objs_delete(l_objs, l_nodes_count); + return -1; } // read node - dap_chain_node_info_t *node_info_read = node_info_read_and_reply( a_net, address, a_str_reply); + dap_chain_node_info_t *node_info_read = node_info_read_and_reply( a_net, address, NULL); if(!node_info_read) { DAP_DELETE(address); - break; + continue; + //dap_string_free(l_string_reply, true); + //dap_chain_global_db_objs_delete(l_objs, l_nodes_count); + //return -1; } const int hostlen = 128; @@ -734,7 +741,6 @@ int com_node(int a_argc, char ** a_argv, char **a_str_reply) }; int arg_index = 1; int cmd_num = CMD_NONE; - const char *cmd_str = NULL; if(dap_chain_node_cli_find_option_val(a_argv, arg_index, min(a_argc, arg_index + 1), "add", NULL)) { cmd_num = CMD_ADD; } @@ -1316,7 +1322,6 @@ int com_tx_wallet(int argc, char ** argv, char **str_reply) }; int arg_index = 1; int cmd_num = CMD_NONE; - const char *cmd_str = NULL; // find add parameter ('alias' or 'handshake') if(dap_chain_node_cli_find_option_val(argv, arg_index, min(argc, arg_index + 1), "new", NULL)) { cmd_num = CMD_WALLET_NEW; @@ -1546,7 +1551,7 @@ int com_token_decl_sign(int argc, char ** argv, char ** a_str_reply) return -1; // Load certs lists - size_t l_signs_size = dap_chain_cert_parse_str_list(l_certs_str, &l_certs, &l_certs_size); + dap_chain_cert_parse_str_list(l_certs_str, &l_certs, &l_certs_size); if(!l_certs_size) { dap_chain_node_cli_set_reply_text(a_str_reply, "token_create command requres at least one valid certificate to sign the basic transaction of emission"); @@ -1633,7 +1638,7 @@ int com_token_decl_sign(int argc, char ** argv, char ** a_str_reply) // Calc datum's hash dap_chain_hash_fast_t l_key_hash; - dap_hash_fast(l_datum, l_datum_size, &l_key_hash); + dap_hash_fast(l_datum, l_datum_size, (uint8_t*)&l_key_hash); char * l_key_str = dap_chain_hash_fast_to_str_new(&l_key_hash); // Add datum to mempool with datum_token hash as a key @@ -1853,7 +1858,6 @@ int com_mempool_proc(int argc, char ** argv, char ** a_str_reply) int com_token_decl(int argc, char ** argv, char ** str_reply) { int arg_index = 1; - const char *str_tmp = NULL; char *str_reply_tmp = NULL; const char * l_ticker = NULL; @@ -1943,7 +1947,7 @@ int com_token_decl(int argc, char ** argv, char ** str_reply) } // Load certs lists - size_t l_certs_count = dap_chain_cert_parse_str_list(l_certs_str, &l_certs, &l_certs_size); + dap_chain_cert_parse_str_list(l_certs_str, &l_certs, &l_certs_size); if(!l_certs_size) { dap_chain_node_cli_set_reply_text(str_reply, "token_create command requres at least one valid certificate to sign the basic transaction of emission"); @@ -1982,7 +1986,7 @@ int com_token_decl(int argc, char ** argv, char ** str_reply) // Calc datum's hash dap_chain_hash_fast_t l_key_hash; - dap_hash_fast(l_datum, l_datum_size, &l_key_hash); + dap_hash_fast(l_datum, l_datum_size, (uint8_t*)&l_key_hash); char * l_key_str = dap_chain_hash_fast_to_str_new(&l_key_hash); // Add datum to mempool with datum_token hash as a key @@ -2170,7 +2174,7 @@ int com_token_emit(int argc, char ** argv, char ** str_reply) // Calc datum's hash dap_chain_hash_fast_t l_datum_emission_hash; - dap_hash_fast(l_datum_emission, l_datum_emission_size, &l_datum_emission_hash); + dap_hash_fast(l_datum_emission, l_datum_emission_size, (uint8_t*)&l_datum_emission_hash); char * l_key_str = dap_chain_hash_fast_to_str_new(&l_datum_emission_hash); // Add to mempool emission token @@ -2221,7 +2225,7 @@ int com_token_emit(int argc, char ** argv, char ** str_reply) //dap_hash_fast(l_tx, l_tx_size, &l_key_hash); //dap_hash_fast(l_datum_tx, l_datum_tx_size, &l_key_hash); // calc datum hash dap_chain_hash_fast_t l_datum_tx_hash; - dap_hash_fast(l_datum_tx, l_datum_tx_size, &l_datum_tx_hash); + dap_hash_fast(l_datum_tx, l_datum_tx_size, (uint8_t*)&l_datum_tx_hash); l_key_str = dap_chain_hash_fast_to_str_new(&l_datum_tx_hash); DAP_DELETE(l_tx);