diff options
author | Guy Harris <guy@alum.mit.edu> | 2004-12-30 02:10:24 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2004-12-30 02:10:24 +0000 |
commit | 0ccf418724aa221c786e8ac765a8cbe1fed8ac3d (patch) | |
tree | 1e4a380da3f190a7468ee2baa824b4e1ff58ac67 /epan/column-utils.c | |
parent | 9d5c8771c1560425077117b33a06a9e8263062a9 (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.c | 35 |
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) { |