diff options
author | Aaron Seigo <aseigo@kde.org> | 2014-12-10 10:10:59 +0100 |
---|---|---|
committer | Aaron Seigo <aseigo@kde.org> | 2014-12-11 01:02:59 +0100 |
commit | 8e2967c5bc703788cf243c9607a3cab1f976b125 (patch) | |
tree | 83f0b20f48612ee60469bddb9774e788e7cc06ff | |
parent | 997637b3b466e1f1c95405a3d43a78d78d4ba259 (diff) | |
download | sink-8e2967c5bc703788cf243c9607a3cab1f976b125.tar.gz sink-8e2967c5bc703788cf243c9607a3cab1f976b125.zip |
don't miss the first item in the database!
-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 | ||