]> git.sur5r.net Git - openldap/commitdiff
Factor out MDB_env.
authorHallvard Furuseth <hallvard@openldap.org>
Thu, 8 Aug 2013 17:54:54 +0000 (19:54 +0200)
committerHallvard Furuseth <hallvard@openldap.org>
Thu, 8 Aug 2013 17:54:54 +0000 (19:54 +0200)
libraries/liblmdb/mdb.c

index 345d6d61f918d0c957d89d81e92b30e1d9758a08..c2e75e54aad3bfc34a1992909bd85dd135d162a6 100644 (file)
@@ -4452,12 +4452,11 @@ mdb_cursor_push(MDB_cursor *mc, MDB_page *mp)
 static int
 mdb_page_get(MDB_txn *txn, pgno_t pgno, MDB_page **ret, int *lvl)
 {
+       MDB_env *env = txn->mt_env;
        MDB_page *p = NULL;
        int level;
 
-       if (!((txn->mt_flags & MDB_TXN_RDONLY) |
-                 (txn->mt_env->me_flags & MDB_WRITEMAP)))
-       {
+       if (!((txn->mt_flags & MDB_TXN_RDONLY) | (env->me_flags & MDB_WRITEMAP))) {
                MDB_txn *tx2 = txn;
                level = 1;
                do {
@@ -4471,7 +4470,7 @@ mdb_page_get(MDB_txn *txn, pgno_t pgno, MDB_page **ret, int *lvl)
                        if (tx2->mt_spill_pgs) {
                                x = mdb_midl_search(tx2->mt_spill_pgs, pgno);
                                if (x <= tx2->mt_spill_pgs[0] && tx2->mt_spill_pgs[x] == pgno) {
-                                       p = (MDB_page *)(txn->mt_env->me_map + txn->mt_env->me_psize * pgno);
+                                       p = (MDB_page *)(env->me_map + env->me_psize * pgno);
                                        goto done;
                                }
                        }
@@ -4488,7 +4487,7 @@ mdb_page_get(MDB_txn *txn, pgno_t pgno, MDB_page **ret, int *lvl)
 
        if (pgno < txn->mt_next_pgno) {
                level = 0;
-               p = (MDB_page *)(txn->mt_env->me_map + txn->mt_env->me_psize * pgno);
+               p = (MDB_page *)(env->me_map + env->me_psize * pgno);
        } else {
                DPRINTF("page %"Z"u not found", pgno);
                assert(p != NULL);