Le 11/10/2012 05:10, mman...@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.quan...@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...@darkjames.pl
> <mailto:darkjames...@darkjames.pl>>
>
>     Hi Pascal,
>
>     On Wed, Oct 03, 2012 at 10:36:47AM +0200, Pascal Quantin wrote:
>     > 2012/10/3 Jakub Zawadzki <darkjames...@darkjames.pl
>     <mailto:darkjames...@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-requ...@wireshark.org?subject=unsubscribe

Reply via email to