~mdw
/
secnet
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Finalise 0.4.0~beta1
[secnet]
/
ipaddr.c
diff --git
a/ipaddr.c
b/ipaddr.c
index
8bb2efc
..
9302925
100644
(file)
--- a/
ipaddr.c
+++ b/
ipaddr.c
@@
-30,15
+30,13
@@
void subnet_list_free(struct subnet_list *a)
static void subnet_list_set_len(struct subnet_list *a, int32_t l)
{
static void subnet_list_set_len(struct subnet_list *a, int32_t l)
{
- struct subnet *nd;
int32_t na;
if (l>a->alloc) {
int32_t na;
if (l>a->alloc) {
- assert(a->alloc <
(int)(INT_MAX/sizeof(*nd))
-EXTEND_ALLOC_BY);
+ assert(a->alloc <
INT_MAX
-EXTEND_ALLOC_BY);
na=a->alloc+EXTEND_ALLOC_BY;
na=a->alloc+EXTEND_ALLOC_BY;
-
nd=safe_realloc_ary(a->list,sizeof(*nd),na,"subnet_list_set_len"
);
+
REALLOC_ARY(a->list,na
);
a->alloc=na;
a->alloc=na;
- a->list=nd;
}
a->entries=l;
}
}
a->entries=l;
}
@@
-60,7
+58,7
@@
struct ipset *ipset_new(void)
NEW(r);
r->l=0;
r->a=DEFAULT_ALLOC;
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;
}
return r;
}
@@
-112,15
+110,13
@@
struct ipset *ipset_from_subnet_list(struct subnet_list *l)
static void ipset_set_len(struct ipset *a, int32_t l)
{
static void ipset_set_len(struct ipset *a, int32_t l)
{
- struct iprange *nd;
int32_t na;
if (l>a->a) {
assert(a->a < INT_MAX-EXTEND_ALLOC_BY);
na=a->a+EXTEND_ALLOC_BY;
int32_t na;
if (l>a->a) {
assert(a->a < INT_MAX-EXTEND_ALLOC_BY);
na=a->a+EXTEND_ALLOC_BY;
-
nd=safe_realloc_ary(a->d,sizeof(*nd),na,"ipset_set_len"
);
+
REALLOC_ARY(a->d,na
);
a->a=na;
a->a=na;
- a->d=nd;
}
a->l=l;
}
}
a->l=l;
}
@@
-317,18
+313,12
@@
struct subnet_list *ipset_to_subnet_list(struct ipset *is)
return r;
}
return r;
}
-#define IPADDR_NBUFS_SHIFT 4
-#define IPADDR_NBUFS (1 << IPADDR_NBUFS_SHIFT)
#define IPADDR_BUFLEN 20
static char *ipaddr_getbuf(void)
{
#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 */
}
/* The string buffer must be at least 16 bytes long */