diff options
author | Richard Sharpe <sharpe@ns.aus.com> | 2003-03-04 04:36:44 +0000 |
---|---|---|
committer | Richard Sharpe <sharpe@ns.aus.com> | 2003-03-04 04:36:44 +0000 |
commit | 9a57223addead8c42ff2c9b98c88aa68d5f670fe (patch) | |
tree | 623cbfb4acc0bceff58fb5d1951028f889bb978f /packet-tcp.c | |
parent | f98f162689a244912c0c14c521699fca80381073 (diff) | |
download | wireshark-9a57223addead8c42ff2c9b98c88aa68d5f670fe.tar.gz wireshark-9a57223addead8c42ff2c9b98c88aa68d5f670fe.tar.bz2 wireshark-9a57223addead8c42ff2c9b98c88aa68d5f670fe.zip |
Pretty up the handling of SACK. Have tested now, looks OK.
svn path=/trunk/; revision=7273
Diffstat (limited to 'packet-tcp.c')
-rw-r--r-- | packet-tcp.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/packet-tcp.c b/packet-tcp.c index bdd2e77b4a..44e33b6c3b 100644 --- a/packet-tcp.c +++ b/packet-tcp.c @@ -1,7 +1,7 @@ /* packet-tcp.c * Routines for TCP packet disassembly * - * $Id: packet-tcp.c,v 1.184 2003/03/03 23:20:57 sahlberg Exp $ + * $Id: packet-tcp.c,v 1.185 2003/03/04 04:36:44 sharpe Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -1573,6 +1573,8 @@ dissect_tcpopt_sack(const ip_tcp_opt *optp, tvbuff_t *tvb, if (field_tree == NULL) { /* Haven't yet made a subtree out of this option. Do so. */ field_tree = proto_item_add_subtree(tf, *optp->subtree_index); + proto_tree_add_boolean_hidden(field_tree, hf_tcp_option_sack, tvb, + offset, optlen, TRUE); } if (optlen < 4) { proto_tree_add_text(field_tree, tvb, offset, optlen, @@ -1580,6 +1582,9 @@ dissect_tcpopt_sack(const ip_tcp_opt *optp, tvbuff_t *tvb, break; } leftedge = tvb_get_ntohl(tvb, offset); + proto_tree_add_uint_format(field_tree, hf_tcp_option_sack_sle, tvb, + offset, 4, leftedge, + "left edge = %u", leftedge); optlen -= 4; if (optlen < 4) { proto_tree_add_text(field_tree, tvb, offset, optlen, @@ -1589,13 +1594,8 @@ dissect_tcpopt_sack(const ip_tcp_opt *optp, tvbuff_t *tvb, /* XXX - check whether it goes past end of packet */ rightedge = tvb_get_ntohl(tvb, offset + 4); optlen -= 4; - proto_tree_add_boolean_hidden(field_tree, hf_tcp_option_sack, tvb, - offset, 8, TRUE); - proto_tree_add_uint_format(field_tree, hf_tcp_option_sack_sle, tvb, - offset, 8, leftedge, - "left edge = %u", leftedge); proto_tree_add_uint_format(field_tree, hf_tcp_option_sack_sre, tvb, - offset, 8, rightedge, + offset+4, 4, rightedge, "right edge = %u", rightedge); tcp_info_append_uint(pinfo, "SLE", leftedge); tcp_info_append_uint(pinfo, "SRE", rightedge); |