diff options
author | Jeff Morriss <jeff.morriss@ulticom.com> | 2010-05-13 18:28:34 +0000 |
---|---|---|
committer | Jeff Morriss <jeff.morriss@ulticom.com> | 2010-05-13 18:28:34 +0000 |
commit | 729de1a635cd21379db622c93f945a19b9f645b2 (patch) | |
tree | 5eb52f5028c6a0ff45e0e6c0501b28f827d62600 /epan/dissectors/packet-kingfisher.c | |
parent | 1c18115bd3e8a0b1a56ab8effcf5843240bde0c6 (diff) |
As suggested in http://www.wireshark.org/lists/wireshark-dev/200809/msg00075.html
(as referenced in https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2907 ) and
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3411 :
Write a new convenience routine for finding a conversation and, if it is not
found, create it. The frame number and addresses are taken from pinfo (as is
the common case).
Use this function in a bunch of dissectors.
svn path=/trunk/; revision=32790
Diffstat (limited to 'epan/dissectors/packet-kingfisher.c')
-rw-r--r-- | epan/dissectors/packet-kingfisher.c | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/epan/dissectors/packet-kingfisher.c b/epan/dissectors/packet-kingfisher.c index 83c4322e19..762e250600 100644 --- a/epan/dissectors/packet-kingfisher.c +++ b/epan/dissectors/packet-kingfisher.c @@ -197,9 +197,9 @@ dissect_kingfisher(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean */ if(is_conv_dissector && (tvb_reported_length(tvb)==1)){ /* - Perform a check to see if the message is a single byte acknowledgement - message - Note that in this instance there is no information in the packet - with regard to source or destination RTU address which can be used in the + Perform a check to see if the message is a single byte acknowledgement + message - Note that in this instance there is no information in the packet + with regard to source or destination RTU address which can be used in the population of dissector fields. */ switch(tvb_get_guint8(tvb, 0)){ @@ -334,20 +334,8 @@ dissect_kingfisher_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) dissector for this tcp/udp socket and attach a conversation dissector to it. */ - /* - * Do we have a conversation for this connection? - */ - conversation = find_conversation(pinfo->fd->num, - &pinfo->src, &pinfo->dst, - pinfo->ptype, - pinfo->srcport, pinfo->destport, 0); - if (conversation == NULL) { - /* We don't yet have a conversation, so create one. */ - conversation = conversation_new(pinfo->fd->num, - &pinfo->src, &pinfo->dst, - pinfo->ptype, - pinfo->srcport, pinfo->destport, 0); - } + conversation = find_or_create_conversation(pinfo); + conversation_set_dissector(conversation, kingfisher_conv_handle); } @@ -376,7 +364,7 @@ proto_register_kingfisher( void ) { &hf_kingfisher_checksum, { "Checksum", "kingfisher.checksum", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } }, }; - static gint *ett[] = { + static gint *ett[] = { &ett_kingfisher }; |