aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-hci_usb.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-hci_usb.c')
-rw-r--r--epan/dissectors/packet-hci_usb.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/epan/dissectors/packet-hci_usb.c b/epan/dissectors/packet-hci_usb.c
index cc833fe552..6cdf2a706a 100644
--- a/epan/dissectors/packet-hci_usb.c
+++ b/epan/dissectors/packet-hci_usb.c
@@ -58,8 +58,7 @@ static emem_tree_t *localhost_name = NULL;
static emem_tree_t *localhost_bdaddr = NULL;
static emem_tree_t *fragment_info_table = NULL;
-static GHashTable *fragment_table = NULL;
-static GHashTable *reassembled_table = NULL;
+static reassembly_table hci_usb_reassembly_table;
typedef struct _fragment_info_t {
gint remaining_length;
@@ -175,14 +174,16 @@ dissect_hci_usb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
fragment_info->remaining_length -= tvb_ensure_length_remaining(tvb, offset);
- fragment_add_seq_check(tvb, offset, pinfo, session_id, fragment_table, reassembled_table, fragment_info->fragment_id, tvb_length_remaining(tvb, offset), (fragment_info->remaining_length == 0) ? FALSE : TRUE);
+ fragment_add_seq_check(&hci_usb_reassembly_table,
+ tvb, offset, pinfo, session_id, NULL,
+ fragment_info->fragment_id, tvb_length_remaining(tvb, offset), (fragment_info->remaining_length == 0) ? FALSE : TRUE);
if (fragment_info->remaining_length > 0)
fragment_info->fragment_id += 1;
else
fragment_info->fragment_id = 0;
}
- reassembled = fragment_get_reassembled_id(pinfo, session_id, reassembled_table);
+ reassembled = fragment_get_reassembled_id(&hci_usb_reassembly_table, pinfo, session_id);
if (reassembled && pinfo->fd->num < reassembled->reassembled_in) {
pitem = proto_tree_add_text(ttree, tvb, offset, -1, "Fragment");
PROTO_ITEM_SET_GENERATED(pitem);
@@ -294,8 +295,8 @@ proto_register_hci_usb(void)
&ett_hci_usb_msg_fragments,
};
- fragment_table_init(&fragment_table);
- reassembled_table_init(&reassembled_table);
+ reassembly_table_init(&hci_usb_reassembly_table,
+ &addresses_reassembly_table_functions);
fragment_info_table = se_tree_create(EMEM_TREE_TYPE_RED_BLACK, "hci_usb fragment_info");
chandle_to_bdaddr_table = se_tree_create(EMEM_TREE_TYPE_RED_BLACK, "hci_usb adapter/chandle to bdaddr");