chiark / gitweb /
site: When reporting resolution complete, print only iaddr
[secnet.git] / ipaddr.c
index aa770f8555a86b21029e4e0a8919ac3747a4365a..9302925b2039d8f0f6b72717a901c14e09b36498 100644 (file)
--- a/ipaddr.c
+++ b/ipaddr.c
@@ -58,7 +58,7 @@ struct ipset *ipset_new(void)
     NEW(r);
     r->l=0;
     r->a=DEFAULT_ALLOC;
-    r->d=safe_malloc(sizeof(*r->d)*r->a,"ipset_new:data");
+    NEW_ARY(r->d,r->a);
     return r;
 }
 
@@ -313,18 +313,12 @@ struct subnet_list *ipset_to_subnet_list(struct ipset *is)
     return r;
 }
 
-#define IPADDR_NBUFS_SHIFT 4
-#define IPADDR_NBUFS (1 << IPADDR_NBUFS_SHIFT)
 #define IPADDR_BUFLEN 20
 
 static char *ipaddr_getbuf(void)
 {
-    static int ipaddr_bufnum;
-    static char ipaddr_bufs[IPADDR_NBUFS][IPADDR_BUFLEN];
-
-    ipaddr_bufnum++;
-    ipaddr_bufnum &= IPADDR_NBUFS-1;
-    return ipaddr_bufs[ipaddr_bufnum];
+    SBUF_DEFINE(16, IPADDR_BUFLEN);
+    return SBUF;
 }
 
 /* The string buffer must be at least 16 bytes long */