aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Quantin <pascal@wireshark.org>2020-09-10 22:07:47 +0200
committerAlexis La Goutte <alexis.lagoutte@gmail.com>2020-09-11 03:12:07 +0000
commitcb810e70036e232308c50dd9296fa6a257468ad9 (patch)
treec562cdb77bde72b6bbff7009a6c4e55d028b0eaf
parentb340dc8de8e0d5a38466d1f448a936ab9f790290 (diff)
proto.c: add support for BASE_SPECIAL_VALS to fill_label_number64()
This is similar to what is done in fill_label_number()
-rw-r--r--epan/proto.c27
1 files changed, 21 insertions, 6 deletions
diff --git a/epan/proto.c b/epan/proto.c
index eb007fed6c..08b3b55020 100644
--- a/epan/proto.c
+++ b/epan/proto.c
@@ -9542,7 +9542,7 @@ fill_label_number(field_info *fi, gchar *label_str, gboolean is_signed)
if (hfinfo->display & BASE_SPECIAL_VALS) {
/*
* Unique values only display value_string string
- * if there is a match. Otherwise it's just a number
+ * if there is a match. Otherwise it's just a number
*/
if (val_str) {
label_fill_descr(label_str, 0, hfinfo, val_str, out);
@@ -9597,13 +9597,28 @@ fill_label_number64(field_info *fi, gchar *label_str, gboolean is_signed)
label_fill(label_str, 0, hfinfo, tmp);
}
else if (hfinfo->strings) {
- const char *val_str = hf_try_val64_to_str_const(value, hfinfo, "Unknown");
+ const char *val_str = hf_try_val64_to_str(value, hfinfo);
out = hfinfo_number_vals_format64(hfinfo, buf, value);
- if (out == NULL) /* BASE_NONE so don't put integer in descr */
- label_fill(label_str, 0, hfinfo, val_str);
- else
- label_fill_descr(label_str, 0, hfinfo, val_str, out);
+ if (hfinfo->display & BASE_SPECIAL_VALS) {
+ /*
+ * Unique values only display value_string string
+ * if there is a match. Otherwise it's just a number
+ */
+ if (val_str) {
+ label_fill_descr(label_str, 0, hfinfo, val_str, out);
+ } else {
+ label_fill(label_str, 0, hfinfo, out);
+ }
+ } else {
+ if (val_str == NULL)
+ val_str = "Unknown";
+
+ if (out == NULL) /* BASE_NONE so don't put integer in descr */
+ label_fill(label_str, 0, hfinfo, val_str);
+ else
+ label_fill_descr(label_str, 0, hfinfo, val_str, out);
+ }
}
else {
out = hfinfo_number_value_format64(hfinfo, buf, value);