aboutsummaryrefslogtreecommitdiff
path: root/src/kv_manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kv_manager.c')
-rw-r--r--src/kv_manager.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/kv_manager.c b/src/kv_manager.c
index 8d2e79f..2307876 100644
--- a/src/kv_manager.c
+++ b/src/kv_manager.c
@@ -31,6 +31,7 @@
#include "kv_manager.h"
#include "trace_macros.h"
+#include "options.h"
/*=========== DEFINES, CONSTANTS AND TYPES ===========*/
@@ -51,7 +52,7 @@ bool add_b_t_wrapped(char *key, bool value, char type, bool keep_original_type);
* -2 on already open gdbm file
* -3 on failure when opening or creating the db file
*/
-int kv_open_storage(char *fname) {
+int kv_open_storage(const char *fname) {
if (fname == NULL || fname[0] == '\0') {
LOGERR("ERROR: No valid filename\n");
return false;
@@ -63,7 +64,7 @@ int kv_open_storage(char *fname) {
}
/* Currently CLOEXEC is obsolete, as no exec calls are planned */
- gdbf = gdbm_open(fname, 0, GDBM_WRCREAT | GDBM_CLOEXEC | GDBM_XVERIFY, 0644, NULL);
+ gdbf = gdbm_open(fname, 0, ((option_clean_kv) ? GDBM_NEWDB : GDBM_WRCREAT) | GDBM_CLOEXEC | GDBM_XVERIFY, 0644, NULL);
if (gdbf == NULL) {
LOGERR("ERROR: Failed to open gdbm db: %s\n",
gdbm_strerror(gdbm_errno));