From 115a0c683f1af8b888b8ac81d741061f6d38d629 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Fri, 22 Apr 2022 20:59:49 -0400
Subject: [PATCH] c: add dht_infohash_from_hex_null

---
 c/opendht.cpp | 6 +++++-
 c/opendht_c.h | 1 +
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/c/opendht.cpp b/c/opendht.cpp
index 1f642688..1c8f2e12 100644
--- a/c/opendht.cpp
+++ b/c/opendht.cpp
@@ -76,7 +76,11 @@ bool dht_infohash_is_zero(const dht_infohash* h) {
 }
 
 void dht_infohash_from_hex(dht_infohash* h, const char* dat) {
-    *h = dht_infohash_to_c(dht::InfoHash(std::string(dat, HASH_LEN*2)));
+    *h = dht_infohash_to_c(dht::InfoHash(std::string_view(dat, HASH_LEN*2)));
+}
+
+void dht_infohash_from_hex_null(dht_infohash* h, const char* dat) {
+    *h = dht_infohash_to_c(dht::InfoHash(std::string_view(dat)));
 }
 
 const char* dht_pkid_print(const dht_pkid* h) {
diff --git a/c/opendht_c.h b/c/opendht_c.h
index 7569c3ba..a07830fc 100644
--- a/c/opendht_c.h
+++ b/c/opendht_c.h
@@ -50,6 +50,7 @@ typedef struct dht_infohash dht_infohash;
 OPENDHT_C_PUBLIC void dht_infohash_zero(dht_infohash* h);
 OPENDHT_C_PUBLIC void dht_infohash_random(dht_infohash* h);
 OPENDHT_C_PUBLIC void dht_infohash_from_hex(dht_infohash* h, const char* dat);
+OPENDHT_C_PUBLIC void dht_infohash_from_hex_null(dht_infohash* h, const char* dat);
 OPENDHT_C_PUBLIC void dht_infohash_get(dht_infohash* h, const uint8_t* dat, size_t dat_size);
 OPENDHT_C_PUBLIC void dht_infohash_get_from_string(dht_infohash* h, const char* str);
 OPENDHT_C_PUBLIC const char* dht_infohash_print(const dht_infohash* h);
-- 
GitLab