diff options
author | Chris Maynard <Christopher.Maynard@GTECH.COM> | 2013-07-01 03:31:11 +0000 |
---|---|---|
committer | Chris Maynard <Christopher.Maynard@GTECH.COM> | 2013-07-01 03:31:11 +0000 |
commit | 50d79e872ade9f396d7782624c848219781456cf (patch) | |
tree | 630f797c80fde6e4523b9a6a25b14097992e5446 /epan | |
parent | c12624f43bb13e910c8e4963e8a7f576d1b11724 (diff) |
A better fix than r50278.
svn path=/trunk/; revision=50279
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-zbee-zcl-ha.c | 68 |
1 files changed, 32 insertions, 36 deletions
diff --git a/epan/dissectors/packet-zbee-zcl-ha.c b/epan/dissectors/packet-zbee-zcl-ha.c index 77e163afc1..4f22ca8d8a 100644 --- a/epan/dissectors/packet-zbee-zcl-ha.c +++ b/epan/dissectors/packet-zbee-zcl-ha.c @@ -810,8 +810,8 @@ static const value_string zbee_zcl_appl_evtalt_status_names[] = { static void dissect_zbee_zcl_appl_evtalt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - proto_item *payload_root = NULL; - proto_tree *payload_tree = NULL; + proto_item *payload_root; + proto_tree *payload_tree; zbee_zcl_packet *zcl = (zbee_zcl_packet *)pinfo->private_data; guint offset = 0; guint8 cmd_id = zcl->cmd_id; @@ -819,22 +819,21 @@ dissect_zbee_zcl_appl_evtalt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree /* Create a subtree for the ZCL Command frame, and add the command ID to it. */ if (zcl->direction == ZBEE_ZCL_FCF_TO_SERVER) { + /* Append the command name to the info column. */ + col_append_fstr(pinfo->cinfo, COL_INFO, "%s, Seq: %u", + val_to_str_const(cmd_id, zbee_zcl_appl_evtalt_srv_rx_cmd_names, "Unknown Command"), + zcl->tran_seqno); + /* Add the command ID. */ proto_tree_add_item(tree, hf_zbee_zcl_appl_evtalt_srv_rx_cmd_id, tvb, offset, 1, cmd_id); + /* Check is this command has a payload, than add the payload tree */ rem_len = tvb_reported_length_remaining(tvb, ++offset); if (rem_len > 0) { /*payload_root = */proto_tree_add_text(tree, tvb, offset, rem_len, "Payload"); /*payload_tree = proto_item_add_subtree(payload_root, ett_zbee_zcl_appl_evtalt);*/ - } - - /* Append the command name to the info column. */ - col_append_fstr(pinfo->cinfo, COL_INFO, "%s, Seq: %u", - val_to_str_const(cmd_id, zbee_zcl_appl_evtalt_srv_rx_cmd_names, "Unknown Command"), - zcl->tran_seqno); - /* Call the appropriate command dissector */ - if (payload_tree) { + /* Call the appropriate command dissector */ switch (cmd_id) { case ZBEE_ZCL_CMD_ID_APPL_EVTALT_GET_ALERTS_CMD: /* No payload */ @@ -846,22 +845,21 @@ dissect_zbee_zcl_appl_evtalt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree } } else { /* ZBEE_ZCL_FCF_TO_CLIENT */ + /* Append the command name to the info column. */ + col_append_fstr(pinfo->cinfo, COL_INFO, "%s, Seq: %u", + val_to_str_const(cmd_id, zbee_zcl_appl_evtalt_srv_tx_cmd_names, "Unknown Command"), + zcl->tran_seqno); + /* Add the command ID. */ proto_tree_add_item(tree, hf_zbee_zcl_appl_evtalt_srv_tx_cmd_id, tvb, offset, 1, cmd_id); + /* Check is this command has a payload, than add the payload tree */ rem_len = tvb_reported_length_remaining(tvb, ++offset); if (rem_len > 0) { payload_root = proto_tree_add_text(tree, tvb, offset, rem_len, "Payload"); payload_tree = proto_item_add_subtree(payload_root, ett_zbee_zcl_appl_evtalt); - } - - /* Append the command name to the info column. */ - col_append_fstr(pinfo->cinfo, COL_INFO, "%s, Seq: %u", - val_to_str_const(cmd_id, zbee_zcl_appl_evtalt_srv_tx_cmd_names, "Unknown Command"), - zcl->tran_seqno); - /* Call the appropriate command dissector */ - if (payload_tree) { + /* Call the appropriate command dissector */ switch (cmd_id) { case ZBEE_ZCL_CMD_ID_APPL_EVTALT_GET_ALERTS_RSP_CMD: case ZBEE_ZCL_CMD_ID_APPL_EVTALT_ALERTS_NOTIF_CMD: @@ -1193,8 +1191,8 @@ static const value_string zbee_zcl_appl_stats_srv_tx_cmd_names[] = { static void dissect_zbee_zcl_appl_stats (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - proto_item *payload_root = NULL; - proto_tree *payload_tree = NULL; + proto_item *payload_root; + proto_tree *payload_tree; zbee_zcl_packet *zcl = (zbee_zcl_packet *)pinfo->private_data; guint offset = 0; guint8 cmd_id = zcl->cmd_id; @@ -1202,22 +1200,21 @@ dissect_zbee_zcl_appl_stats (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree /* Create a subtree for the ZCL Command frame, and add the command ID to it. */ if (zcl->direction == ZBEE_ZCL_FCF_TO_SERVER) { + /* Append the command name to the info column. */ + col_append_fstr(pinfo->cinfo, COL_INFO, "%s, Seq: %u", + val_to_str_const(cmd_id, zbee_zcl_appl_stats_srv_rx_cmd_names, "Unknown Command"), + zcl->tran_seqno); + /* Add the command ID. */ proto_tree_add_item(tree, hf_zbee_zcl_appl_stats_srv_rx_cmd_id, tvb, offset, 1, cmd_id); + /* Check is this command has a payload, than add the payload tree */ rem_len = tvb_reported_length_remaining(tvb, ++offset); if (rem_len > 0) { payload_root = proto_tree_add_text(tree, tvb, offset, rem_len, "Payload"); payload_tree = proto_item_add_subtree(payload_root, ett_zbee_zcl_appl_stats); - } - - /* Append the command name to the info column. */ - col_append_fstr(pinfo->cinfo, COL_INFO, "%s, Seq: %u", - val_to_str_const(cmd_id, zbee_zcl_appl_stats_srv_rx_cmd_names, "Unknown Command"), - zcl->tran_seqno); - /* Call the appropriate command dissector */ - if (payload_tree) { + /* Call the appropriate command dissector */ switch (cmd_id) { case ZBEE_ZCL_CMD_ID_APPL_STATS_LOG_REQ: dissect_zcl_appl_stats_log_req(tvb, payload_tree, &offset); @@ -1233,22 +1230,21 @@ dissect_zbee_zcl_appl_stats (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree } } else { /* ZBEE_ZCL_FCF_TO_CLIENT */ + /* Append the command name to the info column. */ + col_append_fstr(pinfo->cinfo, COL_INFO, "%s, Seq: %u", + val_to_str_const(cmd_id, zbee_zcl_appl_stats_srv_tx_cmd_names, "Unknown Command"), + zcl->tran_seqno); + /* Add the command ID. */ proto_tree_add_item(tree, hf_zbee_zcl_appl_stats_srv_tx_cmd_id, tvb, offset, 1, cmd_id); + /* Check is this command has a payload, than add the payload tree */ rem_len = tvb_reported_length_remaining(tvb, ++offset); if (rem_len > 0) { payload_root = proto_tree_add_text(tree, tvb, offset, rem_len, "Payload"); payload_tree = proto_item_add_subtree(payload_root, ett_zbee_zcl_appl_stats); - } - - /* Append the command name to the info column. */ - col_append_fstr(pinfo->cinfo, COL_INFO, "%s, Seq: %u", - val_to_str_const(cmd_id, zbee_zcl_appl_stats_srv_tx_cmd_names, "Unknown Command"), - zcl->tran_seqno); - /* Call the appropriate command dissector */ - if (payload_tree) { + /* Call the appropriate command dissector */ switch (cmd_id) { case ZBEE_ZCL_CMD_ID_APPL_STATS_LOG_NOTIF: case ZBEE_ZCL_CMD_ID_APPL_STATS_LOG_RSP: |