File htdig-cleanup-db.diff of Package htdig

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;
 
 	/*
openSUSE Build Service is sponsored by