On 6/9/2012 2:26 PM, Jeff Morriss wrote:
The code in epan/proto.c seems to indicate that using BASE_NONE with
FT_*INT* types should be OK when there the strings converter is supplied:
case FT_UINT32:
case FT_UINT64:
if (hfinfo->strings == NULL) {
/* Require integral types (other than frame number,
* which is always displayed in decimal) to have a
* number base */
if (hfinfo->display == BASE_NONE)
g_error("Field '%s' (%s) is an integral value (%s)"
" without strings but is being displayed as BASE_NONE\n",
hfinfo->name, hfinfo->abbrev,
val_to_str(hfinfo->type, hf_types, "(Unknown: %d)"));
}
Where was it crashing (er, excepting out)? (There's no sample PCAP file
in that bug.)
On a separate note: If hfinfo->display has BASE_RANGE_STRING or
BASE_EXT_STRING set, the test for BASE_NONE won't work.
'if ((hfinfo->display & BASE_DISPLAY_E_MASK) == BASE_NONE)'
is the correct way....
I'll be fixing this shortly in several places in proto.c
(I think that only "validation" code is affected, not any "real" code).
Bill