]> git.sur5r.net Git - openldap/blobdiff - libraries/libmdb/mdb.c
Add mdb_cursor_renew()
[openldap] / libraries / libmdb / mdb.c
index ed1ecbb8640c2c2b2bfdc9270ca853575dd1e4ed..345ebf436cf45b64bd2b0a5c04239a47ea5ca270 100644 (file)
@@ -5285,6 +5285,19 @@ mdb_cursor_open(MDB_txn *txn, MDB_dbi dbi, MDB_cursor **ret)
        return MDB_SUCCESS;
 }
 
+int
+mdb_cursor_renew(MDB_txn *txn, MDB_cursor *mc)
+{
+       if (txn == NULL || mc == NULL || mc->mc_dbi >= txn->mt_numdbs)
+               return EINVAL;
+
+       if (txn->mt_cursors)
+               return EINVAL;
+
+       mdb_cursor_init(mc, txn, mc->mc_dbi, mc->mc_xcursor);
+       return MDB_SUCCESS;
+}
+
 /* Return the count of duplicate data items for the current key */
 int
 mdb_cursor_count(MDB_cursor *mc, size_t *countp)