Index: Makefile ================================================================== --- Makefile +++ Makefile @@ -1,10 +1,10 @@ CC = gcc PKG_CONFIG = pkg-config -CFLAGS = -Wall -g3 $(shell $(PKG_CONFIG) --cflags fuse) $(TCL_CFLAGS) +CFLAGS = -Wall -g3 $(shell $(PKG_CONFIG) --cflags fuse) $(shell $(PKG_CONFIG) --cflags sqlite3) $(TCL_CFLAGS) LDFLAGS = $(TCL_LDFLAGS) -LIBS = $(shell $(PKG_CONFIG) --libs fuse) $(TCL_LIBS) +LIBS = $(shell $(PKG_CONFIG) --libs fuse) $(shell $(PKG_CONFIG) --libs sqlite3) $(TCL_LIBS) PREFIX = /usr/local prefix = $(PREFIX) bindir = $(prefix)/bin ifneq ($(TCLKIT_SDK_DIR),) Index: appfs.c ================================================================== --- appfs.c +++ appfs.c @@ -224,11 +224,12 @@ .read = appfs_fuse_read }; int main(int argc, char **argv) { const char *cachedir = APPFS_CACHEDIR; - int tcl_ret; + char dbfilename[1024]; + int tcl_ret, snprintf_ret, sqlite_ret; globalThread.interp = Tcl_CreateInterp(); if (globalThread.interp == NULL) { fprintf(stderr, "Unable to create Tcl Interpreter. Aborting.\n"); @@ -261,10 +262,24 @@ tcl_ret = appfs_Tcl_Eval(globalThread.interp, 1, "::appfs::init"); if (tcl_ret != TCL_OK) { fprintf(stderr, "Unable to initialize Tcl AppFS script (::appfs::init). Aborting.\n"); fprintf(stderr, "Tcl Error is: %s\n", Tcl_GetStringResult(globalThread.interp)); + return(1); + } + + snprintf_ret = snprintf(dbfilename, sizeof(dbfilename), "%s/%s", cachedir, "cache.db"); + if (snprintf_ret >= sizeof(dbfilename)) { + fprintf(stderr, "Unable to set database filename. Aborting.\n"); + + return(1); + } + + sqlite_ret = sqlite3_open(dbfilename, &globalThread.db); + if (sqlite_ret != SQLITE_OK) { + fprintf(stderr, "Unable to open database: %s\n", dbfilename); + return(1); } #ifdef APPFS_TEST_DRIVER return(appfs_test_driver());