aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ipx.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2013-10-19 23:06:13 +0000
committerMichael Mann <mmann78@netscape.net>2013-10-19 23:06:13 +0000
commit522b4ce5c0a628a33ff864a42d04127a86fd0a45 (patch)
treea9cb82b7d616b6a762951a3fd91301ab6996aa2d /epan/dissectors/packet-ipx.c
parente958d8c08134aa048842d4a934baf2946fa6284e (diff)
Pass SPX "private data" into subdissectors instead of using pinfo->private_data.
svn path=/trunk/; revision=52698
Diffstat (limited to 'epan/dissectors/packet-ipx.c')
-rw-r--r--epan/dissectors/packet-ipx.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/epan/dissectors/packet-ipx.c b/epan/dissectors/packet-ipx.c
index 9e74acaec4..a09f2e0280 100644
--- a/epan/dissectors/packet-ipx.c
+++ b/epan/dissectors/packet-ipx.c
@@ -767,7 +767,6 @@ dissect_spx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
}
if (tvb_reported_length_remaining(tvb, SPX_HEADER_LEN) > 0) {
- void* pd_save;
/*
* Call subdissectors based on the IPX socket numbers; a
* subdissector might have registered with our IPX socket
@@ -796,24 +795,19 @@ dissect_spx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
*/
spx_infox.eom = conn_ctrl & SPX_EOM;
spx_infox.datastream_type = datastream_type;
- pd_save = pinfo->private_data;
- pinfo->private_data = &spx_infox;
next_tvb = tvb_new_subset_remaining(tvb, SPX_HEADER_LEN);
- if (dissector_try_uint(spx_socket_dissector_table, low_socket,
- next_tvb, pinfo, tree))
+ if (dissector_try_uint_new(spx_socket_dissector_table, low_socket,
+ next_tvb, pinfo, tree, FALSE, &spx_infox))
{
- pinfo->private_data = pd_save;
return;
}
- if (dissector_try_uint(spx_socket_dissector_table, high_socket,
- next_tvb, pinfo, tree))
+ if (dissector_try_uint_new(spx_socket_dissector_table, high_socket,
+ next_tvb, pinfo, tree, FALSE, &spx_infox))
{
- pinfo->private_data = pd_save;
return;
}
call_dissector(data_handle, next_tvb, pinfo, tree);
- pinfo->private_data = pd_save;
}
}