aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-mtp2.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-mtp2.c')
-rw-r--r--epan/dissectors/packet-mtp2.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/epan/dissectors/packet-mtp2.c b/epan/dissectors/packet-mtp2.c
index 3cbab9b489..1dfd2ca9e1 100644
--- a/epan/dissectors/packet-mtp2.c
+++ b/epan/dissectors/packet-mtp2.c
@@ -149,22 +149,24 @@ static const value_string status_field_vals[] = {
static void
dissect_mtp2_lssu(tvbuff_t *su_tvb, packet_info *pinfo, proto_item *mtp2_tree)
{
- if (check_col(pinfo->cinfo, COL_INFO))
- col_set_str(pinfo->cinfo, COL_INFO, "LSSU ");
+ guint8 sf = 0xFF;
- if (mtp2_tree) {
- if (use_extended_sequence_numbers) {
- if ((tvb_get_letohs(su_tvb, EXTENDED_LI_OFFSET) & EXTENDED_LI_MASK) == 1)
- proto_tree_add_item(mtp2_tree, hf_mtp2_sf, su_tvb, EXTENDED_SF_OFFSET, SF_LENGTH, LITTLE_ENDIAN_BYTE_ORDER);
- else
- proto_tree_add_item(mtp2_tree, hf_mtp2_long_sf, su_tvb, EXTENDED_SF_OFFSET, LONG_SF_LENGTH, LITTLE_ENDIAN_BYTE_ORDER);
- } else {
- if ((tvb_get_guint8(su_tvb, LI_OFFSET) & LI_MASK) == 1)
- proto_tree_add_item(mtp2_tree, hf_mtp2_sf, su_tvb, SF_OFFSET, SF_LENGTH, LITTLE_ENDIAN_BYTE_ORDER);
- else
- proto_tree_add_item(mtp2_tree, hf_mtp2_long_sf, su_tvb, SF_OFFSET, LONG_SF_LENGTH, LITTLE_ENDIAN_BYTE_ORDER);
- }
+ if (use_extended_sequence_numbers) {
+ if ((tvb_get_letohs(su_tvb, EXTENDED_LI_OFFSET) & EXTENDED_LI_MASK) == 1) {
+ proto_tree_add_item(mtp2_tree, hf_mtp2_sf, su_tvb, EXTENDED_SF_OFFSET, SF_LENGTH, LITTLE_ENDIAN_BYTE_ORDER);
+ sf = tvb_get_guint8(su_tvb, EXTENDED_SF_OFFSET);
+ } else
+ proto_tree_add_item(mtp2_tree, hf_mtp2_long_sf, su_tvb, EXTENDED_SF_OFFSET, LONG_SF_LENGTH, LITTLE_ENDIAN_BYTE_ORDER);
+ } else {
+ if ((tvb_get_guint8(su_tvb, LI_OFFSET) & LI_MASK) == 1) {
+ proto_tree_add_item(mtp2_tree, hf_mtp2_sf, su_tvb, SF_OFFSET, SF_LENGTH, LITTLE_ENDIAN_BYTE_ORDER);
+ sf = tvb_get_guint8(su_tvb, SF_OFFSET);
+ } else
+ proto_tree_add_item(mtp2_tree, hf_mtp2_long_sf, su_tvb, SF_OFFSET, LONG_SF_LENGTH, LITTLE_ENDIAN_BYTE_ORDER);
}
+
+ if (check_col(pinfo->cinfo, COL_INFO))
+ col_add_fstr(pinfo->cinfo, COL_INFO, "LSSU: %s", val_to_str(sf, status_field_vals, "Unknown"));
}
static void