aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Mayer <jmayer@loplof.de>2014-11-17 21:05:11 +0100
committerJörg Mayer <jmayer@loplof.de>2014-11-17 20:07:39 +0000
commit4a86d622b1d7c66f30e3ccaedebcc0b9a93c96c5 (patch)
treebcb7a8030dd408959759b7c1192bbbc9f7293605
parent82bb3630de73d543cb17a79f7b7c64e38ba67b35 (diff)
Use ntoh24 instead of less readable and less correct code.
Remove redundant / wrong comments. Add two small (helpful) comments :-) Change-Id: I9c5451587d744a8418e6a90139b771a055e93387 Reviewed-on: https://code.wireshark.org/review/5366 Reviewed-by: Jörg Mayer <jmayer@loplof.de>
-rw-r--r--epan/dissectors/packet-wsmp.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/epan/dissectors/packet-wsmp.c b/epan/dissectors/packet-wsmp.c
index a18c29a607..9ac2fe7e2e 100644
--- a/epan/dissectors/packet-wsmp.c
+++ b/epan/dissectors/packet-wsmp.c
@@ -30,12 +30,13 @@
#include <epan/packet.h>
#include <epan/etypes.h>
+/* elemenID Types */
+#define TRANSMITPW 0x04
+#define CHANNUM 0x0F
+#define DATARATE 0x10
#define WSMP 0x80
#define WSMP_S 0x81
#define WSMP_I 0x82
-#define CHANNUM 0x0F
-#define DATARATE 0x10
-#define TRANSMITPW 0x04
void proto_register_wsmp(void);
void proto_reg_handoff_wsmp(void);
@@ -70,7 +71,7 @@ static int wme_getpsidlen (guint8 *psid)
int length = 0;
if ((psid[0] & 0xF0) == 0xF0) {
length = 255;
- } else if ( (psid[0] & 0xE0) == 0xE0) {
+ } else if ( (psid[0] & 0xF0) == 0xE0) {
length = 4;
} else if ( (psid[0] & 0xE0) == 0xC0) {
length = 3;
@@ -119,11 +120,7 @@ dissect_wsmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if (psidLen == 2)
psid = tvb_get_ntohs(tvb, offset);
else if (psidLen == 3)
- {
- psid = tvb_get_ntohl(tvb, offset);
- psid = psid & 0x00FFFF; /* three bytes */
-
- }
+ psid = tvb_get_ntoh24(tvb, offset);
else if (psidLen == 4)
psid = tvb_get_ntohl(tvb, offset);
@@ -132,13 +129,13 @@ dissect_wsmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
offset += psidLen;
+ /* TLV decoder that does not display the T and L elements */
elemenId = tvb_get_guint8(tvb, offset);
while ((elemenId != WSMP) && (elemenId != WSMP_S) && (elemenId != WSMP_I))
{
offset++;
if (elemenId == CHANNUM)
{
- /* channel number */
elemenLen = tvb_get_guint8(tvb, offset);
offset++;
proto_tree_add_item(wsmp_tree,
@@ -147,7 +144,6 @@ dissect_wsmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
}
else if (elemenId == DATARATE)
{
- /* Data rate */
elemenLen = tvb_get_guint8(tvb, offset);
offset++;
proto_tree_add_item(wsmp_tree,
@@ -156,7 +152,6 @@ dissect_wsmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
}
else if (elemenId == TRANSMITPW)
{
- /* Transmit power */
elemenLen = tvb_get_guint8(tvb, offset);
offset++;
proto_tree_add_item(wsmp_tree,
@@ -208,7 +203,6 @@ dissect_wsmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
void
proto_register_wsmp(void)
{
- /* Setup list of header fields See Section 1.6.1 for details*/
static hf_register_info hf[] = {
{ &hf_wsmp_version,
{ "Version", "wsmp.version", FT_UINT8, BASE_DEC, NULL, 0x0,