diff --git a/modules/chain/dap_chain_cell.c b/modules/chain/dap_chain_cell.c index e42462485c7b289ae53889b4a74f167e661609db..671a4f7195349e77cb3363553fba9646df1d382a 100644 --- a/modules/chain/dap_chain_cell.c +++ b/modules/chain/dap_chain_cell.c @@ -259,6 +259,7 @@ int dap_chain_cell_load(dap_chain_t *a_chain, dap_chain_cell_t *a_cell) return -1; } int l_ret = 0; + size_t l_full_size = 0; dap_chain_cell_file_header_t *l_hdr = NULL; if (a_chain->is_mapped) { l_hdr = (dap_chain_cell_file_header_t*)a_cell->map; @@ -270,6 +271,7 @@ int dap_chain_cell_load(dap_chain_t *a_chain, dap_chain_cell_t *a_cell) DAP_DELETE(l_hdr); return -2; } + l_full_size += sizeof(dap_chain_cell_file_header_t); } if (l_hdr->signature != DAP_CHAIN_CELL_FILE_SIGNATURE) { log_it(L_ERROR, "Wrong signature in chain \"%s\", possible file corrupt", a_cell->file_storage_path); @@ -284,7 +286,7 @@ int dap_chain_cell_load(dap_chain_t *a_chain, dap_chain_cell_t *a_cell) return -4; } - uint64_t q = 0, l_full_size = 0; + uint64_t q = 0; if (a_chain->is_mapped) { a_cell->map_pos = a_cell->map + sizeof(dap_chain_cell_file_header_t); for (uint64_t l_el_size = 0; a_cell->map_pos < a_cell->map_end && ( l_el_size = *(uint64_t*)a_cell->map_pos ); ++q, a_cell->map_pos += l_el_size) { @@ -332,7 +334,7 @@ static int s_file_write_header(dap_chain_cell_t *a_cell) return -2; } else { fseek(a_cell->file_storage, 0L, SEEK_END); - if (ftell(a_cell->file_storage) > (ssize_t)sizeof(dap_chain_cell_file_header_t)) { + if (ftell(a_cell->file_storage) >= (ssize_t)sizeof(dap_chain_cell_file_header_t)) { log_it(L_ERROR, "Chain cell \"%s\" 0x%016"DAP_UINT64_FORMAT_X" is already not empty!", a_cell->file_storage_path, a_cell->id.uint64); return -3; diff --git a/modules/common/dap_chain_datum.c b/modules/common/dap_chain_datum.c index 54d06bfa0397b406e8e4218dc983abe0def4087f..b9a4e87d264c7989363dcebcfaec996f83842817 100644 --- a/modules/common/dap_chain_datum.c +++ b/modules/common/dap_chain_datum.c @@ -950,7 +950,6 @@ bool dap_chain_datum_dump_tx_json(dap_chain_datum_tx_t *a_datum, } break; case TX_ITEM_TYPE_VOTING:{ - char l_tmp_buff[10]={0}; int l_tsd_size = 0; dap_chain_tx_tsd_t *l_item = (dap_chain_tx_tsd_t *)dap_chain_datum_tx_item_get(a_datum, 0, TX_ITEM_TYPE_TSD, &l_tsd_size); if (!l_item || !l_tsd_size) @@ -963,8 +962,7 @@ bool dap_chain_datum_dump_tx_json(dap_chain_datum_tx_t *a_datum, dap_list_t *l_temp = l_voting_params->answers_list; uint8_t l_index = 0; while (l_temp) { - sprintf(l_tmp_buff, "%i", l_index); - json_object_object_add(json_obj_item, l_tmp_buff, json_object_new_string((char *)l_temp->data)); + json_object_object_add(json_obj_item, dap_itoa(l_index), json_object_new_string((char *)l_temp->data)); l_index++; l_temp = l_temp->next; } @@ -973,8 +971,7 @@ bool dap_chain_datum_dump_tx_json(dap_chain_datum_tx_t *a_datum, json_object_object_add(json_obj_item,"Voting expire", json_object_new_string(l_tmp_buf)); } if (l_voting_params->votes_max_count) { - sprintf(l_tmp_buff, "%"DAP_UINT64_FORMAT_U, l_voting_params->votes_max_count); - json_object_object_add(json_obj_item, "Votes max count", json_object_new_string(l_tmp_buff)); + json_object_object_add(json_obj_item, "Votes max count", json_object_new_uint64(l_voting_params->votes_max_count)); } json_object_object_add(json_obj_item,"Changing vote is", l_voting_params->vote_changing_allowed ? json_object_new_string("available") : json_object_new_string("not available")); @@ -987,13 +984,11 @@ bool dap_chain_datum_dump_tx_json(dap_chain_datum_tx_t *a_datum, DAP_DELETE(l_voting_params); } break; case TX_ITEM_TYPE_VOTE:{ - char l_tmp_buff[10]={0}; dap_chain_tx_vote_t *l_vote_item = (dap_chain_tx_vote_t *)item; const char *l_hash_str = dap_chain_hash_fast_to_str_static(&l_vote_item->voting_hash); json_object_object_add(json_obj_item,"item type", json_object_new_string("VOTE")); json_object_object_add(json_obj_item,"Voting hash", json_object_new_string(l_hash_str)); - sprintf(l_tmp_buff,"%"DAP_UINT64_FORMAT_U"",l_vote_item->answer_idx); - json_object_object_add(json_obj_item,"Vote answer idx", json_object_new_string(l_tmp_buff)); + json_object_object_add(json_obj_item,"Vote answer idx", json_object_new_uint64(l_vote_item->answer_idx)); } break; default: diff --git a/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c b/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c index 9fcb720170da028dd4e2bc6e7943ecb3e867ceb8..e09ab6159f91eb2590ba1d82c817eacc2b36d0fe 100644 --- a/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c +++ b/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c @@ -152,7 +152,7 @@ int dap_chain_net_srv_stake_net_add(dap_chain_net_id_t a_net_id) l_srv_stake->delegate_allowed_min = dap_chain_coins_to_balance("1.0"); dap_list_t *l_list_new = dap_list_append(s_srv_stake_list, l_srv_stake); if (dap_list_last(l_list_new) == dap_list_last(s_srv_stake_list)) { - log_it(L_ERROR, "Can't add net %" DAP_UINT64_FORMAT_x "to stake service net list", a_net_id.uint64); + log_it(L_ERROR, "Can't add net %" DAP_UINT64_FORMAT_X " to stake service net list", a_net_id.uint64); DAP_DELETE(l_srv_stake); return -2; }