aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2013-10-22 00:49:16 +0000
committerMichael Mann <mmann78@netscape.net>2013-10-22 00:49:16 +0000
commit28b5926fe84efed7828340aa43bf6f4cf2b9ebf4 (patch)
tree6824bcca356df33f5e113c5f6faedea3177e4449 /epan
parent88b157d91cbd2d81bc629a518717f728307aacd6 (diff)
Pass usb_data_t "private data" into subdissectors instead of using pinfo->private_data.
svn path=/trunk/; revision=52750
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-hci_usb.c4
-rw-r--r--epan/dissectors/packet-usb.c13
2 files changed, 6 insertions, 11 deletions
diff --git a/epan/dissectors/packet-hci_usb.c b/epan/dissectors/packet-hci_usb.c
index ffedc46ea8..725b50c7e8 100644
--- a/epan/dissectors/packet-hci_usb.c
+++ b/epan/dissectors/packet-hci_usb.c
@@ -92,7 +92,7 @@ void proto_register_hci_usb(void);
void proto_reg_handoff_hci_usb(void);
static int
-dissect_hci_usb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+dissect_hci_usb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
{
proto_item *ttree = NULL;
proto_tree *titem = NULL;
@@ -113,7 +113,7 @@ dissect_hci_usb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
col_clear(pinfo->cinfo, COL_INFO);
- usb_data = (usb_data_t *) pinfo->private_data;
+ usb_data = (usb_data_t *)data;
p2p_dir_save = pinfo->p2p_dir;
pinfo->p2p_dir = usb_data->direction;
diff --git a/epan/dissectors/packet-usb.c b/epan/dissectors/packet-usb.c
index 56ccbb3c21..546e35ea1f 100644
--- a/epan/dissectors/packet-usb.c
+++ b/epan/dissectors/packet-usb.c
@@ -2547,7 +2547,6 @@ dissect_usb_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent,
guint bus_id = 0;
guint device_address = 0;
usb_data_t *usb_data;
- void *pd_save;
tvbuff_t *next_tvb = NULL;
col_set_str(pinfo->cinfo, COL_PROTOCOL, "USB");
@@ -2627,9 +2626,6 @@ dissect_usb_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent,
usb_data->direction = P2P_DIR_SENT;
}
- pd_save = pinfo->private_data;
- pinfo->private_data = usb_data;
-
/* Set up addresses and ports. */
if (is_request) {
src_addr.device = 0xffffffff;
@@ -3297,7 +3293,7 @@ dissect_usb_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent,
next_tvb = tvb_new_subset_remaining(tvb, offset);
- if (!dissector_try_uint(device_to_dissector, (guint32) (bus_id << 8 | device_address), next_tvb, pinfo, parent)) {
+ if (!dissector_try_uint_new(device_to_dissector, (guint32) (bus_id << 8 | device_address), next_tvb, pinfo, parent, FALSE, usb_data)) {
wmem_tree_key_t key[4];
guint32 k_frame_number;
guint32 k_device_address;
@@ -3320,7 +3316,7 @@ dissect_usb_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent,
device_protocol_data = (device_protocol_data_t *)wmem_tree_lookup32_array_le(device_to_protocol_table, key);
if (device_protocol_data && device_protocol_data->bus_id == bus_id &&
device_protocol_data->device_address == device_address &&
- dissector_try_uint(protocol_to_dissector, (guint32) device_protocol_data->protocol, next_tvb, pinfo, parent)) {
+ dissector_try_uint_new(protocol_to_dissector, (guint32) device_protocol_data->protocol, next_tvb, pinfo, parent, FALSE, usb_data)) {
offset += tvb_length_remaining(tvb, offset);
} else {
device_product_data_t *device_product_data;
@@ -3328,7 +3324,8 @@ dissect_usb_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent,
device_product_data = (device_product_data_t *)wmem_tree_lookup32_array_le(device_to_product_table, key);
if (device_product_data && device_product_data->bus_id == bus_id &&
device_product_data->device_address == device_address &&
- dissector_try_uint(product_to_dissector, (guint32) (device_product_data->vendor << 16 | device_product_data->product), next_tvb, pinfo, parent)) {
+ dissector_try_uint_new(product_to_dissector, (guint32) (device_product_data->vendor << 16 | device_product_data->product),
+ next_tvb, pinfo, parent, FALSE, usb_data)) {
offset += tvb_length_remaining(tvb, offset);
}
}
@@ -3340,8 +3337,6 @@ dissect_usb_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent,
/* There is leftover capture data to add (padding?) */
proto_tree_add_item(parent, hf_usb_capdata, tvb, offset, -1, ENC_NA);
}
-
- pinfo->private_data = pd_save;
}
static void