diff --git a/conf/cf-lex.l b/conf/cf-lex.l index eb1d3300..f608a3d3 100644 --- a/conf/cf-lex.l +++ b/conf/cf-lex.l @@ -38,7 +38,7 @@ static int cf_hash(byte *c); static struct symbol *cf_find_sym(byte *c, unsigned int h0); pool *cfg_pool; -mempool *cfg_mem; +linpool *cfg_mem; int (*cf_read_hook)(byte *buf, unsigned int max); @@ -232,11 +232,11 @@ cf_allocate(void) if (cfg_pool) rfree(cfg_pool); cfg_pool = rp_new(&root_pool, "Config"); - cfg_mem = mp_new(cfg_pool, 1024); + cfg_mem = lp_new(cfg_pool, 1024); } char * -cfg_strcpy(char *c) +cfg_strdup(char *c) { int l = strlen(c) + 1; char *z = cfg_allocu(l); diff --git a/conf/conf.h b/conf/conf.h index 93d1edd7..974815a8 100644 --- a/conf/conf.h +++ b/conf/conf.h @@ -14,12 +14,12 @@ /* Pools */ extern pool *cfg_pool; -extern mempool *cfg_mem; +extern linpool *cfg_mem; -#define cfg_alloc(size) mp_alloc(cfg_mem, size) -#define cfg_allocu(size) mp_allocu(cfg_mem, size) -#define cfg_allocz(size) mp_allocz(cfg_mem, size) -char *cfg_strcpy(char *c); +#define cfg_alloc(size) lp_alloc(cfg_mem, size) +#define cfg_allocu(size) lp_allocu(cfg_mem, size) +#define cfg_allocz(size) lp_allocz(cfg_mem, size) +char *cfg_strdup(char *c); /* Lexer */ diff --git a/lib/mempool.c b/lib/mempool.c index 8bf428e5..f3b84a57 100644 --- a/lib/mempool.c +++ b/lib/mempool.c @@ -12,32 +12,32 @@ #include "nest/bird.h" #include "lib/resource.h" -struct mp_chunk { - struct mp_chunk *next; +struct lp_chunk { + struct lp_chunk *next; byte data[0]; }; -struct mempool { +struct linpool { resource r; byte *ptr, *end; - struct mp_chunk *first, **plast; + struct lp_chunk *first, **plast; unsigned chunk_size, threshold, total; }; -void mp_free(resource *); -void mp_dump(resource *); +void lp_free(resource *); +void lp_dump(resource *); -static struct resclass mp_class = { - "MemPool", - sizeof(struct mempool), - mp_free, - mp_dump +static struct resclass lp_class = { + "LinPool", + sizeof(struct linpool), + lp_free, + lp_dump }; -mempool -*mp_new(pool *p, unsigned blk) +linpool +*lp_new(pool *p, unsigned blk) { - mempool *m = ralloc(p, &mp_class); + linpool *m = ralloc(p, &lp_class); m->ptr = m->end = NULL; m->first = NULL; m->plast = &m->first; @@ -48,7 +48,7 @@ mempool } void * -mp_alloc(mempool *m, unsigned size) +lp_alloc(linpool *m, unsigned size) { byte *a = (byte *) ALIGN((unsigned long) m->ptr, CPU_STRUCT_ALIGN); byte *e = a + size; @@ -60,15 +60,15 @@ mp_alloc(mempool *m, unsigned size) } else { - struct mp_chunk *c; + struct lp_chunk *c; if (size >= m->threshold) { - c = xmalloc(sizeof(struct mp_chunk) + size); + c = xmalloc(sizeof(struct lp_chunk) + size); m->total += size; } else { - c = xmalloc(sizeof(struct mp_chunk) + m->chunk_size); + c = xmalloc(sizeof(struct lp_chunk) + m->chunk_size); m->ptr = c->data + size; m->end = c->data + m->chunk_size; m->total += m->chunk_size; @@ -81,7 +81,7 @@ mp_alloc(mempool *m, unsigned size) } void * -mp_allocu(mempool *m, unsigned size) +lp_allocu(linpool *m, unsigned size) { byte *a = m->ptr; byte *e = a + size; @@ -91,23 +91,23 @@ mp_allocu(mempool *m, unsigned size) m->ptr = e; return a; } - return mp_alloc(m, size); + return lp_alloc(m, size); } void * -mp_allocz(mempool *m, unsigned size) +lp_allocz(linpool *m, unsigned size) { - void *z = mp_alloc(m, size); + void *z = lp_alloc(m, size); bzero(z, size); return z; } void -mp_free(resource *r) +lp_free(resource *r) { - mempool *m = (mempool *) r; - struct mp_chunk *c, *d; + linpool *m = (linpool *) r; + struct lp_chunk *c, *d; for(d=m->first; d; d = c) { @@ -117,10 +117,10 @@ mp_free(resource *r) } void -mp_dump(resource *r) +lp_dump(resource *r) { - mempool *m = (mempool *) r; - struct mp_chunk *c; + linpool *m = (linpool *) r; + struct lp_chunk *c; int cnt; for(cnt=0, c=m->first; c; c=c->next, cnt++) diff --git a/lib/resource.h b/lib/resource.h index b7f18b01..6a50c331 100644 --- a/lib/resource.h +++ b/lib/resource.h @@ -47,12 +47,12 @@ void mb_free(void *); /* Memory pools with linear allocation */ -typedef struct mempool mempool; +typedef struct linpool linpool; -mempool *mp_new(pool *, unsigned blk); -void *mp_alloc(mempool *, unsigned size); /* Aligned */ -void *mp_allocu(mempool *, unsigned size); /* Unaligned */ -void *mp_allocz(mempool *, unsigned size); /* With clear */ +linpool *lp_new(pool *, unsigned blk); +void *lp_alloc(linpool *, unsigned size); /* Aligned */ +void *lp_allocu(linpool *, unsigned size); /* Unaligned */ +void *lp_allocz(linpool *, unsigned size); /* With clear */ /* Slabs */ diff --git a/nest/config.Y b/nest/config.Y index 7b82ba72..98436541 100644 --- a/nest/config.Y +++ b/nest/config.Y @@ -101,7 +101,7 @@ rt_dev_add_iface(char *n) struct rt_dev_proto *p = (void *) this_proto; struct iface_patt *k = cfg_alloc(sizeof(struct iface_patt)); - k->pattern = cfg_strcpy(n); + k->pattern = cfg_strdup(n); add_tail(&p->iface_list, &k->n); } diff --git a/proto/rip/config.Y b/proto/rip/config.Y index fbe6fe19..33be05eb 100644 --- a/proto/rip/config.Y +++ b/proto/rip/config.Y @@ -64,7 +64,7 @@ rip_dev_add_iface(char *n) { struct iface_patt *k = cfg_alloc(sizeof(struct iface_patt)); - k->pattern = cfg_strcpy(n); + k->pattern = cfg_strdup(n); add_tail(&THIS_PROTO->iface_list, &k->n); }