/* * cfg.c - configuration interface */ #include #include #include #include "lodju.h" static glong cache_size = 10L * 1024L * 1024L; glong cfg_get_cache_size(void) { return cache_size; } void cfg_load(void) { xmlDocPtr doc; xmlNodePtr node; gchar *name; gchar *str; name = g_strdup_printf("%s/.lodjurc", g_get_home_dir()); doc = xmlParseFile(name); g_free(name); if (doc == NULL || doc->root == NULL || doc->root->name == NULL) goto error; if (strcmp(doc->root->name, "lodju-config") != 0) goto error; for (node = doc->root->childs; node != NULL; node = node->next) { if (node->name == NULL || strcmp(node->name, "cache-size") != 0) continue; str = node_get_content(node); cache_size = atol(str) * 1024L * 1024L; g_free(str); } error: if (doc != NULL) xmlFreeDoc(doc); }