summaryrefslogtreecommitdiff
path: root/src/util.c
diff options
context:
space:
mode:
authorDaniel Carl <danielcarl@gmx.de>2012-10-20 19:51:59 +0200
committerDaniel Carl <danielcarl@gmx.de>2012-10-20 19:51:59 +0200
commit7ca4178278b143e04541b7c946e07ddaeaf7b210 (patch)
treee03c0b8881018198308f35e139904c69fbc71058 /src/util.c
parent9fc9eaacc36e9e21cd03115280b0f7c6d7066cce (diff)
Allow setting and removing keybindings from string.
Diffstat (limited to 'src/util.c')
-rw-r--r--src/util.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/util.c b/src/util.c
new file mode 100644
index 0000000..f274e9c
--- /dev/null
+++ b/src/util.c
@@ -0,0 +1,33 @@
+#include "util.h"
+#include <stdio.h>
+#include <glib.h>
+
+char* util_get_config_dir(void)
+{
+ char *path = g_build_filename(g_get_user_config_dir(), PROJECT, NULL);
+ util_create_dir_if_not_exists(path);
+
+ return path;
+}
+
+char* util_get_cache_dir(void)
+{
+ char *path = g_build_filename(g_get_user_cache_dir(), PROJECT, NULL);
+ util_create_dir_if_not_exists(path);
+
+ return path;
+}
+
+void util_create_dir_if_not_exists(const gchar* dirpath)
+{
+ if (!g_file_test(dirpath, G_FILE_TEST_IS_DIR)) {
+ g_mkdir_with_parents(dirpath, 0755);
+ }
+}
+
+void util_create_file_if_not_exists(const char* filename) {
+ if (!g_file_test(filename, G_FILE_TEST_IS_REGULAR)) {
+ FILE* f = fopen(filename, "a");
+ fclose(f);
+ }
+}