From 43f81faa99c767047eebb189b11341c516657d82 Mon Sep 17 00:00:00 2001 From: "aleksei.voronin" <aleksei.voronin@demlabs.net> Date: Sun, 10 May 2020 10:29:51 +0300 Subject: [PATCH] [*] fixed token flags --- modules/common/dap_chain_datum_token.c | 18 +++++++++++++----- modules/net/dap_chain_node_cli_cmd.c | 4 ++-- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/modules/common/dap_chain_datum_token.c b/modules/common/dap_chain_datum_token.c index 72febb8922..c2797b984a 100644 --- a/modules/common/dap_chain_datum_token.c +++ b/modules/common/dap_chain_datum_token.c @@ -125,13 +125,21 @@ dap_chain_datum_token_tsd_t* dap_chain_datum_token_tsd_get(dap_chain_datum_token void dap_chain_datum_token_flags_dump(dap_string_t * a_str_out, uint16_t a_flags) { if(!a_flags){ + dap_string_append_printf(a_str_out, "%s\n", + c_dap_chain_datum_token_flag_str[DAP_CHAIN_DATUM_TOKEN_FLAG_NONE]); dap_string_append_printf(a_str_out, "<NONE>\n"); return; } - for ( uint16_t i = 0; (2^i) <=DAP_CHAIN_DATUM_TOKEN_FLAG_MAX; i++ ){ - if( a_flags & (2^i) ) - dap_string_append_printf(a_str_out,"%s%s", c_dap_chain_datum_token_flag_str[2^i], - (2^i)==DAP_CHAIN_DATUM_TOKEN_FLAG_MAX?",":"\n" ); + bool is_first = true; + for ( uint16_t i = 0; i <= DAP_CHAIN_DATUM_TOKEN_FLAG_MAX; i++){ + if( a_flags & (1 << i) ){ + if(is_first) + is_first = false; + else + dap_string_append_printf(a_str_out,", "); + dap_string_append_printf(a_str_out,"%s", c_dap_chain_datum_token_flag_str[i]); + } + if(i == DAP_CHAIN_DATUM_TOKEN_FLAG_MAX) + dap_string_append_printf(a_str_out, "\n"); } } - diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c index c04bc23a16..b4272b63e2 100644 --- a/modules/net/dap_chain_node_cli_cmd.c +++ b/modules/net/dap_chain_node_cli_cmd.c @@ -2294,7 +2294,7 @@ int com_token_update(int argc, char ** argv, void *arg_func, char ** a_str_reply dap_chain_node_cli_set_reply_text(a_str_reply, "Flag can't be \"%s\"",*l_str_flags); return -20; } - l_flags |= l_flag; + l_flags |= (1<<l_flag); l_str_flags++; } // Add flags as set_flags TDS section @@ -2605,7 +2605,7 @@ int com_token_decl(int argc, char ** argv, void *arg_func, char ** a_str_reply) dap_chain_node_cli_set_reply_text(a_str_reply, "Flag can't be \"%s\"",*l_str_flags); return -20; } - l_flags |= l_flag; + l_flags |= (1<<l_flag); l_str_flags++; } } else if ( strcmp( argv[l_arg_index],"-total_supply" )==0){ // Total supply -- GitLab