src/server/config/serverconf.c

changeset 91
fac51f87def0
parent 88
73b3485e96f1
child 115
51d9a15eac98
--- a/src/server/config/serverconf.c	Wed Jul 31 13:02:06 2013 +0200
+++ b/src/server/config/serverconf.c	Sun Sep 08 23:27:07 2013 +0200
@@ -41,11 +41,11 @@
     ServerConfig *conf = malloc(sizeof(ServerConfig));
     conf->parser.parse = serverconf_parse;
     conf->file = file;
-    conf->objects = ucx_map_new(16);
     conf->obj = NULL;
     
+    conf->objects = ucx_map_new(16);
     int r = cfg_parse_basic_file((ConfigParser*)conf, in);
-    cfg_map_destr(conf->parser.mp, conf->objects);
+    cfg_map_destr(conf->parser.mp->pool, conf->objects);
     if(r != 0) {
         // TODO: free
         return NULL;
@@ -57,13 +57,13 @@
 }
 
 void free_server_config(ServerConfig *conf) {
-    ucx_mempool_destroy(conf->parser.mp);
+    ucx_mempool_destroy(conf->parser.mp->pool);
     free(conf);
 }
 
 int serverconf_parse(void *p, ConfigLine *begin, ConfigLine *end, sstr_t line){
     ServerConfig *conf = p;
-    UcxMempool *mp = conf->parser.mp;
+    UcxAllocator *mp = conf->parser.mp;
     
     begin->type = cfg_get_line_type(line);
     switch(begin->type) {
@@ -81,7 +81,7 @@
 
             // add object to server config
             UcxList *list = ucx_map_sstr_get(conf->objects, obj->type);
-            list = cfg_list_append(mp, list, obj);
+            list = ucx_list_append_a(mp, list, obj);
             ucx_map_sstr_put(conf->objects, obj->type, list);
             conf->obj = obj;
 
@@ -109,19 +109,19 @@
             d->end = end;
 
             //printf("%s.%s\n", conf->obj->type.ptr, d->directive_type.ptr);
-            conf->obj->directives = cfg_dlist_append(mp, conf->obj->directives, d);
+            conf->obj->directives = ucx_list_append_a(mp, conf->obj->directives, d);
         }
     }
     return 0;
 }
 
 
-UcxList* srvcfg_get_listeners(ServerConfig *cfg, UcxMempool *mp, int *error) {
+UcxList* srvcfg_get_listeners(ServerConfig *cfg, UcxAllocator *mp, int *error) {
     mp = mp ? mp : cfg->parser.mp;
     
     UcxList *list = ucx_map_sstr_get(cfg->objects, sstrn("Listener", 8));
     UcxList *lslist = NULL;
-    UCX_FOREACH(UcxList*, list, elm) {
+    UCX_FOREACH(elm, list) {
         ServerConfigObject *ls = elm->data;
         sstr_t name = cfg_directivelist_get_str(ls->directives, sstr("Name"));
         sstr_t port = cfg_directivelist_get_str(ls->directives, sstr("Port"));
@@ -132,7 +132,7 @@
                 ls->directives,
                 sstr("Threadpool"));
         
-        CfgListener *listener = ucx_mempool_calloc(mp, 1, sizeof(CfgListener));
+        CfgListener *listener = OBJ_NEW_N(mp, CfgListener);
         // threadpool is optional, all other configs must be set
         if(!name.ptr || !port.ptr || !vs.ptr) {
             // TODO: log error
@@ -143,7 +143,7 @@
         }
         
         if(name.ptr) {
-            listener->name = sstrdup_mp(mp, name);
+            listener->name = sstrdup_a(mp, name);
         }
         if(port.ptr) {
             // don't expect that port is null terminated, sstrdup it to be sure
@@ -152,13 +152,13 @@
             free(portdp.ptr);
         }
         if(vs.ptr) {
-            listener->vs = sstrdup_mp(mp, vs);
+            listener->vs = sstrdup_a(mp, vs);
         }
         if(threadpool.ptr) {
-            listener->threadpool = sstrdup_mp(mp, threadpool);
+            listener->threadpool = sstrdup_a(mp, threadpool);
         }
         
-        lslist = cfg_list_append(mp, lslist, listener);
+        lslist = ucx_list_append_a(mp, lslist, listener);
     }
     
     return lslist;

mercurial