aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-pvfs2.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2017-02-01 23:13:42 -0500
committerMichael Mann <mmann78@netscape.net>2017-02-02 13:46:03 +0000
commit577d21e35c1ca19e245014ea2b65d09709c9cca3 (patch)
tree91d63807f33f05a4970b9fe769dbec7040b904e0 /epan/dissectors/packet-pvfs2.c
parent36892d8a4ca2f6019dc00b0f2540097499da2e11 (diff)
GHashtable -> wmem_map conversions
Many of the register_init_routine/register_cleanup_routine functions are for initializing and cleaning up a GHashtable. wmem_map_new_autoreset can do that automatically, so convert many of the simple cases. Change-Id: I93e1f435845fd5a5e5286487e9f0092fae052f3e Reviewed-on: https://code.wireshark.org/review/19912 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Dario Lombardo <lomato@gmail.com> Tested-by: Dario Lombardo <lomato@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-pvfs2.c')
-rw-r--r--epan/dissectors/packet-pvfs2.c22
1 files changed, 4 insertions, 18 deletions
diff --git a/epan/dissectors/packet-pvfs2.c b/epan/dissectors/packet-pvfs2.c
index e5b23ece35..ce327e0949 100644
--- a/epan/dissectors/packet-pvfs2.c
+++ b/epan/dissectors/packet-pvfs2.c
@@ -2874,7 +2874,7 @@ dissect_pvfs2_response(tvbuff_t *tvb, proto_tree *tree, int offset,
return offset;
}
-static GHashTable *pvfs2_io_tracking_value_table = NULL;
+static wmem_map_t *pvfs2_io_tracking_value_table = NULL;
typedef struct pvfs2_io_tracking_key
{
@@ -2906,19 +2906,6 @@ pvfs2_io_tracking_hash(gconstpointer k)
return (guint) ((key->tag >> 32) ^ ((guint32) key->tag));
}
-static void
-pvfs2_io_tracking_init(void)
-{
- pvfs2_io_tracking_value_table = g_hash_table_new(pvfs2_io_tracking_hash,
- pvfs2_io_tracking_equal);
-}
-
-static void
-pvfs2_io_tracking_cleanup(void)
-{
- g_hash_table_destroy(pvfs2_io_tracking_value_table);
-}
-
static pvfs2_io_tracking_value_t *
pvfs2_io_tracking_new_with_tag(guint64 tag, guint32 num)
{
@@ -2930,7 +2917,7 @@ pvfs2_io_tracking_new_with_tag(guint64 tag, guint32 num)
value = wmem_new0(wmem_file_scope(), pvfs2_io_tracking_value_t);
- g_hash_table_insert(pvfs2_io_tracking_value_table, newkey, value);
+ wmem_map_insert(pvfs2_io_tracking_value_table, newkey, value);
value->request_frame_num = num;
@@ -2993,7 +2980,7 @@ dissect_pvfs_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree,
memset(&key, 0, sizeof(key));
key.tag = tag;
- val = (pvfs2_io_tracking_value_t *)g_hash_table_lookup(pvfs2_io_tracking_value_table, &key);
+ val = (pvfs2_io_tracking_value_t *)wmem_map_lookup(pvfs2_io_tracking_value_table, &key);
/* If this frame contains a known PVFS_SERV_IO tag, track it */
if (val && !pinfo->fd->flags.visited)
@@ -3606,8 +3593,7 @@ proto_register_pvfs(void)
expert_pvfs = expert_register_protocol(proto_pvfs);
expert_register_field_array(expert_pvfs, ei, array_length(ei));
- register_init_routine(pvfs2_io_tracking_init);
- register_cleanup_routine(pvfs2_io_tracking_cleanup);
+ pvfs2_io_tracking_value_table = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), pvfs2_io_tracking_hash, pvfs2_io_tracking_equal);
pvfs_module = prefs_register_protocol(proto_pvfs, NULL);
prefs_register_bool_preference(pvfs_module, "desegment",