diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.c | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..c78b558 --- /dev/null +++ b/src/main.c @@ -0,0 +1,59 @@ +#include <assert.h> +#include <sqlite3.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#define DATABASE_PATH "ftag.db" + +static sqlite3 *db; + +static void __sqlite3_check(int rc, sqlite3 *db, const char *file, int line) +{ + if (rc == SQLITE_OK) + return; + + fprintf(stderr, "%s:%d: %s\n", file, line, sqlite3_errmsg(db)); + assert(0); +} + +#define sqlite3_check(RC, DB) __sqlite3_check(RC, DB, __FILE__, __LINE__) + +static void ftag_init(void) +{ + sqlite3_exec("") +} + +static void usage(void) +{ + printf("usage: ftag COMMAND [COMMAND-ARG]...\n"); + printf("Available values for COMMAND:\n"); + printf(" init\n"); +} + +int main(int argc, char *argv[]) +{ + char *err_msg; + int rc; + + if (argc == 1) { + usage(); + exit(1); + } + + rc = sqlite3_open(DATABASE_PATH, &db); + sqlite3_check(rc, db); + + if (strcmp(argv[1], "init") == 0) + ftag_init(); + else + assert(0); + + sqlite3_free(err_msg); + sqlite3_close(db); + return 0; +} + +/* Local Variables: */ +/* compile-command: "gcc -std=c99 -Wall -O0 -g3 $(pkg-config --libs sqlite3) -o sqlite-first main.c" */ +/* End: */ |
