I thought this was a good idea, just took a while to get around to it:
https://code.wireshark.org/review/19211

 
-----Original Message-----
From: Guy Harris <[email protected]>
To: Developer support list for Wireshark <[email protected]>
Sent: Fri, May 8, 2015 3:09 pm
Subject: Re: [Wireshark-dev] proto.h extension


On May 8, 2015, at 7:06 AM, "John Dill" <[email protected]> wrote:

>> Message: 3
>> Date: Thu, 7 May 2015 11:29:22 -0700
>> From: Guy Harris <[email protected]>
>> To: Developer support list for Wireshark <[email protected]>
>> Subject: Re: [Wireshark-dev] proto.h extension
>> Message-ID: <[email protected]>
>> Content-Type: text/plain; charset=iso-8859-1
>> 
>> On May 7, 2015, at 8:13 AM, "John Dill" <[email protected]> wrote:
>> 
>>> I have a couple of extensions that I created for the Wireshark baseline
>> that we're using (1.10.x).  The diffs to proto.h and proto.c show the code
>> changes to add a couple of features that I've found useful, unit strings
>> and hiding the bits for bitmask header fields.
>>> 
>>> http://codepad.org/KTGdEL1t 
>> 
>> You need more than
>> 
>>      /* Following constants have to be ORed with a base_display_e when 
>> dissector
>>       * want to control aspects of the display string for a 
>> header_field_info */
>> 
>> as a comment there - you need comments explaining what each of those flags 
>> actually *does*.
> 
> Guy,
> 
> Sorry it wasn't clear.  Starting from this snippet...
> 
> /*
> * BASE_UNIT_STRING - Append a unit string to the numeric value

That one's reasonable; I've thought of a similar option.

> *
> * When active, Wireshark will append a unit string declared as a
> * simple 'char *' for the 'strings' to the numeric value.

You might want to, instead, have it be a structure with a pair of strings, so 
that if the field has the value 1, you can print the singular rather than the 
plural, e.g.:

struct unit_names {
        char *singular; /* name to use for 1 unit */
        char *plural;   /* name to use for < 1 or > 1 units */
};

struct unit_names feet {
        "foot",
        "feet"
};

{
 &hf_MFD_State_Data_Slew_Elevation_Ch1,
 {
   "Slew_Elevation_Ch1",
   "ndo.MFD_State_Data.Slew_Elevation_Ch1",
   FT_FLOAT,
   BASE_NONE | BASE_UNIT_STRING,
   &feet,
   0x0,
   NULL,
   HFILL
 }
},

(For floating-point numbers, "1 unit" means "*exactly* 1 unit", i.e. an exact 
floating-point comparison with 1x2^0.)

We could either

        1) require that both be non-null

or

        2) assume that, if the plural is null, you can pluralize using the 
standard rules of English.

Does anybody have a preference there?

___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <[email protected]>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:[email protected]?subject=unsubscribe

Reply via email to