aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/proto.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/epan/proto.c b/epan/proto.c
index c14110f7e5..913e540879 100644
--- a/epan/proto.c
+++ b/epan/proto.c
@@ -5512,13 +5512,19 @@ proto_custom_set(proto_tree* tree, GSList *field_ids, gint occurrence,
fmtfunc64(tmp, number64);
offset_r += protoo_strlcpy(result+offset_r, tmp, size-offset_r);
} else if (hfinfo->strings) {
- number_out = hf_str_val = hf_try_val64_to_str(number64, hfinfo);
-
- if (!number_out)
- number_out = hfinfo_number_value_format_display64(hfinfo, hfinfo->display, number_buf, number64);
+ if (hfinfo->display & BASE_UNIT_STRING) {
+ number_out = hfinfo_numeric_value_format64(hfinfo, number_buf, number64);
+ offset_r += protoo_strlcpy(result+offset_r, number_out, size-offset_r);
+ hf_str_val = hf_try_val64_to_str(number64, hfinfo);
+ offset_r += protoo_strlcpy(result+offset_r, hf_str_val, size-offset_r);
+ } else {
+ number_out = hf_str_val = hf_try_val64_to_str(number64, hfinfo);
- offset_r += protoo_strlcpy(result+offset_r, number_out, size-offset_r);
+ if (!number_out)
+ number_out = hfinfo_number_value_format_display64(hfinfo, hfinfo->display, number_buf, number64);
+ offset_r += protoo_strlcpy(result+offset_r, number_out, size-offset_r);
+ }
} else {
number_out = hfinfo_number_value_format64(hfinfo, number_buf, number64);