aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaap Keuter <jaap.keuter@xs4all.nl>2007-09-03 05:56:48 +0000
committerJaap Keuter <jaap.keuter@xs4all.nl>2007-09-03 05:56:48 +0000
commitbd56b304c6f545a887ddf2dac996b874186a7fa4 (patch)
tree6c8e75a00016e291ba69aa5c57e1185cbfbf6506
parent24c891ab1f3d46b4e4fb062031d9c36435b81895 (diff)
downloadwireshark-bd56b304c6f545a887ddf2dac996b874186a7fa4.tar.gz
wireshark-bd56b304c6f545a887ddf2dac996b874186a7fa4.tar.bz2
wireshark-bd56b304c6f545a887ddf2dac996b874186a7fa4.zip
Fix for bug 1816:
Add status value to LSSU info column. svn path=/trunk/; revision=22775
-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