X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=parser%2Fparse.c;h=6daa8517ffd5f70e6893df44d2eabb56206b7cde;hb=585098c3b661bca51755715d35bdd23104a452c1;hp=196ba93b43e2015310071c9de7d4c78da908a260;hpb=b645e3720d497fa0111c1b34f0484d1b17358d14;p=chaz%2Fopenbox diff --git a/parser/parse.c b/parser/parse.c index 196ba93b..6daa8517 100644 --- a/parser/parse.c +++ b/parser/parse.c @@ -46,7 +46,7 @@ static void destfunc(struct Callback *c) g_free(c); } -ObParseInst* parse_startup() +ObParseInst* parse_startup(void) { ObParseInst *i = g_new(ObParseInst, 1); i->callbacks = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, @@ -165,6 +165,7 @@ gboolean parse_load(const gchar *path, const gchar *rootname, xmlDocPtr *doc, xmlNodePtr *root) { struct stat s; + if (stat(path, &s) < 0) return FALSE; @@ -251,11 +252,11 @@ gboolean parse_bool(xmlDocPtr doc, xmlNodePtr node) { xmlChar *c = xmlNodeListGetString(doc, node->children, TRUE); gboolean b = FALSE; - if (!xmlStrcasecmp(c, (const xmlChar*) "true")) + if (c && !xmlStrcasecmp(c, (const xmlChar*) "true")) b = TRUE; - else if (!xmlStrcasecmp(c, (const xmlChar*) "yes")) + else if (c && !xmlStrcasecmp(c, (const xmlChar*) "yes")) b = TRUE; - else if (!xmlStrcasecmp(c, (const xmlChar*) "on")) + else if (c && !xmlStrcasecmp(c, (const xmlChar*) "on")) b = TRUE; xmlFree(c); return b; @@ -373,7 +374,7 @@ static GSList* split_paths(const gchar *paths) return list; } -void parse_paths_startup() +void parse_paths_startup(void) { const gchar *path; @@ -411,7 +412,7 @@ void parse_paths_startup() xdg_config_dir_paths = slist_path_add(xdg_config_dir_paths, g_strdup(xdg_config_home_path), (GSListFunc) g_slist_prepend); - + path = g_getenv("XDG_DATA_DIRS"); if (path && path[0] != '\0') /* not unset or empty */ xdg_data_dir_paths = split_paths(path); @@ -435,7 +436,7 @@ void parse_paths_startup() (GSListFunc) g_slist_prepend); } -void parse_paths_shutdown() +void parse_paths_shutdown(void) { GSList *it; @@ -511,22 +512,22 @@ gboolean parse_mkdir_path(const gchar *path, gint mode) return ret; } -const gchar* parse_xdg_config_home_path() +const gchar* parse_xdg_config_home_path(void) { return xdg_config_home_path; } -const gchar* parse_xdg_data_home_path() +const gchar* parse_xdg_data_home_path(void) { return xdg_data_home_path; } -GSList* parse_xdg_config_dir_paths() +GSList* parse_xdg_config_dir_paths(void) { return xdg_config_dir_paths; } -GSList* parse_xdg_data_dir_paths() +GSList* parse_xdg_data_dir_paths(void) { return xdg_data_dir_paths; }