diff options
author | wmeier <wmeier@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-09-27 20:41:45 +0000 |
---|---|---|
committer | wmeier <wmeier@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-09-27 20:41:45 +0000 |
commit | 58c653c1c220e4e63e113f815565185778701d2e (patch) | |
tree | bdba8b1209adfc47f8048064bb0b380dc91661e1 /epan/dissectors/packet-uaudp.c | |
parent | ab02c1970c207b6ff0b488405a933de68fb1218b (diff) |
- check_col() no longer needed;
- Calls to col_str_str() and to subdissectors must not be under 'if(tree)';
- Remove unneeded #includes;
- Use tvb_reported_length();
- Use tvb_new_subset_remaining();
- Use val_to_str_const();
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@39172 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-uaudp.c')
-rw-r--r-- | epan/dissectors/packet-uaudp.c | 72 |
1 files changed, 29 insertions, 43 deletions
diff --git a/epan/dissectors/packet-uaudp.c b/epan/dissectors/packet-uaudp.c index c1cc830769..cf12257189 100644 --- a/epan/dissectors/packet-uaudp.c +++ b/epan/dissectors/packet-uaudp.c @@ -33,14 +33,6 @@ #include "config.h" #endif -#ifdef HAVE_SYS_TYPES_H -# include <sys/types.h> -#endif - -#ifdef HAVE_NETINET_IN_H -#include <netinet/in.h> -#endif - #include <epan/packet.h> #include <epan/prefs.h> @@ -96,50 +88,44 @@ static int dissect_uaudp(tvbuff_t *pTvb, packet_info *pInfo, proto_tree *pTree) proto_item *pUAUDP, *pHeaderSubTree; /* PROTOCOL column */ - if(check_col(pInfo->cinfo, COL_PROTOCOL)) - col_set_str(pInfo->cinfo, COL_PROTOCOL, "UAUDP"); + col_set_str(pInfo->cinfo, COL_PROTOCOL, "UAUDP"); - nLen = tvb_length(pTvb); + nLen = tvb_reported_length(pTvb); u8Opcode = tvb_get_guint8(pTvb, 0); /* INFO column */ - if(check_col(pInfo->cinfo, COL_INFO)) - col_set_str(pInfo->cinfo, COL_INFO, val_to_str(u8Opcode, szUaOpcode, "Unknown")); + col_set_str(pInfo->cinfo, COL_INFO, val_to_str_const(u8Opcode, szUaOpcode, "Unknown")); + + /* opcode "UA/UDP Protocol, ..." */ + pUAUDP = proto_tree_add_item(pTree, proto_uaudp, pTvb, 0, -1, ENC_BIG_ENDIAN); + proto_item_append_text(pUAUDP, ", %s (%d)", val_to_str_const(u8Opcode, szUaOpcode, "Unknown"), u8Opcode); - if(pTree) + pHeaderSubTree = proto_item_add_subtree(pUAUDP, ett_uaudp_header); + proto_tree_add_item(pHeaderSubTree, hf_uaudp_opcode, pTvb, 0, 1, ENC_BIG_ENDIAN); + + if(u8Opcode == 7) { - /* opcode "UA/UDP Protocol, ..." */ - pUAUDP = proto_tree_add_item(pTree, proto_uaudp, pTvb, 0, -1, ENC_BIG_ENDIAN); - proto_item_append_text(pUAUDP, ", %s (%d)", val_to_str(u8Opcode, szUaOpcode, "Unknown"), u8Opcode); + int iOffs = 1; + + /* Sequence Number (expected) */ + proto_tree_add_item(pHeaderSubTree, hf_uaudp_expected, pTvb, iOffs, 2, ENC_BIG_ENDIAN); + iOffs += 2; - pHeaderSubTree = proto_item_add_subtree(pUAUDP, ett_uaudp_header); - proto_tree_add_item(pHeaderSubTree, hf_uaudp_opcode, pTvb, 0, 1, ENC_BIG_ENDIAN); + /* Sequence Number (sent) */ + proto_tree_add_item(pHeaderSubTree, hf_uaudp_send, pTvb, iOffs, 2, ENC_BIG_ENDIAN); + iOffs += 2; - if(u8Opcode == 7) + /* Create the tvbuffer for the next dissector */ + if(nLen > iOffs) + { + tvbuff_t *pTvbNext = tvb_new_subset_remaining(pTvb, iOffs); + if(dissector_try_uint(uaudp_dissector_table, 7, pTvbNext, pInfo, pTree)) + iOffs = nLen; + return iOffs; + } + else { - int iOffs = 1; - - /* Sequence Number (expected) */ - proto_tree_add_item(pHeaderSubTree, hf_uaudp_expected, pTvb, iOffs, 2, ENC_BIG_ENDIAN); - iOffs += 2; - - /* Sequence Number (sent) */ - proto_tree_add_item(pHeaderSubTree, hf_uaudp_send, pTvb, iOffs, 2, ENC_BIG_ENDIAN); - iOffs += 2; - - /* Create the tvbuffer for the next dissector */ - if(nLen > iOffs) - { - tvbuff_t *pTvbNext = tvb_new_subset(pTvb, iOffs, -1, -1); - if(dissector_try_uint(uaudp_dissector_table, 7, pTvbNext, pInfo, pTree)) - iOffs = nLen; - return iOffs; - } - else - { - if(check_col(pInfo->cinfo, COL_INFO)) - col_append_str(pInfo->cinfo, COL_INFO, " ACK"); - } + col_append_str(pInfo->cinfo, COL_INFO, " ACK"); } } return nLen; |