hash table BUGFIX use callback instead of memcmp

It should do exactly the same thing but probably
because the callback can recast the values into
their actualy types, valgrind is happy, it was not before.
diff --git a/src/hash_table.c b/src/hash_table.c
index f50c47a..3fbc3d8 100644
--- a/src/hash_table.c
+++ b/src/hash_table.c
@@ -533,7 +533,7 @@
         assert(0);
     }
 
-    if (!memcmp(&rec->val, val_p, ht->rec_size - (sizeof(struct ht_rec) - 1))) {
+    if (ht->val_equal(val_p, &rec->val, 1, ht->cb_data)) {
         /* previously returned value */
         found = 1;
     }
@@ -565,7 +565,7 @@
             return 0;
         }
 
-        if (memcmp(&rec->val, val_p, ht->rec_size - (sizeof(struct ht_rec) - 1))) {
+        if (!ht->val_equal(val_p, &rec->val, 1, ht->cb_data)) {
             /* already returned value, skip */
             continue;
         }