diff options
author | Michael Mann <mmann78@netscape.net> | 2015-02-12 12:03:49 -0500 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2015-02-19 13:09:41 +0000 |
commit | 8d16ac46d50445f4e0ce567acb8e265db08a7576 (patch) | |
tree | 54d7b9813f8b83cca7d9592b2f5ae313f720a940 /epan/dissectors/packet-devicenet.c | |
parent | 7208355fb99f18b5b82d028f6af170f3dbafc8c9 (diff) |
Add name resolution support to address type.
Add address_with_resolution_to_str API that returns address string + name resolution in the format %s (%s), first string is resolved name (if available) and second string is raw address string.
Convert AT_FCWWN to using proper name resolution format
First use of address_with_resolution_to_str with field types in proto.c
Change-Id: I2ae77c29a4ffc30bb919fbec00f06629830898c2
Reviewed-on: https://code.wireshark.org/review/7196
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-devicenet.c')
-rw-r--r-- | epan/dissectors/packet-devicenet.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/epan/dissectors/packet-devicenet.c b/epan/dissectors/packet-devicenet.c index 29a1e08b0b..2e283e0383 100644 --- a/epan/dissectors/packet-devicenet.c +++ b/epan/dissectors/packet-devicenet.c @@ -781,13 +781,14 @@ static int dissect_devicenet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree return tvb_captured_length(tvb); } -static gboolean devicenet_addr_to_str(const address* addr, gchar *buf, int buf_len _U_) +static int devicenet_addr_to_str(const address* addr, gchar *buf, int buf_len _U_) { guint8 addrdata = *((guint8*)addr->data) & 0x3F; + gchar *start_buf = buf; buf = uint_to_str_back(buf, addrdata); *buf = '\0'; - return TRUE; + return buf-start_buf+1; } static int devicenet_addr_str_len(const address* addr _U_) @@ -1030,7 +1031,7 @@ void proto_register_devicenet(void) new_register_dissector("devicenet", dissect_devicenet, proto_devicenet); - devicenet_address_type = address_type_dissector_register("AT_DEVICENET", "DeviceNet Address", devicenet_addr_to_str, devicenet_addr_str_len, NULL, devicenet_addr_len); + devicenet_address_type = address_type_dissector_register("AT_DEVICENET", "DeviceNet Address", devicenet_addr_to_str, devicenet_addr_str_len, NULL, devicenet_addr_len, NULL, NULL); devicenet_module = prefs_register_protocol(proto_devicenet, NULL); |