summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharlie Brej <cbrej@cs.man.ac.uk>2010-08-07 22:47:15 +0100
committerCharlie Brej <cbrej@cs.man.ac.uk>2010-08-07 22:47:15 +0100
commit5e61b666ebf7deaa2e44d14e5575c0852224b9ff (patch)
tree2939bf1604843aa61bdb7a2f36a173e030b4a27e
parent70cbd8fc513f7899a92ae208293f9e9521d2ea7b (diff)
Create the sqlite file in .cache directory and make the dir if not there
-rw-r--r--src/libtidbit/tidbit-database-sqlite.c15
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';");