diff options
Diffstat (limited to 'src/kv_manager.c')
| -rw-r--r-- | src/kv_manager.c | 5 |
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)); |
