diff options
author | Guy Harris <guy@alum.mit.edu> | 2001-01-22 03:33:45 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2001-01-22 03:33:45 +0000 |
commit | 9f2c88966a252520a4bafaa5fee36cf39c1eb85a (patch) | |
tree | d6278fa82b47a9aa4ce9153dbf718e6cfc6b8fdc /packet-igrp.c | |
parent | 79e1fdb9e56339d8d7e8d9df090dc0386cf4131e (diff) | |
download | wireshark-9f2c88966a252520a4bafaa5fee36cf39c1eb85a.tar.gz wireshark-9f2c88966a252520a4bafaa5fee36cf39c1eb85a.tar.bz2 wireshark-9f2c88966a252520a4bafaa5fee36cf39c1eb85a.zip |
Remove more "CHECK_DISPLAY_AS_DATA()" calls and "pinfo->current_proto ="
statements.
Move the setting of the Protocol column in various dissectors before
anything is fetched from the packet, and also clear the Info column at
that point in those and some other dissectors, so that if an exception
is thrown, the columns don't reflect the previous protocol.
Make the IP dissector static, as it's called only via dissector tables
or dissector handles. Also make the "dissect the TOS field as the
DiffServ DS field" flag static, as it's not referred to outside of
"packet-ip.c".
In the NCP dissector, refer to the port type through "pinfo" rather than
through the global "pi", as it's a tvbuffified dissector.
svn path=/trunk/; revision=2929
Diffstat (limited to 'packet-igrp.c')
-rw-r--r-- | packet-igrp.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/packet-igrp.c b/packet-igrp.c index 6b2ad76e94..86a31f1b3e 100644 --- a/packet-igrp.c +++ b/packet-igrp.c @@ -2,7 +2,7 @@ * Routines for IGRP dissection * Copyright 2000, Paul Ionescu <paul@acorp.ro> * - * $Id: packet-igrp.c,v 1.4 2001/01/09 06:31:36 guy Exp $ + * $Id: packet-igrp.c,v 1.5 2001/01/22 03:33:45 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -60,18 +60,16 @@ static void dissect_igrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) proto_tree *igrp_tree, *igrp_vektor_tree; tvbuff_t *next_tvb; - CHECK_DISPLAY_AS_DATA(proto_igrp, tvb, pinfo, tree); - - pinfo->current_proto = "IGRP"; - + if (check_col(pinfo->fd, COL_PROTOCOL)) + col_set_str(pinfo->fd, COL_PROTOCOL, "IGRP"); + if (check_col(pinfo->fd, COL_INFO)) + col_clear(pinfo->fd, COL_INFO); + ver_and_opcode = tvb_get_guint8(tvb,0); update = tvb_get_guint8(tvb,1); as = tvb_get_ntohs(tvb,2); - if (check_col(pinfo->fd, COL_PROTOCOL)) - col_set_str(pinfo->fd, COL_PROTOCOL, "IGRP"); - if (check_col(pinfo->fd, COL_INFO)) { switch (ver_and_opcode) { case 0x11: @@ -207,7 +205,7 @@ void proto_register_igrp(void) void proto_reg_handoff_igrp(void) { - dissector_add("ip.proto", IP_PROTO_IGRP , dissect_igrp, proto_igrp); + dissector_add("ip.proto", IP_PROTO_IGRP, dissect_igrp, proto_igrp); } /* IGRP Packet structure: |