diff options
Diffstat (limited to 'epan/dissectors/packet-media.c')
-rw-r--r-- | epan/dissectors/packet-media.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/epan/dissectors/packet-media.c b/epan/dissectors/packet-media.c index 01a295a1e1..6d4efefbc0 100644 --- a/epan/dissectors/packet-media.c +++ b/epan/dissectors/packet-media.c @@ -37,6 +37,7 @@ void proto_register_media(void); * print routines */ int proto_media = -1; +static gint hf_media_type = -1; static gint ett_media = -1; static heur_dissector_list_t heur_subdissector_list; @@ -63,14 +64,14 @@ dissect_media(tvbuff_t *tvb, packet_info *pinfo , proto_tree *tree, void* data) if (pinfo->private_data) { /* The media type has parameters */ - proto_tree_add_text(media_tree, tvb, 0, bytes, - "Media Type: %s; %s (%d byte%s)", + proto_tree_add_bytes_format_value(media_tree, hf_media_type, tvb, 0, bytes, + NULL, "%s; %s (%d byte%s)", pinfo->match_string, (char *)pinfo->private_data, bytes, plurality(bytes, "", "s")); } else { /* The media type has no parameters */ - proto_tree_add_text(media_tree, tvb, 0, bytes, - "Media Type: %s (%d byte%s)", + proto_tree_add_bytes_format_value(media_tree, hf_media_type, tvb, 0, bytes, + NULL, "%s (%d byte%s)", pinfo->match_string ? pinfo->match_string : "", bytes, plurality(bytes, "", "s")); } @@ -83,6 +84,12 @@ dissect_media(tvbuff_t *tvb, packet_info *pinfo , proto_tree *tree, void* data) void proto_register_media(void) { + static hf_register_info hf[] = { + { &hf_media_type, + { "Media type", "media.type", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + }; static gint *ett[] = { &ett_media }; @@ -94,6 +101,7 @@ proto_register_media(void) ); new_register_dissector("media", dissect_media, proto_media); register_heur_dissector_list("media", &heur_subdissector_list); + proto_register_field_array(proto_media, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); /* |