summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-arcnet.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2015-12-19 10:11:40 -0500
committerAnders Broman <a.broman58@gmail.com>2015-12-22 05:23:06 +0000
commitf2b8504740f3fd145a5504682c3788947e151606 (patch)
treecf82793b5becca1f2cd0d2064d3c361e8fe46b7e /epan/dissectors/packet-arcnet.c
parentebb7e000c6b4f2c954923ae26a57a36b665232c1 (diff)
downloadwireshark-f2b8504740f3fd145a5504682c3788947e151606.tar.gz
Don't limit capture packet counts to a fixed set of protocols.
Kept backwards compatibility with GTK+ capture info dialog by keeping the protocols tracked hardcoded, but Qt should have more freedom. Change-Id: I497be71ec761d53f312e14858daa7152d01b8c72 Reviewed-on: https://code.wireshark.org/review/12724 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-arcnet.c')
-rw-r--r--epan/dissectors/packet-arcnet.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/epan/dissectors/packet-arcnet.c b/epan/dissectors/packet-arcnet.c
index ab10565bc2..3c60c40b62 100644
--- a/epan/dissectors/packet-arcnet.c
+++ b/epan/dissectors/packet-arcnet.c
@@ -54,6 +54,9 @@ static int arcnet_address_type = -1;
static dissector_table_t arcnet_dissector_table;
static dissector_handle_t data_handle;
+/* Cache protocol for packet counting */
+static int proto_ipx = -1;
+
static int arcnet_str_len(const address* addr _U_)
{
return 5;
@@ -143,7 +146,7 @@ capture_arcnet_common(const guchar *pd, int offset, int len, capture_packet_info
return capture_arp(pd, offset + 1, len, cpinfo, pseudo_header);
case ARCNET_PROTO_IPX:
- cpinfo->counts->ipx++;
+ capture_dissector_increment_count(cpinfo, proto_ipx);
break;
default:
@@ -408,6 +411,8 @@ proto_reg_handoff_arcnet (void)
arcnet_linux_handle = create_dissector_handle (dissect_arcnet_linux, proto_arcnet);
dissector_add_uint ("wtap_encap", WTAP_ENCAP_ARCNET_LINUX, arcnet_linux_handle);
+ proto_ipx = proto_get_id_by_filter_name("ipx");
+
register_capture_dissector("wtap_encap", WTAP_ENCAP_ARCNET_LINUX, capture_arcnet, proto_arcnet);
register_capture_dissector("wtap_encap", WTAP_ENCAP_ARCNET, capture_arcnet_has_exception, proto_arcnet);
data_handle = find_dissector ("data");