<URL: http://bugs.freeciv.org/Ticket/Display.html?id=39508 >

> Fix attached. Includes

 Here


 - ML

diff -Nurd -X.diff_ignore freeciv/utility/hash.c freeciv/utility/hash.c
--- freeciv/utility/hash.c	2007-08-04 18:36:14.000000000 +0300
+++ freeciv/utility/hash.c	2007-08-08 02:12:40.000000000 +0300
@@ -40,6 +40,15 @@
    qsort-type comparison function (but the hash table does not make
    use of the ordering information if the return value is non-zero).
 
+   Some constructors also accept following functions to be registered:
+
+     free_key_func: This is called when hash no longer needs key construct.
+   Note that one key construct gets freed even when it is replaced with
+   another that is considered identical by fcmp().
+
+     free_data_func: This is called when hash no longer needs data construct. 
+
+
    Implementation uses closed hashing with simple collision resolution.
    Deleted elements are marked as DELETED rather than UNUSED so that
    lookups on previously added entries work properly.
@@ -344,7 +353,7 @@
 			         hash_free_fn_t free_key_func,
 			         hash_free_fn_t free_data_func)
 {
-  return hash_new_nentries_full(fval, fcmp, NULL, NULL, 0);
+  return hash_new_nentries_full(fval, fcmp, free_key_func, free_data_func, 0);
 }
 
 /**************************************************************************
_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to