]> Dogcows Code - chaz/openbox/blobdiff - obt/paths.c
skip empty strings when splitting paths in the environment
[chaz/openbox] / obt / paths.c
index b20eb48d1139459cbaf2e99e9bb0b497528494e2..aa76b8efd36fbe63f898ffa559ce0164022851a0 100644 (file)
@@ -88,8 +88,10 @@ static GSList* split_paths(const gchar *paths)
     if (!paths)
         return NULL;
     spl = g_strsplit(paths, ":", -1);
-    for (it = spl; *it; ++it)
-        list = slist_path_add(list, *it, (GSListFunc) g_slist_append);
+    for (it = spl; *it; ++it) {
+        if ((*it)[0]) /* skip empty strings */
+            list = slist_path_add(list, *it, (GSListFunc) g_slist_append);
+    }
     g_free(spl);
     return list;
 }
@@ -231,9 +233,13 @@ void obt_paths_unref(ObtPaths *p)
         for (it = p->autostart_dirs; it; it = g_slist_next(it))
             g_free(it->data);
         g_slist_free(p->autostart_dirs);
+        for (it = p->exec_dirs; it; it = g_slist_next(it))
+            g_free(it->data);
+        g_slist_free(p->exec_dirs);
         g_free(p->config_home);
         g_free(p->data_home);
         g_free(p->cache_home);
+        g_free(p->gid);
 
         g_slice_free(ObtPaths, p);
     }
This page took 0.020959 seconds and 4 git commands to generate.