forked from pool/htdig
163 lines
5.0 KiB
Diff
163 lines
5.0 KiB
Diff
diff -ur htdig-3.2.0b6.orig/db/bt_open.c htdig-3.2.0b6/db/bt_open.c
|
|
--- htdig-3.2.0b6.orig/db/bt_open.c 2002-02-02 19:18:05.000000000 +0100
|
|
+++ htdig-3.2.0b6/db/bt_open.c 2004-07-05 17:11:18.869261790 +0200
|
|
@@ -295,6 +295,7 @@
|
|
DB_LOCK metalock;
|
|
PAGE *root;
|
|
int ret, t_ret;
|
|
+ union{ BTMETA **mp; PAGE **pp; }cv;
|
|
|
|
ret = 0;
|
|
t = dbp->bt_internal;
|
|
@@ -311,8 +312,9 @@
|
|
if ((ret =
|
|
CDB___db_lget(dbc, 0, base_pgno, DB_LOCK_WRITE, 0, &metalock)) != 0)
|
|
goto err;
|
|
- if ((ret = CDB_memp_fget(
|
|
- dbp->mpf, &base_pgno, DB_MPOOL_CREATE, (PAGE **)&meta)) != 0)
|
|
+ cv.mp = &meta;
|
|
+ if ((ret = CDB_memp_fget(
|
|
+ dbp->mpf, &base_pgno, DB_MPOOL_CREATE, cv.mp)) != 0)
|
|
goto err;
|
|
|
|
/*
|
|
diff -ur htdig-3.2.0b6.orig/db/bt_stat.c htdig-3.2.0b6/db/bt_stat.c
|
|
--- htdig-3.2.0b6.orig/db/bt_stat.c 2002-02-02 19:18:05.000000000 +0100
|
|
+++ htdig-3.2.0b6/db/bt_stat.c 2004-07-05 17:13:58.620951679 +0200
|
|
@@ -46,6 +46,7 @@
|
|
PAGE *h;
|
|
db_pgno_t pgno;
|
|
int ret, t_ret;
|
|
+ union{ BTMETA **mp; PAGE **pp; }cv;
|
|
|
|
PANIC_CHECK(dbp->dbenv);
|
|
DB_ILLEGAL_BEFORE_OPEN(dbp, "DB->stat");
|
|
@@ -93,7 +94,8 @@
|
|
pgno = PGNO_BASE_MD;
|
|
if ((ret = CDB___db_lget(dbc, 0, pgno, DB_LOCK_READ, 0, &lock)) != 0)
|
|
goto err;
|
|
- if ((ret = CDB_memp_fget(dbp->mpf, &pgno, 0, (PAGE **)&meta)) != 0)
|
|
+ cv.mp = &meta;
|
|
+ if ((ret = CDB_memp_fget(dbp->mpf, &pgno, 0, cv.mp)) != 0)
|
|
goto err;
|
|
|
|
/* Walk the metadata free list, counting pages. */
|
|
@@ -122,8 +124,9 @@
|
|
if ((ret =
|
|
CDB___db_lget(dbc, 0, t->bt_meta, DB_LOCK_READ, 0, &lock)) != 0)
|
|
goto err;
|
|
+ cv.mp = &meta;
|
|
if ((ret =
|
|
- CDB_memp_fget(dbp->mpf, &t->bt_meta, 0, (PAGE **)&meta)) != 0)
|
|
+ CDB_memp_fget(dbp->mpf, &t->bt_meta, 0, cv.mp)) != 0)
|
|
goto err;
|
|
}
|
|
|
|
diff -ur htdig-3.2.0b6.orig/db/db_meta.c htdig-3.2.0b6/db/db_meta.c
|
|
--- htdig-3.2.0b6.orig/db/db_meta.c 2002-02-02 19:18:05.000000000 +0100
|
|
+++ htdig-3.2.0b6/db/db_meta.c 2004-07-05 17:23:28.878967333 +0200
|
|
@@ -79,6 +79,7 @@
|
|
PAGE *h;
|
|
db_pgno_t pgno;
|
|
int ret;
|
|
+ union{ DBMETA **mp; PAGE **pp; }cv;
|
|
|
|
dbp = dbc->dbp;
|
|
meta = NULL;
|
|
@@ -88,7 +89,8 @@
|
|
pgno = PGNO_BASE_MD;
|
|
if ((ret = CDB___db_lget(dbc, 0, pgno, DB_LOCK_WRITE, 0, &metalock)) != 0)
|
|
goto err;
|
|
- if ((ret = CDB_memp_fget(dbp->mpf, &pgno, 0, (PAGE **)&meta)) != 0)
|
|
+ cv.mp = &meta;
|
|
+ if ((ret = CDB_memp_fget(dbp->mpf, &pgno, 0, cv.mp)) != 0)
|
|
goto err;
|
|
|
|
if (meta->free == PGNO_INVALID) {
|
|
@@ -147,6 +149,7 @@
|
|
db_pgno_t pgno;
|
|
u_int32_t dirty_flag;
|
|
int ret, t_ret;
|
|
+ union{ DBMETA **mp; PAGE **pp; }cv;
|
|
|
|
dbp = dbc->dbp;
|
|
|
|
@@ -160,7 +163,8 @@
|
|
pgno = PGNO_BASE_MD;
|
|
if ((ret = CDB___db_lget(dbc, 0, pgno, DB_LOCK_WRITE, 0, &metalock)) != 0)
|
|
goto err;
|
|
- if ((ret = CDB_memp_fget(dbp->mpf, &pgno, 0, (PAGE **)&meta)) != 0) {
|
|
+ cv.mp = &meta;
|
|
+ if ((ret = CDB_memp_fget(dbp->mpf, &pgno, 0, cv.mp)) != 0) {
|
|
(void)__TLPUT(dbc, metalock);
|
|
goto err;
|
|
}
|
|
diff -ur htdig-3.2.0b6.orig/db/qam_stat.c htdig-3.2.0b6/db/qam_stat.c
|
|
--- htdig-3.2.0b6.orig/db/qam_stat.c 2002-02-02 19:18:05.000000000 +0100
|
|
+++ htdig-3.2.0b6/db/qam_stat.c 2004-07-05 17:21:19.300260895 +0200
|
|
@@ -47,6 +47,7 @@
|
|
db_indx_t indx;
|
|
db_pgno_t lastpgno, pgno;
|
|
int ret, t_ret;
|
|
+ union{ QMETA **mp; PAGE **pp; }cv;
|
|
|
|
PANIC_CHECK(dbp->dbenv);
|
|
DB_ILLEGAL_BEFORE_OPEN(dbp, "DB->stat");
|
|
@@ -76,7 +77,8 @@
|
|
/* Get the meta-data page. */
|
|
if ((ret = CDB___db_lget(dbc, 0, t->q_meta, DB_LOCK_READ, 0, &lock)) != 0)
|
|
goto err;
|
|
- if ((ret = CDB_memp_fget(dbp->mpf, &t->q_meta, 0, (PAGE **)&meta)) != 0)
|
|
+ cv.mp = &meta;
|
|
+ if ((ret = CDB_memp_fget(dbp->mpf, &t->q_meta, 0, cv.mp)) != 0)
|
|
goto err;
|
|
|
|
/* Get the metadata fields. */
|
|
|
|
diff -ur htdig-3.2.0b6.orig/db/hash.c htdig-3.2.0b6/db/hash.c
|
|
--- htdig-3.2.0b6.orig/db/hash.c 2002-06-11 18:44:35.000000000 +0200
|
|
+++ htdig-3.2.0b6/db/hash.c 2004-07-06 10:06:41.638815185 +0200
|
|
@@ -292,6 +292,7 @@
|
|
db_pgno_t mpgno;
|
|
int32_t l2, nbuckets;
|
|
int dirty_mmeta, i, ret, t_ret;
|
|
+ union{ DBMETA **mp; PAGE **pp; }cv;
|
|
|
|
hcp = (HASH_CURSOR *)dbc->internal;
|
|
dbp = dbc->dbp;
|
|
@@ -341,8 +342,9 @@
|
|
if ((ret = CDB___db_lget(dbc,
|
|
0, mpgno, DB_LOCK_WRITE, 0, &metalock)) != 0)
|
|
return (ret);
|
|
+ cv.mp = &mmeta;
|
|
if ((ret = CDB_memp_fget(dbp->mpf,
|
|
- &mpgno, 0, (PAGE **)&mmeta)) != 0)
|
|
+ &mpgno, 0, cv.mp)) != 0)
|
|
goto err;
|
|
}
|
|
if ((ret = CDB___ham_dirty_page(dbp, (PAGE *)hcp->hdr)) != 0)
|
|
|
|
diff -u htdig-3.2.0b6/db/qam_open.c.\~1\~ htdig-3.2.0b6/db/qam_open.c
|
|
--- htdig-3.2.0b6/db/qam_open.c.~1~ 2002-02-02 19:18:05.000000000 +0100
|
|
+++ htdig-3.2.0b6/db/qam_open.c 2004-07-06 10:56:17.022264520 +0200
|
|
@@ -43,6 +43,7 @@
|
|
DB_LSN orig_lsn;
|
|
QMETA *qmeta;
|
|
int ret, t_ret;
|
|
+ union{ QMETA **mp; PAGE **pp; }cv;
|
|
|
|
ret = 0;
|
|
t = dbp->q_internal;
|
|
@@ -62,8 +63,9 @@
|
|
if ((ret =
|
|
CDB___db_lget(dbc, 0, base_pgno, DB_LOCK_WRITE, 0, &metalock)) != 0)
|
|
goto err;
|
|
+ cv.mp = &qmeta;
|
|
if ((ret = CDB_memp_fget(
|
|
- dbp->mpf, &base_pgno, DB_MPOOL_CREATE, (PAGE **)&qmeta)) != 0)
|
|
+ dbp->mpf, &base_pgno, DB_MPOOL_CREATE, cv.mp)) != 0)
|
|
goto err;
|
|
|
|
/*
|
|
|