diff options
author | Jon Bergli Heier <snakebite@jvnv.net> | 2009-12-25 02:55:04 +0100 |
---|---|---|
committer | Jon Bergli Heier <snakebite@jvnv.net> | 2009-12-25 02:55:04 +0100 |
commit | fb6417dcf2df2e5c09fa3a36640d10e563d0ae5b (patch) | |
tree | c82ec13c34c20950881ac98cd75fb6326938882a /walls_conf.c | |
parent | ba76e3af574a4e55d8bf2f1009f11481b7422a4d (diff) | |
parent | f6e2ba790e189721549da70219a85f7cfa769742 (diff) |
Merge ssh://ai/~/walls
Diffstat (limited to 'walls_conf.c')
-rw-r--r-- | walls_conf.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/walls_conf.c b/walls_conf.c index 7ef3a8d..9eb4fdc 100644 --- a/walls_conf.c +++ b/walls_conf.c @@ -1,9 +1,13 @@ +#include <unistd.h> + +#include <glib/gstdio.h> #include "walls_conf.h" GKeyFile *keyfile = NULL; void conf_open() { gchar *filename; + gchar *confdir; GError *error = NULL; keyfile = g_key_file_new(); @@ -13,9 +17,14 @@ void conf_open() { } filename = g_strdup_printf("%s/walls/config", g_get_user_config_dir()); + confdir = g_path_get_dirname(filename); + if(g_access(confdir, F_OK) == -1) { + g_mkdir_with_parents(confdir, 0700); + } + g_free(confdir); if(!g_key_file_load_from_file(keyfile, filename, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, &error)) { - g_warning("%s", error->message); + g_warning("Can't read config: %s", error->message); g_error_free(error); } @@ -29,7 +38,7 @@ gint conf_get_int(const gchar *group_name, const gchar *key, gint _default) { ret = g_key_file_get_integer(keyfile, group_name, key, &error); if(ret == 0) { - g_warning("%s", error->message); + g_warning("Can't get key from config: %s", error->message); g_error_free(error); return _default; } |