diff options
author | Stig Bjørlykke <stig@bjorlykke.org> | 2011-10-25 19:04:10 +0000 |
---|---|---|
committer | Stig Bjørlykke <stig@bjorlykke.org> | 2011-10-25 19:04:10 +0000 |
commit | 447de1178dd5b7ee53f1f96dd343121c47c363ea (patch) | |
tree | 457e8bcaad69e2b93e0daaea1dd937e6b6ecd00b /epan/proto.c | |
parent | 0b9a4b16efa75601f09412101a4823a61223c1a1 (diff) |
Allow signed integers displayed as BASE_HEX_DEC.
svn path=/trunk/; revision=39571
Diffstat (limited to 'epan/proto.c')
-rw-r--r-- | epan/proto.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/epan/proto.c b/epan/proto.c index dd55be750d..57bb88d065 100644 --- a/epan/proto.c +++ b/epan/proto.c @@ -4913,7 +4913,6 @@ static void tmp_fld_check_assert(header_field_info *hfinfo) { * FT_INT*. */ if (hfinfo->display == BASE_HEX || - hfinfo->display == BASE_HEX_DEC || hfinfo->display == BASE_OCT) g_error("Field '%s' (%s) is signed (%s) but is being displayed unsigned (%s)\n", hfinfo->name, hfinfo->abbrev, @@ -6678,18 +6677,23 @@ hfinfo_numeric_format(const header_field_info *hfinfo) case BASE_HEX_DEC: switch(hfinfo->type) { case FT_UINT8: + case FT_INT8: format = "%s == 0x%02x"; break; case FT_UINT16: + case FT_INT16: format = "%s == 0x%04x"; break; case FT_UINT24: + case FT_INT24: format = "%s == 0x%06x"; break; case FT_UINT32: + case FT_INT32: format = "%s == 0x%08x"; break; case FT_UINT64: + case FT_INT64: format = "%s == 0x%016" G_GINT64_MODIFIER "x"; break; default: @@ -6752,18 +6756,23 @@ hfinfo_numeric_value_format(const header_field_info *hfinfo) case BASE_HEX_DEC: switch(hfinfo->type) { case FT_UINT8: + case FT_INT8: format = "0x%02x"; break; case FT_UINT16: + case FT_INT16: format = "0x%04x"; break; case FT_UINT24: + case FT_INT24: format = "0x%06x"; break; case FT_UINT32: + case FT_INT32: format = "0x%08x"; break; case FT_UINT64: + case FT_INT64: format = "0x%016" G_GINT64_MODIFIER "x"; break; default: |