summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--database.h10
-rw-r--r--unscoop.c2
2 files changed, 12 insertions, 0 deletions
diff --git a/database.h b/database.h
index 3247fee..038ce70 100644
--- a/database.h
+++ b/database.h
@@ -94,6 +94,16 @@ static inline sqlite3 *dbFind(int flags) {
 	return NULL;
 }
 
+static inline void dbBegin(sqlite3 *db) {
+	int error = sqlite3_exec(db, "BEGIN TRANSACTION;", NULL, NULL, NULL);
+	if (error) errx(EX_SOFTWARE, "sqlite3_exec: %s", sqlite3_errmsg(db));
+}
+
+static inline void dbCommit(sqlite3 *db) {
+	int error = sqlite3_exec(db, "COMMIT TRANSACTION;", NULL, NULL, NULL);
+	if (error) errx(EX_SOFTWARE, "sqlite3_exec: %s", sqlite3_errmsg(db));
+}
+
 static inline sqlite3_stmt *
 dbPrepare(sqlite3 *db, unsigned flags, const char *sql) {
 	sqlite3_stmt *stmt;
diff --git a/unscoop.c b/unscoop.c
index be57128..73beeb1 100644
--- a/unscoop.c
+++ b/unscoop.c
@@ -187,6 +187,7 @@ int main(int argc, char *argv[]) {
 		FILE *file = fopen(argv[i], "r");
 		if (!file) err(EX_NOINPUT, "%s", argv[i]);
 
+		dbBegin(db);
 		ssize_t len;
 		while (0 < (len = getline(&line, &cap, file))) {
 			for (size_t i = 0; i < format->len; ++i) {
@@ -241,6 +242,7 @@ int main(int argc, char *argv[]) {
 		}
 		if (ferror(file)) err(EX_IOERR, "%s", argv[i]);
 		fclose(file);
+		dbCommit(db);
 	}
 	printf("\n");
 
18:22:02 -0400'>2013-03-12Hide mode from below statuslineJune McEnroe 2013-03-12Switch to powerlineJune McEnroe Which I'm not going to bother configuring because it thinks it's all fancy and for other things that aren't Vim so it stores its config file in ~/.config which I keep in a different repo and I only want to use it for Vim so fuck you, Powerline. </rant> 2013-03-12Remove vim-powerlineJune McEnroe 2013-02-03Update base16 and refheapJune McEnroe 2013-02-03Ignore plugin/private.vimJune McEnroe 2012-09-29Disable GUI dialogsJune McEnroe