From 0c4e700f4976945c8bd2370ca62f4e3f068a20c3 Mon Sep 17 00:00:00 2001
From: "roman.khlopkov" <roman.khlopkov@demlabs.net>
Date: Wed, 19 Jun 2024 12:40:21 +0300
Subject: [PATCH] [*] Build fix

---
 crypto/include/dap_enc_base58.h | 5 +----
 crypto/include/dap_hash.h       | 8 +-------
 crypto/src/dap_enc_base58.c     | 6 ++++++
 crypto/src/dap_hash.c           | 7 +++++++
 4 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/crypto/include/dap_enc_base58.h b/crypto/include/dap_enc_base58.h
index 807fa5a9c..db445f7b1 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 d17c4a6bb..beb2788a3 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 adba57edc..c8225036b 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 431a7b0e6..c812e5153 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;
+}
-- 
GitLab