diff options
author | Ulf Lamping <ulf.lamping@web.de> | 2004-05-14 17:34:51 +0000 |
---|---|---|
committer | Ulf Lamping <ulf.lamping@web.de> | 2004-05-14 17:34:51 +0000 |
commit | ae82f88d9810fb2f84f879c17119022fd3671e47 (patch) | |
tree | ef59f1cee7b196cf3553da5f0e6ca6e6db532f35 /reassemble.c | |
parent | 276794e038ae925c0a13c03b66f8d0021f109a47 (diff) |
add support to link from specially marked fields to related packets,
a doubleclick will follow the link
svn path=/trunk/; revision=10897
Diffstat (limited to 'reassemble.c')
-rw-r--r-- | reassemble.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/reassemble.c b/reassemble.c index 034f9c5e0c..dfa8aa6c4e 100644 --- a/reassemble.c +++ b/reassemble.c @@ -1,7 +1,7 @@ /* reassemble.c * Routines for {fragment,segment} reassembly * - * $Id: reassemble.c,v 1.46 2004/04/24 06:46:04 ulfl Exp $ + * $Id: reassemble.c,v 1.47 2004/05/14 17:34:51 ulfl Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -1568,34 +1568,41 @@ show_fragment(fragment_data *fd, int offset, const fragment_items *fit, offset, offset+fd->len-1, fd->len); + PROTO_ITEM_SET_GENERATED(fei); + PROTO_ITEM_SET_LINK(fei); fet = proto_item_add_subtree(fei, *(fit->ett_fragment)); if (fd->flags&FD_OVERLAP) { - proto_tree_add_boolean(fet, + fei=proto_tree_add_boolean(fet, *(fit->hf_fragment_overlap), tvb, 0, 0, TRUE); + PROTO_ITEM_SET_GENERATED(fei); } if (fd->flags&FD_OVERLAPCONFLICT) { - proto_tree_add_boolean(fet, + fei=proto_tree_add_boolean(fet, *(fit->hf_fragment_overlap_conflict), tvb, 0, 0, TRUE); + PROTO_ITEM_SET_GENERATED(fei); } if (fd->flags&FD_MULTIPLETAILS) { - proto_tree_add_boolean(fet, + fei=proto_tree_add_boolean(fet, *(fit->hf_fragment_multiple_tails), tvb, 0, 0, TRUE); + PROTO_ITEM_SET_GENERATED(fei); } if (fd->flags&FD_TOOLONGFRAGMENT) { - proto_tree_add_boolean(fet, + fei=proto_tree_add_boolean(fet, *(fit->hf_fragment_too_long_fragment), tvb, 0, 0, TRUE); + PROTO_ITEM_SET_GENERATED(fei); } } else { + proto_item *fei; /* nothing of interest for this fragment */ - proto_tree_add_uint_format(ft, *(fit->hf_fragment), + fei=proto_tree_add_uint_format(ft, *(fit->hf_fragment), tvb, offset, fd->len, fd->frame, "Frame: %u, payload: %u-%u (%u bytes)", @@ -1604,6 +1611,8 @@ show_fragment(fragment_data *fd, int offset, const fragment_items *fit, offset+fd->len-1, fd->len ); + PROTO_ITEM_SET_GENERATED(fei); + PROTO_ITEM_SET_LINK(fei); } } @@ -1642,6 +1651,8 @@ show_fragment_tree(fragment_data *fd_head, const fragment_items *fit, fi = proto_tree_add_item(tree, *(fit->hf_fragments), tvb, 0, -1, FALSE); + PROTO_ITEM_SET_GENERATED(fi); + ft = proto_item_add_subtree(fi, *(fit->ett_fragments)); for (fd = fd_head->next; fd != NULL; fd = fd->next) show_fragment(fd, fd->offset, fit, ft, tvb); @@ -1669,6 +1680,7 @@ show_fragment_seq_tree(fragment_data *fd_head, const fragment_items *fit, fi = proto_tree_add_item(tree, *(fit->hf_fragments), tvb, 0, -1, FALSE); + PROTO_ITEM_SET_GENERATED(fi); ft = proto_item_add_subtree(fi, *(fit->ett_fragments)); offset = 0; next_offset = 0; |