X-Git-Url: https://git.distorted.org.uk/~mdw/secnet/blobdiff_plain/2f9fa75f101edc385b91a074f3dc21b8ec41bf79..94ca562bb14422940ff1986ce8dfca87c222cb59:/ipaddr.c diff --git a/ipaddr.c b/ipaddr.c index aa770f8..9302925 100644 --- 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 */