X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=ucw%2Fconf-alloc.c;h=bf4569e1614d7cdacbd377119b155d123b4f25e2;hb=959566090f98dd31eaa67d3d5959b641e5fe902b;hp=937965dd19f3d86dd7213c87a53042958a397e6f;hpb=fa7aa6d9457616ce28f97c83eaa616d0ff276870;p=libucw.git diff --git a/ucw/conf-alloc.c b/ucw/conf-alloc.c index 937965dd..bf4569e1 100644 --- a/ucw/conf-alloc.c +++ b/ucw/conf-alloc.c @@ -2,7 +2,7 @@ * UCW Library -- Configuration files: memory allocation * * (c) 2001--2006 Robert Spalek - * (c) 2003--2006 Martin Mares + * (c) 2003--2012 Martin Mares * * This software may be freely distributed and used according to the terms * of the GNU Lesser General Public License. @@ -10,26 +10,31 @@ #include #include +#include #include -struct mempool *cf_pool; // current pool for loading new configuration +inline struct mempool * +cf_get_pool(void) +{ + return cf_get_context()->pool; +} void * -cf_malloc(uns size) +cf_malloc(uint size) { - return mp_alloc(cf_pool, size); + return mp_alloc(cf_get_pool(), size); } void * -cf_malloc_zero(uns size) +cf_malloc_zero(uint size) { - return mp_alloc_zero(cf_pool, size); + return mp_alloc_zero(cf_get_pool(), size); } char * cf_strdup(const char *s) { - return mp_strdup(cf_pool, s); + return mp_strdup(cf_get_pool(), s); } char * @@ -37,7 +42,7 @@ cf_printf(const char *fmt, ...) { va_list args; va_start(args, fmt); - char *res = mp_vprintf(cf_pool, fmt, args); + char *res = mp_vprintf(cf_get_pool(), fmt, args); va_end(args); return res; }