Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: Re: [Wireshark-dev] r45266: proto_tree_add_uint_format_value(..., value, ..., va

From: Pascal Quantin <pascal.quantin@xxxxxxxxx>
Date: Wed, 3 Oct 2012 10:36:47 +0200
Hi Jakub,

2012/10/3 Jakub Zawadzki <darkjames-ws@xxxxxxxxxxxx>
Hi,

part of r45266 (or 6427287[1]):

#v+
-  proto_tree_add_item(tf_tree, hf_gsm_a_sm_tft_pkt_flt_id, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
+  oct = tvb_get_guint8(tvb, curr_offset) & 0x0f;
+  proto_tree_add_uint_format_value(tf_tree, hf_gsm_a_sm_tft_pkt_flt_id, tvb, curr_offset, 1, oct, "%d", oct+1);
#v-

Now user type display filter: 'gsm_a.gm.sm.tft.pkt_flt_id == 4',
later he checks the value in tree and there is 5.

I'm not sure if it's odd only for me (have not read 3GPP 27.007) or if it could confuse all the users,
also familiar with this specification.

[1] http://code.wireshark.org/git/?p=wireshark;a=commitdiff;h=64272873f088a62b8db71e23e0e38c5c8d80194d

a packet filter identifier goes from 1 to 16 but is encoded on 4 bits, thus my modification. But I understand the confusion it can create when applying a filter. I could add the raw value in parenthesis (as we do for value string arrays) to make things a bit clearer. What do you think? Any other suggestion?

Regards,
Pascal.