aboutsummaryrefslogtreecommitdiffstats
path: root/epan/wmem
diff options
context:
space:
mode:
authorMatthieu Coudron <mattator@gmail.com>2015-11-10 12:30:25 +0100
committerMichael Mann <mmann78@netscape.net>2015-11-11 00:22:37 +0000
commitc2afc9edec79b247d02f42ba3c7cad2bc24b9f91 (patch)
tree29ee4f300505e68f3366c1e244226a167cddbaf5 /epan/wmem
parentb9b74fcf57375209a8716434c5998168e44b57ca (diff)
Change prototype of callbacks passed to wmem_tree_foreach so that they
accept the node key as a first parameter. wmem_tree accepts all sort of keys (strings, integers, soon ranges), thus it is of interest for various purposes (testing, greedy search) to know the key of the node. Change-Id: Ie748b917bef91f0b1ba8cce15bd1b471922641dc Reviewed-on: https://code.wireshark.org/review/11683 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Evan Huus <eapache@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/wmem')
-rw-r--r--epan/wmem/wmem_test.c2
-rw-r--r--epan/wmem/wmem_tree.c2
-rw-r--r--epan/wmem/wmem_tree.h2
3 files changed, 3 insertions, 3 deletions
diff --git a/epan/wmem/wmem_test.c b/epan/wmem/wmem_test.c
index d174d6d73a..307125c115 100644
--- a/epan/wmem/wmem_test.c
+++ b/epan/wmem/wmem_test.c
@@ -131,7 +131,7 @@ wmem_test_cb(wmem_allocator_t *allocator, wmem_cb_event_t event,
}
static gboolean
-wmem_test_foreach_cb(void *value, void *user_data)
+wmem_test_foreach_cb(const void *key _U_, void *value, void *user_data)
{
g_assert(user_data == expected_user_data);
diff --git a/epan/wmem/wmem_tree.c b/epan/wmem/wmem_tree.c
index aeb6b1b86f..070f951b7d 100644
--- a/epan/wmem/wmem_tree.c
+++ b/epan/wmem/wmem_tree.c
@@ -674,7 +674,7 @@ wmem_tree_foreach_nodes(wmem_tree_node_t* node, wmem_foreach_func callback,
callback, user_data);
} else if (!node->is_removed) {
/* No callback for "removed" nodes */
- stop_traverse = callback(node->data, user_data);
+ stop_traverse = callback(node->key, node->data, user_data);
}
if (stop_traverse) {
diff --git a/epan/wmem/wmem_tree.h b/epan/wmem/wmem_tree.h
index 2b551a5441..33058c0174 100644
--- a/epan/wmem/wmem_tree.h
+++ b/epan/wmem/wmem_tree.h
@@ -204,7 +204,7 @@ wmem_tree_lookup32_array_le(wmem_tree_t *tree, wmem_tree_key_t *key);
* the value of the node, userdata is whatever was passed to the traversal
* function. If the function returns TRUE the traversal will end prematurely.
*/
-typedef gboolean (*wmem_foreach_func)(void *value, void *userdata);
+typedef gboolean (*wmem_foreach_func)(const void *key, void *value, void *userdata);
/** Traverse the tree and call callback(value, userdata) for each value found.
* Returns TRUE if the traversal was ended prematurely by the callback.