aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/wimax
diff options
context:
space:
mode:
authorJaap Keuter <jaap.keuter@xs4all.nl>2008-08-14 18:05:18 +0000
committerJaap Keuter <jaap.keuter@xs4all.nl>2008-08-14 18:05:18 +0000
commit677ce2b209274e29032a77ecc727a38bf7792e42 (patch)
treeb8586f754a5dec199180ae5693c8dd63e6a68f6b /plugins/wimax
parent837f0d9d53c58900b679be0b65c1f2432d2fb23c (diff)
From Frank Wang:
dl-map decoder error when decode HARQ_DLMAP_IE and normal IE. svn path=/trunk/; revision=26020
Diffstat (limited to 'plugins/wimax')
-rw-r--r--plugins/wimax/msg_dlmap.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/plugins/wimax/msg_dlmap.c b/plugins/wimax/msg_dlmap.c
index 4ed72db1b3..71df456fdd 100644
--- a/plugins/wimax/msg_dlmap.c
+++ b/plugins/wimax/msg_dlmap.c
@@ -1503,7 +1503,7 @@ gint HARQ_DL_MAP_IE(proto_tree *diuc_tree, const guint8 *bufptr, gint offset, gi
gint data;
proto_item *ti = NULL;
proto_tree *tree = NULL;
- gint len, lastbit, rui, mode, sub_len;
+ gint len, lastbit, rui, mode, sub_len, pad;
bit = NIB_TO_BIT(offset);
@@ -1566,6 +1566,13 @@ gint HARQ_DL_MAP_IE(proto_tree *diuc_tree, const guint8 *bufptr, gint offset, gi
}
bit += NIB_TO_BIT(sub_len);
}
+
+ pad = NIB_TO_BIT(offset) + length - bit;
+ if (pad) {
+ proto_tree_add_text(tree, tvb, BITHI(bit,pad), "Padding: %d bits",pad);
+ bit += pad;
+ }
+
return BIT_TO_NIB(bit);
}
@@ -2406,7 +2413,7 @@ gint dissect_dlmap_ie(proto_tree *ie_tree, const guint8 *bufptr, gint offset, gi
if (INC_CID)
{
n_cid = NIB_BYTE(nibble, bufptr);
- proto_tree_add_item(tree, hf_dlmap_ie_ncid, tvb, NIBHI(nibble,2), FALSE);
+ proto_tree_add_uint(tree, hf_dlmap_ie_ncid, tvb, NIBHI(nibble, 2), n_cid);
nibble += 2;
for (i = 0; i < n_cid; i++)
@@ -2416,7 +2423,8 @@ gint dissect_dlmap_ie(proto_tree *ie_tree, const guint8 *bufptr, gint offset, gi
/* RCID_Type comes from 6.3.2.3.43.2 [2] Format_configuration_IE in Compact_DL-MAP_IE */
nibble += RCID_IE(tree, bufptr, nibble*4, length, tvb, RCID_Type) / 4;
} else {
- proto_tree_add_item(tree, hf_dlmap_ie_cid, tvb, NIBHI(nibble,4), FALSE);
+ data = NIB_WORD(nibble, bufptr);
+ proto_tree_add_uint(tree, hf_dlmap_ie_cid, tvb, NIBHI(nibble, 4), data);
nibble += 4;
}
}