aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-devicenet.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2015-02-12 12:03:49 -0500
committerMichael Mann <mmann78@netscape.net>2015-02-19 13:09:41 +0000
commit8d16ac46d50445f4e0ce567acb8e265db08a7576 (patch)
tree54d7b9813f8b83cca7d9592b2f5ae313f720a940 /epan/dissectors/packet-devicenet.c
parent7208355fb99f18b5b82d028f6af170f3dbafc8c9 (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.c7
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);