diff options
author | Linus Nordberg <linus@nordu.net> | 2016-04-29 13:42:22 +0200 |
---|---|---|
committer | Linus Nordberg <linus@nordu.net> | 2016-04-29 15:03:00 +0200 |
commit | 11509ca23e06a18c36655fa841a1e6837bbc44c0 (patch) | |
tree | 6b9eb40a46e4610275e59d2e9263e0aebad77146 /c_src/permdb.c | |
parent | 42d50536651f28ee0b1eedce06d6f612d5a89a90 (diff) |
Handle addvalue() errors separately from duplicate keys.
Diffstat (limited to 'c_src/permdb.c')
-rw-r--r-- | c_src/permdb.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/c_src/permdb.c b/c_src/permdb.c index 68fa695..d3b7394 100644 --- a/c_src/permdb.c +++ b/c_src/permdb.c @@ -380,7 +380,13 @@ rebuild_index_file(permdb_object *state) int result = addvalue(state, datakey, keylen, NULL, 0, offset); free(datakey); - if (result != 1) { + if (result < 0) { + fprintf(stderr, "error updating index tree for " + "entry at %llu\n", offset); + free(cookie); + return -1; + } + if (result == 0) { fprintf(stderr, "duplicate key at %llu", offset); free(cookie); return -1; |