forked from osmocom/wireshark
Allow distinction between bitmasked 32bit and 64bit unsigned integers in proto_tree_set_representation_value.
IS_FT_UINT includes both 32 and 64 bit unsigned integers, but fvalue_get_uinteger only allows 32-bit values, so add IS_FT_UINT32 macro for distinguishing between using fvalue_get_uinteger and fvalue_get_uinteger64. All other cases that use fvalue_get_uinteger vs fvalue_get_uinteger64 are done first with switch statements and don't rely on IS_FT_UINT to distinguish between 32 and 64 bit values Bug: 14063 Change-Id: I9d1400259e7c2661c2b5ebf96aaa0e9d773651fe Reviewed-on: https://code.wireshark.org/review/23528 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
This commit is contained in:
parent
df85480630
commit
2b0e08378f
|
@ -84,6 +84,7 @@ enum ftenum {
|
|||
};
|
||||
|
||||
#define IS_FT_INT(ft) ((ft)==FT_INT8||(ft)==FT_INT16||(ft)==FT_INT24||(ft)==FT_INT32||(ft)==FT_INT40||(ft)==FT_INT48||(ft)==FT_INT56||(ft)==FT_INT64)
|
||||
#define IS_FT_UINT32(ft) ((ft)==FT_CHAR||(ft)==FT_UINT8||(ft)==FT_UINT16||(ft)==FT_UINT24||(ft)==FT_UINT32||(ft)==FT_FRAMENUM)
|
||||
#define IS_FT_UINT(ft) ((ft)==FT_CHAR||(ft)==FT_UINT8||(ft)==FT_UINT16||(ft)==FT_UINT24||(ft)==FT_UINT32||(ft)==FT_UINT40||(ft)==FT_UINT48||(ft)==FT_UINT56||(ft)==FT_UINT64||(ft)==FT_FRAMENUM)
|
||||
#define IS_FT_TIME(ft) ((ft)==FT_ABSOLUTE_TIME||(ft)==FT_RELATIVE_TIME)
|
||||
#define IS_FT_STRING(ft) ((ft)==FT_STRING||(ft)==FT_STRINGZ||(ft)==FT_STRINGZPAD)
|
||||
|
|
|
@ -5098,7 +5098,7 @@ proto_tree_set_representation_value(proto_item *pi, const char *format, va_list
|
|||
guint64 val;
|
||||
char *p;
|
||||
|
||||
if (IS_FT_UINT(hf->type))
|
||||
if (IS_FT_UINT32(hf->type))
|
||||
val = fvalue_get_uinteger(&fi->value);
|
||||
else
|
||||
val = fvalue_get_uinteger64(&fi->value);
|
||||
|
|
Loading…
Reference in New Issue