diff --git a/modules/common/dap_chain_common.c b/modules/common/dap_chain_common.c index a9b7668bc4200f6a07dd76685a1fb450c0ce6bc5..049296c3c9fe8eb6fd7eb2600f90f447841a30d6 100644 --- a/modules/common/dap_chain_common.c +++ b/modules/common/dap_chain_common.c @@ -626,9 +626,7 @@ uint32_t l_tmp[4]; /* 456 - > "456" */ l_cp2 = l_cp; l_nibble = a_uint256.lo; - do { - *(l_cp2++) = (l_nibble % 10) + '0'; - } while (l_nibble /= 10); + do { *(l_cp++) = (l_nibble % 10) + '0'; } while (l_nibble /= 10); l_len = l_cp2 - l_cp; l_len = l_len / 2; @@ -643,7 +641,7 @@ uint32_t l_tmp[4]; *l_cpe = l_chr; } - if ( DAP_CHAIN$SZ_MAX128DEC > (l_len = l_cp2 - l_cp) ) + if ( a_uint256.hi && (DAP_CHAIN$SZ_MAX128DEC > (l_len = l_cp2 - l_cp)) ) /* Insert zeroes if hi part of the digit is not zero */ { /* "123456" -> 123000...000456" */ memmove(l_cp + ( DAP_CHAIN$SZ_MAX128DEC - l_len), l_cp, l_len); @@ -955,6 +953,9 @@ const uint256_t uint256_zero = {0}; cp = dap_chain_balance_print(uint256); free(cp); + cp = dap_chain_balance_to_coins256(uint256); + uint256 = dap_chain_coins_to_balance(cp); + free(cp); cp = dap_chain_balance_print333(uint256); free(cp);