Wireshark mailing list archives

Re: r45266: proto_tree_add_uint_format_value(..., value, ..., value + 1)


From: Pascal Quantin <pascal.quantin () gmail com>
Date: Thu, 11 Oct 2012 07:26:11 +0200

Le 11/10/2012 05:10, mmann78 () netscape net a écrit :
Pascal,
 
Did you settle on the value, value+1?  I think I have the exact same
problem in bug 7728
(https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7768)
Hi,

right now I'm displaying the value like what we would do with a
value_string array: computed value and raw value in parenthesis. It is
the best trade-off I could think to so far:
            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 (%d)", oct+1,
oct);
Any other idea is welcome.

Regards,
Pascal.

-----Original Message-----
From: Pascal Quantin <pascal.quantin () gmail com>
To: Developer support list for Wireshark <wireshark-dev () wireshark org>
Sent: Wed, Oct 3, 2012 8:18 am
Subject: Re: [Wireshark-dev] r45266:
proto_tree_add_uint_format_value(..., value, ..., value + 1)

Hi,

2012/10/3 Jakub Zawadzki <darkjames-ws () darkjames pl
<mailto:darkjames-ws () darkjames pl>>

    Hi Pascal,

    On Wed, Oct 03, 2012 at 10:36:47AM +0200, Pascal Quantin wrote:
    > 2012/10/3 Jakub Zawadzki <darkjames-ws () darkjames pl
    <mailto:darkjames-ws () darkjames pl>>
    >
    > > 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?

    Still I don't understand why you decided to have different values
    for tree and filter.
    Why not:
      proto_tree_add_uint(tf_tree, hf_gsm_a_sm_tft_pkt_flt_id, tvb,
    curr_offset, 1, oct + 1); ?


That's what I did first but in that case the bit string displayed
before the filter name does not correspond to the real bit string of
the message in the hex pane:
.... 0010 = Packet filter identifier: 2
while the byte in the hex pane ix 0x31.
I found it even more confusing.

Pascal.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe

Current thread: