about summary refs log tree commit diff stats
path: root/src/box32.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-08-28 18:35:24 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-08-28 18:35:24 +0200
commit126c59b4a41b3f17b4fdea6e1fd94bd15d1638d7 (patch)
treef4ddcd2506cc59d159dc9e937e4bbab53e0b4b23 /src/box32.c
parentb7be225846153a1ed44b149b6600fb86c3fa0b42 (diff)
downloadbox64-126c59b4a41b3f17b4fdea6e1fd94bd15d1638d7.tar.gz
box64-126c59b4a41b3f17b4fdea6e1fd94bd15d1638d7.zip
[BOX32] More wrapped 32bits functions, and some fixes too
Diffstat (limited to 'src/box32.c')
-rw-r--r--src/box32.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/box32.c b/src/box32.c
index 24af6b06..9add2a61 100644
--- a/src/box32.c
+++ b/src/box32.c
@@ -11,7 +11,7 @@
 
 KHASH_MAP_INIT_INT64(to, ulong_t);
 KHASH_MAP_INIT_INT(from, uintptr_t);
-KHASH_MAP_INIT_STR(strings, char*);
+KHASH_MAP_INIT_STR(strings, ptr_t);
 
 static kh_from_t*   hash_from;
 static kh_to_t*     hash_to;
@@ -304,8 +304,9 @@ ptr_t to_cstring(char* p) {
         ret = to_ptrv(box_strdup(p));
         int r;
         k = kh_put(strings, const_strings, (char*)from_ptrv(ret), &r);
+        kh_value(const_strings, k) = ret;
     } else
-        ret = to_ptrv(kh_value(const_strings, k));
+        ret = kh_value(const_strings, k);
     pthread_rwlock_unlock(&hash_lock);
     return ret;
 }
@@ -319,7 +320,7 @@ ptr_t to_cstring_d(char* p) {
     if(k==kh_end(const_strings)) {
         // assert?
     } else {
-        ret = to_ptrv(kh_value(const_strings, k));
+        ret = kh_value(const_strings, k);
         kh_del(strings, const_strings, k);
         free(from_ptrv(ret));
     }