diff options
Diffstat (limited to 'common/storage_lmdb.cpp')
-rw-r--r-- | common/storage_lmdb.cpp | 10 |
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 | ||