aboutsummaryrefslogtreecommitdiffstats
path: root/epan/column-utils.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2004-12-30 02:10:24 +0000
committerGuy Harris <guy@alum.mit.edu>2004-12-30 02:10:24 +0000
commit0ccf418724aa221c786e8ac765a8cbe1fed8ac3d (patch)
tree1e4a380da3f190a7468ee2baa824b4e1ff58ac67 /epan/column-utils.c
parent9d5c8771c1560425077117b33a06a9e8263062a9 (diff)
Add a "get_addr_name()" routine that takes an "address *" and attempts
to resolve it to a name. Fix up some const-pointer-to-non-const-pointer, and function-pointer-to-void-*, conversions. Fix some comments. svn path=/trunk/; revision=12863
Diffstat (limited to 'epan/column-utils.c')
-rw-r--r--epan/column-utils.c35
1 files changed, 5 insertions, 30 deletions
diff --git a/epan/column-utils.c b/epan/column-utils.c
index ecf245c6dc..8851fce7f1 100644
--- a/epan/column-utils.c
+++ b/epan/column-utils.c
@@ -574,7 +574,7 @@ static void
col_set_addr(packet_info *pinfo, int col, address *addr, gboolean is_res,
gboolean is_src)
{
- guint32 ipv4_addr;
+ const char *addr_string;
struct e_in6_addr ipv6_addr;
pinfo->cinfo->col_expr[col][0] = '\0';
@@ -582,37 +582,12 @@ col_set_addr(packet_info *pinfo, int col, address *addr, gboolean is_res,
if (addr->type == AT_NONE)
return; /* no address, nothing to do */
if (is_res) {
- switch (addr->type) {
-
- case AT_ETHER:
- strncpy(pinfo->cinfo->col_buf[col], get_ether_name(addr->data), COL_MAX_LEN);
- pinfo->cinfo->col_buf[col][COL_MAX_LEN - 1] = '\0';
- break;
-
- case AT_IPv4:
- memcpy(&ipv4_addr, addr->data, sizeof ipv4_addr);
- strncpy(pinfo->cinfo->col_buf[col], get_hostname(ipv4_addr), COL_MAX_LEN);
+ addr_string = get_addr_name(addr);
+ if (addr_string != NULL) {
+ strncpy(pinfo->cinfo->col_buf[col], addr_string, COL_MAX_LEN);
pinfo->cinfo->col_buf[col][COL_MAX_LEN - 1] = '\0';
- break;
-
- case AT_IPv6:
- memcpy(&ipv6_addr.s6_addr, addr->data, sizeof ipv6_addr.s6_addr);
- strncpy(pinfo->cinfo->col_buf[col], get_hostname6(&ipv6_addr), COL_MAX_LEN);
- pinfo->cinfo->col_buf[col][COL_MAX_LEN - 1] = '\0';
- break;
-
- case AT_STRINGZ:
- /* XXX - should be done in "address_to_str_buf()", but that routine
- doesn't know COL_MAX_LEN; it should be changed to take the
- maximum length as an argument. */
- strncpy(pinfo->cinfo->col_buf[col], addr->data, COL_MAX_LEN);
- pinfo->cinfo->col_buf[col][COL_MAX_LEN - 1] = '\0';
- break;
-
- default:
+ } else
address_to_str_buf(addr, pinfo->cinfo->col_buf[col]);
- break;
- }
} else {
switch (addr->type) {