diff -r 279f343bbf6c -r fac51f87def0 src/server/config/objconf.c --- a/src/server/config/objconf.c Wed Jul 31 13:02:06 2013 +0200 +++ b/src/server/config/objconf.c Sun Sep 08 23:27:07 2013 +0200 @@ -66,11 +66,11 @@ void free_object_config(ObjectConfig *conf) { // free other lists if(conf->levels) { - ucx_list_free(conf->levels); + //ucx_list_free(conf->levels); } // free mempool - ucx_mempool_destroy(conf->parser.mp); + ucx_mempool_destroy(conf->parser.mp->pool); free(conf); } @@ -122,7 +122,7 @@ } int objconf_on_begin_tag(ObjectConfig *conf, ConfigTag *tag) { - UcxMempool *mp = conf->parser.mp; + UcxAllocator *mp = conf->parser.mp; if(tag->type_num != TAG_OBJECT) { ConfigParserLevel *l = conf->levels->data; if(l->tag->type_num != TAG_OBJECT) { @@ -141,14 +141,14 @@ obj->ppath = cfg_param_get(tag->param, sstr("ppath")); conf->obj = obj; - conf->objects = cfg_dlist_append(mp, conf->objects, obj); + conf->objects = ucx_list_append_a(mp, conf->objects, obj); // create tree level object ConfigParserLevel *lvl = OBJ_NEW(mp, ConfigParserLevel); lvl->iftag = NULL; lvl->levelnum = 1; lvl->tag = tag; - conf->levels = ucx_list_prepend(conf->levels, lvl); + conf->levels = ucx_list_prepend_a(mp, conf->levels, lvl); break; } @@ -161,7 +161,7 @@ lvl->iftag = NULL; lvl->levelnum = last_lvl->levelnum + 1; lvl->tag = tag; - conf->levels = ucx_list_prepend(conf->levels, lvl); + conf->levels = ucx_list_prepend_a(mp, conf->levels, lvl); last_lvl->iftag = tag; break; @@ -211,7 +211,10 @@ } // remove level - conf->levels = ucx_list_remove(conf->levels, conf->levels); + conf->levels = ucx_list_remove_a( + conf->parser.mp, + conf->levels, + conf->levels); } return 0; @@ -227,7 +230,7 @@ } // add directive to current object - conf->obj->directives[dir->type_num] = cfg_dlist_append( + conf->obj->directives[dir->type_num] = ucx_list_append_a( conf->parser.mp, conf->obj->directives[dir->type_num], dir);