diff --git a/crypto/include/dap_enc_base58.h b/crypto/include/dap_enc_base58.h index 807fa5a9c8c68c24b45b287c248c2a0023258381..db445f7b12e94408eec2a649f4f2cb32b87cbd30 100755 --- a/crypto/include/dap_enc_base58.h +++ b/crypto/include/dap_enc_base58.h @@ -47,10 +47,7 @@ DAP_INLINE char* dap_enc_base58_encode_hash_to_str(dap_chain_hash_fast_t *a_in_h return dap_enc_base58_encode_to_str(a_in_hash->raw, sizeof(dap_chain_hash_fast_t)); }; -DAP_STATIC_INLINE char* dap_enc_base58_encode_hash_to_str_static(dap_chain_hash_fast_t *a_in_hash) { - thread_local static char s_buf[DAP_ENC_BASE58_ENCODE_SIZE(sizeof(dap_chain_hash_fast_t))] = { '\0' }; - return dap_enc_base58_encode(a_in_hash, sizeof(dap_chain_hash_fast_t), s_buf) ? s_buf : NULL; -} +const char *dap_enc_base58_encode_hash_to_str_static(dap_chain_hash_fast_t *a_in_hash); // convert from "0xA21F1E865B6740A28E8708798ECF25D2C0AA596DF5EB1FD724186B6AD7FF2199" to "Bura1HFrKsqbdytEXQVrxpbovtvLhR1VbrJs65JBx3gc" char* dap_enc_base58_from_hex_str_to_str(const char *a_in_str); diff --git a/crypto/include/dap_hash.h b/crypto/include/dap_hash.h index d17c4a6bb80b4ac7f96da681d1f2c60a759d53ea..beb2788a39811d020fc51fb84f2597d3b849eec0 100755 --- a/crypto/include/dap_hash.h +++ b/crypto/include/dap_hash.h @@ -29,7 +29,6 @@ #include "KeccakHash.h" #include "SimpleFIPS202.h" -#include <threads.h> #define DAP_HASH_FAST_SIZE 32 #define DAP_CHAIN_HASH_FAST_SIZE DAP_HASH_FAST_SIZE @@ -125,12 +124,7 @@ DAP_STATIC_INLINE int dap_chain_hash_fast_to_str(const dap_hash_fast_t *a_hash, return DAP_CHAIN_HASH_FAST_STR_SIZE; } -DAP_STATIC_INLINE const char *dap_chain_hash_fast_to_str_static(const dap_hash_fast_t *a_hash) -{ - thread_local static char s_hash_str[DAP_HASH_FAST_STR_SIZE]; - return dap_chain_hash_fast_to_str(a_hash, s_hash_str, sizeof(s_hash_str)) == DAP_CHAIN_HASH_FAST_STR_SIZE - ? s_hash_str : NULL; -} +const char *dap_chain_hash_fast_to_str_static(const dap_hash_fast_t *a_hash); #define dap_hash_fast_to_str dap_chain_hash_fast_to_str #define dap_hash_fast_to_str_static dap_chain_hash_fast_to_str_static diff --git a/crypto/src/dap_enc_base58.c b/crypto/src/dap_enc_base58.c index adba57edc92623b485d2461346934fe64d421c0e..c8225036b90a65086738b186140f0b20ac424478 100755 --- a/crypto/src/dap_enc_base58.c +++ b/crypto/src/dap_enc_base58.c @@ -249,3 +249,9 @@ char* dap_enc_base58_to_hex_str_from_str(const char *a_in_str) dap_htoa64((l_out_str + 2), l_out, l_out_size); return l_out_str; } + +const char *dap_enc_base58_encode_hash_to_str_static(dap_chain_hash_fast_t *a_in_hash) +{ + _Thread_local static char s_buf[DAP_ENC_BASE58_ENCODE_SIZE(sizeof(dap_chain_hash_fast_t))] = { '\0' }; + return dap_enc_base58_encode(a_in_hash, sizeof(dap_chain_hash_fast_t), s_buf) ? s_buf : NULL; +} diff --git a/crypto/src/dap_hash.c b/crypto/src/dap_hash.c index 431a7b0e63176c4fb91abcd5e6750856d31b0a25..c812e51536f5983e0e35c57305ac824a368d8e0d 100755 --- a/crypto/src/dap_hash.c +++ b/crypto/src/dap_hash.c @@ -78,3 +78,10 @@ int dap_chain_hash_fast_from_str( const char *a_hash_str, dap_chain_hash_fast_t { return dap_chain_hash_fast_from_hex_str(a_hash_str, a_hash) && dap_chain_hash_fast_from_base58_str(a_hash_str, a_hash); } + +const char *dap_chain_hash_fast_to_str_static(const dap_hash_fast_t *a_hash) +{ + _Thread_local static char s_hash_str[DAP_HASH_FAST_STR_SIZE]; + return dap_chain_hash_fast_to_str(a_hash, s_hash_str, sizeof(s_hash_str)) == DAP_CHAIN_HASH_FAST_STR_SIZE + ? s_hash_str : NULL; +}