diff options
author | Charlie Brej <cbrej@cs.man.ac.uk> | 2010-08-07 22:47:15 +0100 |
---|---|---|
committer | Charlie Brej <cbrej@cs.man.ac.uk> | 2010-08-07 22:47:15 +0100 |
commit | 5e61b666ebf7deaa2e44d14e5575c0852224b9ff (patch) | |
tree | 2939bf1604843aa61bdb7a2f36a173e030b4a27e | |
parent | 70cbd8fc513f7899a92ae208293f9e9521d2ea7b (diff) |
Create the sqlite file in .cache directory and make the dir if not there
-rw-r--r-- | src/libtidbit/tidbit-database-sqlite.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/libtidbit/tidbit-database-sqlite.c b/src/libtidbit/tidbit-database-sqlite.c index 0a43f7d..ad5791d 100644 --- a/src/libtidbit/tidbit-database-sqlite.c +++ b/src/libtidbit/tidbit-database-sqlite.c @@ -19,6 +19,7 @@ #include <glib.h> #include <sqlite3.h> +#include <sys/stat.h> #include "tidbit.h" #include "tidbit-database.h" @@ -41,8 +42,8 @@ static TidbitDatabaseFunctions backend_functions = { static void my_sqlite_exec (sqlite3 *db, char *sql) { - gchar *err; - gint res = sqlite3_exec (db, sql, NULL, NULL, &err); + gchar *err; + gint res = sqlite3_exec (db, sql, NULL, NULL, &err); if (res != SQLITE_OK) g_print("%s\n", err); g_assert(res == SQLITE_OK); @@ -75,7 +76,15 @@ PtrTidbitDatabase tidbit_database_sqlite_new (void) PtrTidbitDatabaseSqlite backend = g_new(TidbitDatabaseSqlite, 1); PtrTidbitDatabase tidbit_database = tidbit_database_new(backend, &backend_functions); sqlite3 *db; - int res = sqlite3_open("/home/brejc8/.cache/tidbit_cache.sqlite", &db); + char* filename = g_build_filename (g_get_home_dir(), "/.cache", NULL); + if (!g_file_test (filename, G_FILE_TEST_EXISTS)) + mkdir (filename, 0700); + g_free (filename); + + filename = g_build_filename (g_get_home_dir(), "/.cache/tidbit_cache.sqlite", NULL); + int res = sqlite3_open(filename, &db); + g_free (filename); + backend->db = db; g_assert(res == SQLITE_OK); int tables_present = my_sqlite_get_int64 (db, "SELECT COUNT(*) FROM sqlite_master WHERE type = 'table' AND name = 'settings';"); |