Change some while loops to for loops in config.c
[dana/openbox.git] / openbox / config.c
index 898eeec..1f405e5 100644 (file)
@@ -544,13 +544,15 @@ static void parse_mouse(xmlNodePtr node, gpointer d)
     if ((n = obt_xml_find_node(node, "screenEdgeWarpMouse")))
         config_mouse_screenedgewarp = obt_xml_node_bool(n);
 
-    n = obt_xml_find_node(node, "context");
-    while (n) {
+    for (n = obt_xml_find_node(node, "context");
+         n;
+         n = obt_xml_find_node(n->next, "context"))
+    {
         gchar *modcxstr;
         ObFrameContext cx;
 
         if (!obt_xml_attr_string(n, "name", &cxstr))
-            goto next_n;
+            continue;
 
         modcxstr = g_strdup(cxstr); /* make a copy to mutilate */
         while (frame_next_context_from_string(modcxstr, &cx)) {
@@ -565,12 +567,15 @@ static void parse_mouse(xmlNodePtr node, gpointer d)
                 continue;
             }
 
-            nbut = obt_xml_find_node(n->children, "mousebind");
-            while (nbut) {
+            for (nbut = obt_xml_find_node(n->children, "mousebind");
+                 nbut;
+                 nbut = obt_xml_find_node(nbut->next, "mousebind"))
+            {
+
                 gchar **button, **buttons;
 
                 if (!obt_xml_attr_string(nbut, "button", &buttonstr))
-                    goto next_nbut;
+                    continue;
                 if (obt_xml_attr_contains(nbut, "action", "press"))
                     mact = OB_MOUSE_ACTION_PRESS;
                 else if (obt_xml_attr_contains(nbut, "action", "release"))
@@ -582,11 +587,13 @@ static void parse_mouse(xmlNodePtr node, gpointer d)
                 else if (obt_xml_attr_contains(nbut, "action", "drag"))
                     mact = OB_MOUSE_ACTION_MOTION;
                 else
-                    goto next_nbut;
+                    continue;
 
                 buttons = g_strsplit(buttonstr, " ", 0);
-                nact = obt_xml_find_node(nbut->children, "action");
-                while (nact) {
+                for (nact = obt_xml_find_node(nbut->children, "action");
+                     nact;
+                     nact = obt_xml_find_node(nact->next, "action"))
+                {
                     ObActionsAct *action;
 
                     /* actions_parse() creates one ref to the action, but we need
@@ -598,18 +605,13 @@ static void parse_mouse(xmlNodePtr node, gpointer d)
                         }
                         actions_act_unref(action);
                     }
-                    nact = obt_xml_find_node(nact->next, "action");
                 }
                 g_strfreev(buttons);
                 g_free(buttonstr);
-            next_nbut:
-                nbut = obt_xml_find_node(nbut->next, "mousebind");
             }
         }
         g_free(modcxstr);
         g_free(cxstr);
-    next_n:
-        n = obt_xml_find_node(n->next, "context");
     }
 }
 
@@ -718,8 +720,10 @@ static void parse_theme(xmlNodePtr node, gpointer d)
             config_theme_window_list_icon_size = 96;
     }
 
-    n = obt_xml_find_node(node, "font");
-    while (n) {
+    for (n = obt_xml_find_node(node, "font");
+         n;
+         n = obt_xml_find_node(n->next, "font"))
+    {
         xmlNodePtr   fnode;
         RrFont     **font;
         gchar       *name = g_strdup(RrDefaultFontFamily);
@@ -742,7 +746,7 @@ static void parse_theme(xmlNodePtr node, gpointer d)
         else if (obt_xml_attr_contains(n, "place","InactiveOnScreenDisplay"))
             font = &config_font_inactiveosd;
         else
-            goto next_font;
+            continue;
 
         if ((fnode = obt_xml_find_node(n->children, "name"))) {
             g_free(name);
@@ -769,8 +773,6 @@ static void parse_theme(xmlNodePtr node, gpointer d)
 
         *font = RrFontOpen(ob_rr_inst, name, size, weight, slant);
         g_free(name);
-    next_font:
-        n = obt_xml_find_node(n->next, "font");
     }
 }
 
@@ -799,12 +801,13 @@ static void parse_desktops(xmlNodePtr node, gpointer d)
         g_slist_free(config_desktops_names);
         config_desktops_names = NULL;
 
-        nname = obt_xml_find_node(n->children, "name");
-        while (nname) {
+        for (nname = obt_xml_find_node(n->children, "name");
+             nname;
+             nname = obt_xml_find_node(nname->next, "name"))
+        {
             config_desktops_names =
                 g_slist_append(config_desktops_names,
                                obt_xml_node_string(nname));
-            nname = obt_xml_find_node(nname->next, "name");
         }
     }
     if ((n = obt_xml_find_node(node, "popupTime")))
@@ -954,12 +957,14 @@ static void parse_menu(xmlNodePtr node, gpointer d)
 #endif
     }
 
-    while ((node = obt_xml_find_node(node, "file"))) {
+    for (node = obt_xml_find_node(node, "file");
+         node;
+         node = obt_xml_find_node(node->next, "file"))
+    {
             gchar *c = obt_xml_node_string(node);
             config_menu_files = g_slist_append(config_menu_files,
                                                obt_paths_expand_tilde(c));
             g_free(c);
-            node = node->next;
     }
 }