X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=ucw%2Fconf-alloc.c;h=f5f80cc8067f19a9db967396a362e5cef5e81d3a;hb=97d134124cb7f43e34a976e0d6a79622c67cb455;hp=937965dd19f3d86dd7213c87a53042958a397e6f;hpb=fa7aa6d9457616ce28f97c83eaa616d0ff276870;p=libucw.git diff --git a/ucw/conf-alloc.c b/ucw/conf-alloc.c index 937965dd..f5f80cc8 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) { - return mp_alloc(cf_pool, size); + return mp_alloc(cf_get_pool(), size); } void * cf_malloc_zero(uns 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; }