summaryrefslogtreecommitdiffstats
path: root/common/storage_lmdb.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'common/storage_lmdb.cpp')
-rw-r--r--common/storage_lmdb.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/common/storage_lmdb.cpp b/common/storage_lmdb.cpp
index 0070888..9832853 100644
--- a/common/storage_lmdb.cpp
+++ b/common/storage_lmdb.cpp
@@ -311,10 +311,12 @@ void Storage::readAll(const std::function<bool(void *key, int keySize, void *dat
311 return; 311 return;
312 } 312 }
313 313
314 rc = mdb_cursor_get(cursor, &key, &data, MDB_FIRST); 314 if ((rc = mdb_cursor_get(cursor, &key, &data, MDB_FIRST) == 0) &&
315 while ((rc = mdb_cursor_get(cursor, &key, &data, MDB_NEXT)) == 0) { 315 resultHandler(key.mv_data, key.mv_size, data.mv_data, data.mv_size)) {
316 if (!resultHandler(key.mv_data, key.mv_size, data.mv_data, data.mv_size)) { 316 while ((rc = mdb_cursor_get(cursor, &key, &data, MDB_NEXT)) == 0) {
317 break; 317 if (!resultHandler(key.mv_data, key.mv_size, data.mv_data, data.mv_size)) {
318 break;
319 }
318 } 320 }
319 } 321 }
320 322