diff options
author | desolat <nuabaranda@web.de> | 2014-11-08 13:05:03 +0100 |
---|---|---|
committer | Evan Huus <eapache@gmail.com> | 2014-11-08 20:52:22 +0000 |
commit | ae61a41e578692db7e89bae2f3f1a90918c2e62d (patch) | |
tree | d9e16e14cda6fab42b53ab4a5eab8ea1d30506ec /epan/dissectors/packet-bacapp.c | |
parent | 79d3c33c17978c713568d38b6432d3d6d7124e63 (diff) |
BACAPP: fix dissection of event parameters for event notifications of Event_Type Change_of_Characterstring
Implementation for this event parameter type was missing
Bug: 9625
Change-Id: I575d387ec4764fa1ecd365624d13e3f41e2473c6
Reviewed-on: https://code.wireshark.org/review/5189
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Evan Huus <eapache@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-bacapp.c')
-rw-r--r-- | epan/dissectors/packet-bacapp.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/epan/dissectors/packet-bacapp.c b/epan/dissectors/packet-bacapp.c index d94db82c6c..398e02e9d3 100644 --- a/epan/dissectors/packet-bacapp.c +++ b/epan/dissectors/packet-bacapp.c @@ -8067,6 +8067,27 @@ fNotificationParameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gui } break; case 17: /* change-of-characterstring */ + while (tvb_reported_length_remaining(tvb, offset) > 0) { /* exit loop if nothing happens inside */ + lastoffset = offset; + switch (fTagNo(tvb, offset)) { + case 0: + /* changed-value (CharacterString) */ + offset = fCharacterString(tvb, pinfo, subtree, offset, "changed-value: "); + break; + case 1: + offset = fBitStringTagVS(tvb, pinfo, subtree, offset, + "status-flags: ", BACnetStatusFlags); + break; + case 2: + /* alarm-value (CharacterString) */ + offset = fCharacterString(tvb, pinfo, subtree, offset, "alarm-value: "); + lastoffset = offset; + break; + default: + break; + } + if (offset == lastoffset) break; /* nothing happened, exit loop */ + } break; case 18: /* change-of-status-flags */ break; |