aboutsummaryrefslogtreecommitdiffstats
path: root/epan/proto.c
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2011-10-25 19:04:10 +0000
committerStig Bjørlykke <stig@bjorlykke.org>2011-10-25 19:04:10 +0000
commit447de1178dd5b7ee53f1f96dd343121c47c363ea (patch)
tree457e8bcaad69e2b93e0daaea1dd937e6b6ecd00b /epan/proto.c
parent0b9a4b16efa75601f09412101a4823a61223c1a1 (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.c11
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: