summaryrefslogtreecommitdiffstats
path: root/nserver/src/db.c
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2020-04-09 20:37:12 -0400
committerrsiddharth <s@ricketyspace.net>2020-04-17 20:56:37 -0400
commitd5cedc6f28a60301bad21a16fdb047fdb82ff883 (patch)
tree8cb7e49633c52250447843e06b34b51e2eca8669 /nserver/src/db.c
parent3430edf9a8497ae4552d44b753a674da9167b577 (diff)
nserver: Add db.h
* nserver/.gitignore: Add nserver.db * nserver/Makefile ($(PROGRAMS)) (tests): Link gdbm. (clean): Remove nserver.db * nserver/src/db.c (db_init): New function. * nserver/src/db.h (db_init): New function declaration. * nserver/tests/db_tests.c: Tests for db.h
Diffstat (limited to 'nserver/src/db.c')
-rw-r--r--nserver/src/db.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/nserver/src/db.c b/nserver/src/db.c
new file mode 100644
index 0000000..315bf7b
--- /dev/null
+++ b/nserver/src/db.c
@@ -0,0 +1,20 @@
+#include <db.h>
+
+
+static const char *DB_FILE = "nserver.db";
+
+int db_init()
+{
+ // Create DB if it's not already created.
+ GDBM_FILE gf = gdbm_open(DB_FILE, 0, GDBM_WRCREAT,
+ S_IRUSR|S_IWUSR, NULL);
+ check(gf != NULL, "unable to init db");
+
+ // Close the DB.
+ int rc = gdbm_close(gf);
+ check(rc == 0, "error closing db after init");
+
+ return 0;
+ error:
+ return -1;
+}