SEP_DOT, SEP_DASH, SEP_COLON, or SEP_SPACE to provide
a separator between bytes.
BASE_NONE has no separator between bytes
+ BASE_ALLOW_ZERO displays <none> instead of <MISSING> for zero sized byte array
--For FT_IPv4:
},
{ &hf_ipv6_opt_padn,
{ "PadN", "ipv6.opt.padn",
- FT_BYTES, BASE_NONE, NULL, 0x0,
+ FT_BYTES, BASE_NONE|BASE_ALLOW_ZERO, NULL, 0x0,
"PadN Option", HFILL }
},
{ &hf_ipv6_opt_rtalert,
wmem_free(NULL, str);
}
else {
- offset_r += protoo_strlcpy(result+offset_r, "<MISSING>", size-offset_r);
+ if (hfinfo->display & BASE_ALLOW_ZERO) {
+ offset_r += protoo_strlcpy(result+offset_r, "<none>", size-offset_r);
+ } else {
+ offset_r += protoo_strlcpy(result+offset_r, "<MISSING>", size-offset_r);
+ }
}
break;
label_fill(label_str, 0, hfinfo, str);
wmem_free(NULL, str);
} else {
- label_fill(label_str, 0, hfinfo, "<MISSING>");
+ if (hfinfo->display & BASE_ALLOW_ZERO) {
+ label_fill(label_str, 0, hfinfo, "<none>");
+ } else {
+ label_fill(label_str, 0, hfinfo, "<MISSING>");
+ }
}
break;
#define BASE_RANGE_STRING 0x100
#define BASE_EXT_STRING 0x200
#define BASE_VAL64_STRING 0x400
+#define BASE_ALLOW_ZERO 0x800 /**< Display <none> instead of <MISSING> for zero sized byte array */
/** BASE_ values that cause the field value to be displayed twice */
#define IS_BASE_DUAL(b) ((b)==BASE_DEC_HEX||(b)==BASE_HEX_DEC)