#include <stdio.h>
#include <string.h>
#include "ipaddr.h"
+#include "util.h"
#define DEFAULT_ALLOC 2
#define EXTEND_ALLOC_BY 4
struct subnet_list *subnet_list_new(void)
{
struct subnet_list *r;
- r=safe_malloc(sizeof(*r),"subnet_list_new:list");
+ NEW(r);
r->entries=0;
r->alloc=DEFAULT_ALLOC;
- r->list=safe_malloc_ary(sizeof(*r->list),r->alloc,"subnet_list_new:data");
+ NEW_ARY(r->list,r->alloc);
return r;
}
struct ipset *ipset_new(void)
{
struct ipset *r;
- r=safe_malloc(sizeof(*r),"ipset_new:set");
+ NEW(r);
r->l=0;
r->a=DEFAULT_ALLOC;
r->d=safe_malloc(sizeof(*r->d)*r->a,"ipset_new:data");
a->d[a->l-1]=r;
}
-#define max(a,b) (a>b?a:b)
struct ipset *ipset_union(struct ipset *a, struct ipset *b)
{
struct ipset *c;
ipset_append_range(c,r);
else if (r.a <= c->d[c->l-1].b+1)
/* Extends (or is consumed by) the last range */
- c->d[c->l-1].b=max(c->d[c->l-1].b, r.b);
+ c->d[c->l-1].b=MAX(c->d[c->l-1].b, r.b);
else
ipset_append_range(c,r);
}