diff options
author | Michael Mann <mmann78@netscape.net> | 2017-07-08 21:48:36 -0400 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2017-07-11 08:41:49 +0000 |
commit | 9b3c8d4515c9a1a307c141c25fa59694391efe3a (patch) | |
tree | b71ff7c6590321de7a9f7141f2e4f3cf39bb426b /epan/dissectors/packet-moldudp64.c | |
parent | d4d30faeb85c5adf39aca3ae5e52db225c88ea48 (diff) |
Expand register_decode_as_next_proto to include prompt string.
Many dissectors don't have an identifier to pass to a dissector table.
When using Decode As they all have a "value" function that returns 0
just so something is returned.
A first step to a cleaner refactor of the functionality is to allow
dissectors to provide a "prompt" function when registering Decode As
with register_decode_as_next_proto() so that the text exposed in
the GUI can vary, but the function that returns 0 (nothing) can be
consolidated under decode as registration functionality. This casts
a wider net for register_decode_as_next_proto() use.
Change-Id: I2995b3c251dae70f5f529b672473d25c6288ed5c
Reviewed-on: https://code.wireshark.org/review/22562
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-moldudp64.c')
-rw-r--r-- | epan/dissectors/packet-moldudp64.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/epan/dissectors/packet-moldudp64.c b/epan/dissectors/packet-moldudp64.c index efa85af34b..49ea590fa2 100644 --- a/epan/dissectors/packet-moldudp64.c +++ b/epan/dissectors/packet-moldudp64.c @@ -66,11 +66,6 @@ static void moldudp64_prompt(packet_info *pinfo _U_, gchar* result) g_snprintf(result, MAX_DECODE_AS_PROMPT_LEN, "Payload as"); } -static gpointer moldudp64_value(packet_info *pinfo _U_) -{ - return 0; -} - /* Code to dissect a message block */ static guint dissect_moldudp64_msgblk(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, @@ -263,12 +258,6 @@ proto_register_moldudp64(void) expert_module_t* expert_moldudp64; - /* Decode As handling */ - static build_valid_func moldudp64_da_build_value[1] = {moldudp64_value}; - static decode_as_value_t moldudp64_da_values = {moldudp64_prompt, 1, moldudp64_da_build_value}; - static decode_as_t moldudp64_da = {"moldudp64", "MoldUDP64 Payload", "moldudp64.payload", 1, 0, &moldudp64_da_values, NULL, NULL, - decode_as_default_populate_list, decode_as_default_reset, decode_as_default_change, NULL}; - /* Register the protocol name and description */ proto_moldudp64 = proto_register_protocol("MoldUDP64", "MoldUDP64", "moldudp64"); @@ -281,7 +270,7 @@ proto_register_moldudp64(void) expert_moldudp64 = expert_register_protocol(proto_moldudp64); expert_register_field_array(expert_moldudp64, ei, array_length(ei)); - register_decode_as(&moldudp64_da); + register_decode_as_next_proto("moldudp64", "MoldUDP64 Payload", "moldudp64.payload", (build_label_func*)&moldudp64_prompt); } |