src/server/daemon/config.c

changeset 31
280250e45ba6
parent 30
27c7511c0e34
child 33
96dbfe4f91e5
--- 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;i<serverconf->objects->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;i<serverconfig->host_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;
             }
         }

mercurial