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] BASE_CUSTOM and 64-bit values

From: David Arnold <davida@xxxxxxxxx>
Date: Sun, 17 Mar 2013 16:58:47 +0100
On 14/03/2013, at 10:36 PM, Guy Harris wrote:

> You could use proto_tree_add_uint64_format_value().

I ended up writing a 

    static void
    foo_tree_add_timestamp(
        proto_tree *tree,
        const int hf,
        tvbuff_t *tvb,
        gint offset);

which extracts the value using tvb_get_ntoh64(), splits it into hours, minutes, seconds and nanoseconds, writes it to a wmem_packet_scope() buffer using g_snprintf(), and calls proto_tree_add_string() to populate the FT_STRING, BASE_NONE element from my header_field_info array.  It's only a few more lines of code than the BASE_CUSTOM formatting function would have been.

My question then becomes one of consistency: should I do this for all my BASE_CUSTOM cases?   Or is there some advantage in using BASE_CUSTOM that I've missed (beyond saving a couple of lines of code)?

Thanks,




d