about summary refs log tree commit diff
path: root/nscd/cache.c
diff options
context:
space:
mode:
Diffstat (limited to 'nscd/cache.c')
-rw-r--r--nscd/cache.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/nscd/cache.c b/nscd/cache.c
index 4ab83db6e2..dbc89fb8ec 100644
--- a/nscd/cache.c
+++ b/nscd/cache.c
@@ -225,10 +225,23 @@ prune_cache (struct database *table, time_t now)
 	  struct hashentry *old = head;
 
 	  if (debug_level > 0)
-	    dbg_log ("remove %s entry \"%s\"",
-		     serv2str[old->type],
-		     old->last
-		     ? old->key : old->data == (void *) -1 ? old->key : "???");
+	    {
+	      char buf[INET6_ADDRSTRLEN];
+	      const char *str;
+
+	      if ((old->type == GETHOSTBYADDR || old->type == GETHOSTBYADDRv6)
+		  && (old->last || old->data == (void *) -1))
+		{
+		  inet_ntop (old->type == GETHOSTBYADDR ? AF_INET : AF_INET6,
+			     old->key, buf, sizeof (buf));
+		  str = buf;
+		}
+	      else
+		str = old->last ? old->key : (old->data == (void *) -1
+					      ? old->key : "???");
+
+	      dbg_log ("remove %s entry \"%s\"", serv2str[old->type], str);
+	    }
 
 	  /* Free the data structures.  */
 	  if (old->data == (void *) -1)