diff -r 27c7511c0e34 -r 280250e45ba6 src/server/daemon/config.c --- a/src/server/daemon/config.c Thu May 24 12:51:52 2012 +0200 +++ b/src/server/daemon/config.c Fri May 25 18:16:24 2012 +0200 @@ -136,34 +136,29 @@ } /* convert ServerConfig to ServerConfiguration */ - for(int i=0;iobjects->size;i++) { - UcxMapElement *elm = &serverconf->objects->map[i]; - while(elm != NULL) { - UcxList *list = elm->data; - while(list != NULL) { - - ServerConfigObject *scfgobj = list->data; - - /* handle config object */ - int hr = 0; - if(!sstrcmp(scfgobj->type, sstr("Runtime"))) { - hr = cfg_handle_runtime(serverconfig, scfgobj); - } else if(!sstrcmp(scfgobj->type, sstr("EventHandler"))) { - hr = cfg_handle_eventhandler(serverconfig, scfgobj); - } else if(!sstrcmp(scfgobj->type, sstr("AuthDB"))) { - hr = cfg_handle_authdb(serverconfig, scfgobj); - } else if(!sstrcmp(scfgobj->type, sstr("Listener"))) { - hr = cfg_handle_listener(serverconfig, scfgobj); - } else if(!sstrcmp(scfgobj->type, sstr("VirtualServer"))) { - hr = cfg_handle_vs(serverconfig, scfgobj); - } + UcxMapIterator iter = ucx_map_iterator(serverconf->objects); + UCX_MAP_FOREACH(UcxList*, list, serverconf->objects, iter) { + UCX_FOREACH(UcxList*, list, elm) { + + ServerConfigObject *scfgobj = elm->data; + + /* handle config object */ + int hr = 0; + if(!sstrcmp(scfgobj->type, sstr("Runtime"))) { + hr = cfg_handle_runtime(serverconfig, scfgobj); + } else if(!sstrcmp(scfgobj->type, sstr("EventHandler"))) { + hr = cfg_handle_eventhandler(serverconfig, scfgobj); + } else if(!sstrcmp(scfgobj->type, sstr("AuthDB"))) { + hr = cfg_handle_authdb(serverconfig, scfgobj); + } else if(!sstrcmp(scfgobj->type, sstr("Listener"))) { + hr = cfg_handle_listener(serverconfig, scfgobj); + } else if(!sstrcmp(scfgobj->type, sstr("VirtualServer"))) { + hr = cfg_handle_vs(serverconfig, scfgobj); + } - /* next object */ - list = list->next; - } - - elm = elm->next; + /* next object */ + list = list->next; } } @@ -188,20 +183,10 @@ /* search for VirtualServer */ int b = 0; - for(int i=0;ihost_vs->size;i++) { - UcxMapElement *elm = &serverconfig->host_vs->map[i]; - while(elm != NULL && elm->data != NULL) { - VirtualServer *vs = elm->data; - - if(!sstrcmp(vsname, vs->name)) { - b = 1; - listener->default_vs.vs = vs; - break; - } - - elm = elm->next; - } - if(b) { + iter = ucx_map_iterator(serverconfig->host_vs); + UCX_MAP_FOREACH(VirtualServer*, vs, serverconfig->host_vs, iter) { + if(!sstrcmp(vsname, vs->name)) { + listener->default_vs.vs = vs; break; } }