/* XML_PARSE_BLANKS is needed apparently. When it loads a theme file,
without this option, the tree is weird and has extra nodes in it. */
- if ((*doc = xmlReadFile(path, NULL, XML_PARSE_NOBLANKS))) {
+ if ((*doc = xmlReadFile(path, NULL,
+ XML_PARSE_NOBLANKS | XML_PARSE_RECOVER))) {
*root = xmlDocGetRootElement(*doc);
if (!*root) {
xmlFreeDoc(*doc);
if (!g_slist_find_custom(list, data, (GCompareFunc) slist_path_cmp))
list = func(list, data);
+ else
+ g_free(data);
return list;
}
(GSListFunc) g_slist_append);
}
xdg_config_dir_paths = slist_path_add(xdg_config_dir_paths,
- xdg_config_home_path,
+ g_strdup(xdg_config_home_path),
(GSListFunc) g_slist_prepend);
path = g_getenv("XDG_DATA_DIRS");
(GSListFunc) g_slist_append);
}
xdg_data_dir_paths = slist_path_add(xdg_data_dir_paths,
- xdg_data_home_path,
+ g_strdup(xdg_data_home_path),
(GSListFunc) g_slist_prepend);
}