summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul de Vrieze <pauldv@gentoo.org>2006-02-28 09:45:44 +0000
committerPaul de Vrieze <pauldv@gentoo.org>2006-02-28 09:45:44 +0000
commit9c98b201ef2b1e7c855e1bdd1d53957156b58134 (patch)
treecc47c60a0ba5cbd550168e80a3171d3e16be52e9 /sys-libs
parentFix RDEPEND. (diff)
downloadgentoo-2-9c98b201ef2b1e7c855e1bdd1d53957156b58134.tar.gz
gentoo-2-9c98b201ef2b1e7c855e1bdd1d53957156b58134.tar.bz2
gentoo-2-9c98b201ef2b1e7c855e1bdd1d53957156b58134.zip
Move the db.1.85.patch file to the mirrors
(Portage version: 2.1_pre4-r1)
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/db/ChangeLog5
-rw-r--r--sys-libs/db/Manifest21
-rw-r--r--sys-libs/db/db-1.85-r1.ebuild11
-rw-r--r--sys-libs/db/files/db.1.85.patch1796
-rw-r--r--sys-libs/db/files/digest-db-1.85-r15
5 files changed, 24 insertions, 1814 deletions
diff --git a/sys-libs/db/ChangeLog b/sys-libs/db/ChangeLog
index ce36918a16a6..37b108d5a8ff 100644
--- a/sys-libs/db/ChangeLog
+++ b/sys-libs/db/ChangeLog
@@ -1,6 +1,9 @@
# ChangeLog for sys-libs/db
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/db/ChangeLog,v 1.150 2006/02/22 20:51:59 pauldv Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/db/ChangeLog,v 1.151 2006/02/28 09:45:43 pauldv Exp $
+
+ 28 Feb 2006; <pauldv@gentoo.org> -files/db.1.85.patch, db-1.85-r1.ebuild:
+ Move the patch to the mirrors. It's too big for the tree.
22 Feb 2006; Paul de Vrieze <pauldv@gentoo.org> db-4.3.29.ebuild,
db-4.4.20.ebuild:
diff --git a/sys-libs/db/Manifest b/sys-libs/db/Manifest
index ef1bb8543670..f6d03b353608 100644
--- a/sys-libs/db/Manifest
+++ b/sys-libs/db/Manifest
@@ -1,9 +1,9 @@
-MD5 54876d41d6c4264063c6ceff44ccd15d ChangeLog 23491
-RMD160 4832b19be5cc25b1142187391eb9ff16fcadf224 ChangeLog 23491
-SHA256 e17e1fdaceecafa7761c3467fca3948f606ded72e98a7b65abad3f6db592cec3 ChangeLog 23491
-MD5 15e26e1303761aa1b814d1d46f930d74 db-1.85-r1.ebuild 1435
-RMD160 de77afba489fc7a50512d2699dbca86533a264e9 db-1.85-r1.ebuild 1435
-SHA256 ea07db0c6affb5fe4b123017d8ddf667559590e7cc7b81bdf2628644dcd10ab2 db-1.85-r1.ebuild 1435
+MD5 e7338e94fa6ab537bfdf8ab74dddedc2 ChangeLog 23628
+RMD160 d14ff1d5f413602a657321e0693ff162d35b352f ChangeLog 23628
+SHA256 89ac6c233cea731f306df75218d127c837fd51afed0fd2397b2e106bf63e3ed9 ChangeLog 23628
+MD5 5367c46952d2e76886de7cba3f744162 db-1.85-r1.ebuild 1477
+RMD160 738ab81038eb19e4f803609fceb27506377dbc4c db-1.85-r1.ebuild 1477
+SHA256 d7ebe7836411556cbe6e3e5e3817b4b96610556a8e0616eb5477c6dc114b7d6d db-1.85-r1.ebuild 1477
MD5 a0435de0fd1dacc747f315502eda91bc db-1.85-r2.ebuild 1467
RMD160 679c4d687d5a6406200dcda334d43e14d35e76c3 db-1.85-r2.ebuild 1467
SHA256 c637a86f9e37dffe1c84da0f55114963ab96d0e430ae4e4dc55cb356e60bb78f db-1.85-r2.ebuild 1467
@@ -94,12 +94,9 @@ SHA256 fc5c59311dadd11dde7ba6b6e975069a52e1ded76fcebe1b76927b79899fe425 files/db
MD5 01f6ce9181e5e748014b1dc5e747e3bd files/db-4.4-libtool.patch 1817
RMD160 989536933036b8ea7d4bf55420c49ebad76d703b files/db-4.4-libtool.patch 1817
SHA256 7b47ab059b5e9a775e024f6f2562eea136e870a32748675664e5a5315b871b21 files/db-4.4-libtool.patch 1817
-MD5 ecd81fa9868ec49c61306444144d44a9 files/db.1.85.patch 55584
-RMD160 e4433e45e13764b8d0cdf948909f6f5b8f9ed7ff files/db.1.85.patch 55584
-SHA256 6df42acf6d7bec774b1bdc1629abadf7b006d622e2bbcf638aed7985eacdd48e files/db.1.85.patch 55584
-MD5 3057fcc117c33a02bd4c092586a58e49 files/digest-db-1.85-r1 59
-RMD160 9dad0109a5284f924a78fc3364eed5ad389f1407 files/digest-db-1.85-r1 59
-SHA256 43c1db87f2a885182b0f1e9e3309df6a292f0c8ad37d54576f7ae669e545ee7c files/digest-db-1.85-r1 59
+MD5 af69ed5a64631dd85c8c661ffe13fbb3 files/digest-db-1.85-r1 440
+RMD160 a39433dbd7e9920a4dd82e0d70e4e2d4a6286ad2 files/digest-db-1.85-r1 440
+SHA256 e1baf331d288a2846ebbe548b213350829b3459770b07becc689467cf901a010 files/digest-db-1.85-r1 440
MD5 69bde9765bf0a2d6c55a253eb0e53190 files/digest-db-1.85-r2 120
RMD160 f847b0a4a9750d3fe3632c97d9f3f04fe4e8fef8 files/digest-db-1.85-r2 120
SHA256 c52e84ab2f589fe29a1edb7c606077361223bf1c71e0e2becc4bda79d3ed5637 files/digest-db-1.85-r2 120
diff --git a/sys-libs/db/db-1.85-r1.ebuild b/sys-libs/db/db-1.85-r1.ebuild
index 2e1c99c53fb0..7cdfcadbe528 100644
--- a/sys-libs/db/db-1.85-r1.ebuild
+++ b/sys-libs/db/db-1.85-r1.ebuild
@@ -1,12 +1,13 @@
-# Copyright 1999-2005 Gentoo Foundation
+# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/db/db-1.85-r1.ebuild,v 1.31 2005/01/30 19:39:20 pauldv Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/db/db-1.85-r1.ebuild,v 1.32 2006/02/28 09:45:44 pauldv Exp $
inherit eutils
DESCRIPTION="db 1.85 -- required for RPM 4.0 to compile; that's about it."
HOMEPAGE="http://www.sleepycat.com/"
-SRC_URI="ftp://ftp.sleepycat.com/releases/db.${PV}.tar.gz"
+SRC_URI="ftp://ftp.sleepycat.com/releases/db.${PV}.tar.gz
+ mirror://gentoo/db.1.85.patch"
LICENSE="DB"
SLOT="1"
@@ -18,9 +19,9 @@ DEPEND="virtual/libc"
S=${WORKDIR}/db.${PV}
src_unpack() {
- unpack ${A}
+ unpack db.${PV}.tar.gz
cd ${S}
- epatch ${FILESDIR}/db.${PV}.patch
+ epatch ${DISTDIR}/db.${PV}.patch
}
src_compile() {
diff --git a/sys-libs/db/files/db.1.85.patch b/sys-libs/db/files/db.1.85.patch
deleted file mode 100644
index 1f4778986bd9..000000000000
--- a/sys-libs/db/files/db.1.85.patch
+++ /dev/null
@@ -1,1796 +0,0 @@
---- db.1.85/btree/bt_delete.c.jj Thu Jul 28 16:30:03 1994
-+++ db.1.85/btree/bt_delete.c Wed Apr 19 17:56:12 2000
-@@ -154,7 +154,7 @@ __bt_stkacq(t, hp, c)
- pgno_t pgno;
- recno_t nextpg, prevpg;
- int exact, level;
--
-+
- /*
- * Find the first occurrence of the key in the tree. Toss the
- * currently locked page so we don't hit an already-locked page.
-@@ -270,7 +270,7 @@ __bt_stkacq(t, hp, c)
- if ((h = mpool_get(t->bt_mp, prevpg, 0)) == NULL)
- return (1);
- }
--
-+
-
- ret: mpool_put(t->bt_mp, h, 0);
- return ((*hp = mpool_get(t->bt_mp, c->pg.pgno, 0)) == NULL);
-@@ -402,7 +402,7 @@ __bt_pdelete(t, h)
- /* Get the parent page. */
- if ((pg = mpool_get(t->bt_mp, parent->pgno, 0)) == NULL)
- return (RET_ERROR);
--
-+
- index = parent->index;
- bi = GETBINTERNAL(pg, index);
-
-@@ -418,7 +418,7 @@ __bt_pdelete(t, h)
- * root page. If it's the rootpage, turn it back into an empty
- * leaf page.
- */
-- if (NEXTINDEX(pg) == 1)
-+ if (NEXTINDEX(pg) == 1) {
- if (pg->pgno == P_ROOT) {
- pg->lower = BTDATAOFF;
- pg->upper = t->bt_psize;
-@@ -428,7 +428,7 @@ __bt_pdelete(t, h)
- return (RET_ERROR);
- continue;
- }
-- else {
-+ } else {
- /* Pack remaining key items at the end of the page. */
- nksize = NBINTERNAL(bi->ksize);
- from = (char *)pg + pg->upper;
-@@ -571,7 +571,7 @@ __bt_curdel(t, key, h, index)
- key = &c->key;
- }
- /* Check previous key, if not at the beginning of the page. */
-- if (index > 0) {
-+ if (index > 0) {
- e.page = h;
- e.index = index - 1;
- if (__bt_cmp(t, key, &e) == 0) {
---- db.1.85/btree/bt_open.c.jj Thu Aug 18 15:30:42 1994
-+++ db.1.85/btree/bt_open.c Wed Apr 19 17:56:12 2000
-@@ -125,7 +125,7 @@ __bt_open(fname, flags, mode, openinfo,
- */
- if (b.psize &&
- (b.psize < MINPSIZE || b.psize > MAX_PAGE_OFFSET + 1 ||
-- b.psize & sizeof(indx_t) - 1))
-+ b.psize & (sizeof(indx_t) - 1)))
- goto einval;
-
- /* Minimum number of keys per page; absolute minimum is 2. */
-@@ -200,7 +200,7 @@ __bt_open(fname, flags, mode, openinfo,
- default:
- goto einval;
- }
--
-+
- if ((t->bt_fd = open(fname, flags, mode)) < 0)
- goto err;
-
-@@ -245,7 +245,7 @@ __bt_open(fname, flags, mode, openinfo,
- if (m.magic != BTREEMAGIC || m.version != BTREEVERSION)
- goto eftype;
- if (m.psize < MINPSIZE || m.psize > MAX_PAGE_OFFSET + 1 ||
-- m.psize & sizeof(indx_t) - 1)
-+ m.psize & (sizeof(indx_t) - 1))
- goto eftype;
- if (m.flags & ~SAVEMETA)
- goto eftype;
-@@ -259,7 +259,9 @@ __bt_open(fname, flags, mode, openinfo,
- * Don't overflow the page offset type.
- */
- if (b.psize == 0) {
-+#ifdef _STATBUF_ST_BLKSIZE
- b.psize = sb.st_blksize;
-+#endif
- if (b.psize < MINPSIZE)
- b.psize = MINPSIZE;
- if (b.psize > MAX_PAGE_OFFSET + 1)
-@@ -278,8 +280,8 @@ __bt_open(fname, flags, mode, openinfo,
- t->bt_psize = b.psize;
-
- /* Set the cache size; must be a multiple of the page size. */
-- if (b.cachesize && b.cachesize & b.psize - 1)
-- b.cachesize += (~b.cachesize & b.psize - 1) + 1;
-+ if (b.cachesize && b.cachesize & (b.psize - 1))
-+ b.cachesize += (~b.cachesize & (b.psize - 1)) + 1;
- if (b.cachesize < b.psize * MINCACHE)
- b.cachesize = b.psize * MINCACHE;
-
-@@ -388,18 +390,30 @@ tmp()
- {
- sigset_t set, oset;
- int fd;
-- char *envtmp;
-- char path[MAXPATHLEN];
-+ const char *envtmp;
-+ char *path;
-+ static const char fmt[] = "%s/bt.XXXXXX";
-+ size_t n;
-
- envtmp = getenv("TMPDIR");
-- (void)snprintf(path,
-- sizeof(path), "%s/bt.XXXXXX", envtmp ? envtmp : "/tmp");
-+ if (!envtmp)
-+ envtmp = "/tmp";
-+ n = strlen (envtmp) + sizeof fmt;
-+#ifdef __GNUC__
-+ path = __builtin_alloca(n);
-+#else
-+ path = malloc(n);
-+#endif
-+ (void)snprintf(path, n, fmt, envtmp ? envtmp : "/tmp");
-
- (void)sigfillset(&set);
- (void)sigprocmask(SIG_BLOCK, &set, &oset);
- if ((fd = mkstemp(path)) != -1)
- (void)unlink(path);
- (void)sigprocmask(SIG_SETMASK, &oset, NULL);
-+#ifndef __GNUC__
-+ free(path);
-+#endif
- return(fd);
- }
-
---- db.1.85/btree/bt_page.c.jj Thu Jul 14 03:29:02 1994
-+++ db.1.85/btree/bt_page.c Wed Apr 19 17:56:12 2000
-@@ -65,6 +65,7 @@ __bt_free(t, h)
- h->prevpg = P_INVALID;
- h->nextpg = t->bt_free;
- t->bt_free = h->pgno;
-+ F_SET(t, B_METADIRTY);
-
- /* Make sure the page gets written back. */
- return (mpool_put(t->bt_mp, h, MPOOL_DIRTY));
-@@ -92,6 +93,7 @@ __bt_new(t, npg)
- (h = mpool_get(t->bt_mp, t->bt_free, 0)) != NULL) {
- *npg = t->bt_free;
- t->bt_free = h->nextpg;
-+ F_SET(t, B_METADIRTY);
- return (h);
- }
- return (mpool_new(t->bt_mp, npg));
---- db.1.85/btree/bt_put.c.jj Tue Jul 26 20:56:14 1994
-+++ db.1.85/btree/bt_put.c Wed Apr 19 17:56:12 2000
-@@ -201,7 +201,7 @@ delete: if (__bt_dleaf(t, key, h, index
- * into the offset array, shift the pointers up.
- */
- nbytes = NBLEAFDBT(key->size, data->size);
-- if (h->upper - h->lower < nbytes + sizeof(indx_t)) {
-+ if ((u_int32_t) (h->upper - h->lower) < nbytes + sizeof(indx_t)) {
- if ((status = __bt_split(t, h, key,
- data, dflags, nbytes, index)) != RET_SUCCESS)
- return (status);
-@@ -223,7 +223,7 @@ delete: if (__bt_dleaf(t, key, h, index
- t->bt_cursor.pg.pgno == h->pgno && t->bt_cursor.pg.index >= index)
- ++t->bt_cursor.pg.index;
-
-- if (t->bt_order == NOT)
-+ if (t->bt_order == NOT) {
- if (h->nextpg == P_INVALID) {
- if (index == NEXTINDEX(h) - 1) {
- t->bt_order = FORWARD;
-@@ -237,6 +237,7 @@ delete: if (__bt_dleaf(t, key, h, index
- t->bt_last.pgno = h->pgno;
- }
- }
-+ }
-
- mpool_put(t->bt_mp, h, MPOOL_DIRTY);
-
-@@ -284,7 +285,7 @@ bt_fast(t, key, data, exactp)
- * have to search to get split stack.
- */
- nbytes = NBLEAFDBT(key->size, data->size);
-- if (h->upper - h->lower < nbytes + sizeof(indx_t))
-+ if ((u_int32_t) (h->upper - h->lower) < nbytes + sizeof(indx_t))
- goto miss;
-
- if (t->bt_order == FORWARD) {
---- db.1.85/btree/bt_seq.c.jj Tue Jul 26 18:57:24 1994
-+++ db.1.85/btree/bt_seq.c Wed Apr 19 17:56:12 2000
-@@ -92,7 +92,7 @@ __bt_seq(dbp, key, data, flags)
- }
-
- /*
-- * If scan unitialized as yet, or starting at a specific record, set
-+ * If scan uninitialized as yet, or starting at a specific record, set
- * the scan to a specific key. Both __bt_seqset and __bt_seqadv pin
- * the page the cursor references if they're successful.
- */
-@@ -358,13 +358,13 @@ __bt_first(t, key, erval, exactp)
- * page) and return it.
- */
- if ((ep = __bt_search(t, key, exactp)) == NULL)
-- return (NULL);
-+ return (RET_SPECIAL);
- if (*exactp) {
- if (F_ISSET(t, B_NODUPS)) {
- *erval = *ep;
- return (RET_SUCCESS);
- }
--
-+
- /*
- * Walk backwards, as long as the entry matches and there are
- * keys left in the tree. Save a copy of each match in case
---- db.1.85/btree/bt_split.c.jj Tue Jul 26 20:22:02 1994
-+++ db.1.85/btree/bt_split.c Wed Apr 19 17:56:12 2000
-@@ -215,7 +215,8 @@ __bt_split(t, sp, key, data, flags, ilen
- }
-
- /* Split the parent page if necessary or shift the indices. */
-- if (h->upper - h->lower < nbytes + sizeof(indx_t)) {
-+ if ((u_int32_t) (h->upper - h->lower)
-+ < nbytes + sizeof(indx_t)) {
- sp = h;
- h = h->pgno == P_ROOT ?
- bt_root(t, h, &l, &r, &skip, nbytes) :
-@@ -673,7 +674,8 @@ bt_psplit(t, h, l, r, pskip, ilen)
- * where we decide to try and copy too much onto the left page.
- * Make sure that doesn't happen.
- */
-- if (skip <= off && used + nbytes >= full) {
-+ if ((skip <= off && used + nbytes + sizeof(indx_t) >= full)
-+ || nxt == top - 1) {
- --off;
- break;
- }
-@@ -686,7 +688,7 @@ bt_psplit(t, h, l, r, pskip, ilen)
- memmove((char *)l + l->upper, src, nbytes);
- }
-
-- used += nbytes;
-+ used += nbytes + sizeof(indx_t);
- if (used >= half) {
- if (!isbigkey || bigkeycnt == 3)
- break;
---- db.1.85/btree/bt_utils.c.jj Wed Jul 20 17:06:53 1994
-+++ db.1.85/btree/bt_utils.c Wed Apr 19 17:56:12 2000
-@@ -76,7 +76,7 @@ __bt_ret(t, e, key, rkey, data, rdata, c
- bl = GETBLEAF(e->page, e->index);
-
- /*
-- * We must copy big keys/data to make them contigous. Otherwise,
-+ * We must copy big keys/data to make them contiguous. Otherwise,
- * leave the page pinned and don't copy unless the user specified
- * concurrent access.
- */
---- db.1.85/btree/btree.h.jj Thu Aug 18 15:30:43 1994
-+++ db.1.85/btree/btree.h Wed Apr 19 17:58:46 2000
-@@ -43,6 +43,14 @@
-
- #include <mpool.h>
-
-+#define mpool_open __mpool_open
-+#define mpool_filter __mpool_filter
-+#define mpool_new __mpool_new
-+#define mpool_get __mpool_get
-+#define mpool_put __mpool_put
-+#define mpool_sync __mpool_sync
-+#define mpool_close __mpool_close
-+
- #define DEFMINKEYPAGE (2) /* Minimum keys per page */
- #define MINCACHE (5) /* Minimum cached pages */
- #define MINPSIZE (512) /* Minimum page size */
-@@ -161,7 +169,7 @@ typedef struct _rinternal {
- #define NRINTERNAL \
- LALIGN(sizeof(recno_t) + sizeof(pgno_t))
-
--/* Copy a RINTERAL entry to the page. */
-+/* Copy a RINTERNAL entry to the page. */
- #define WR_RINTERNAL(p, nrecs, pgno) { \
- *(recno_t *)p = nrecs; \
- p += sizeof(recno_t); \
---- db.1.85/hash/extern.h.jj Thu Jun 16 22:30:14 1994
-+++ db.1.85/hash/extern.h Wed Apr 19 17:56:12 2000
-@@ -52,7 +52,7 @@ void __free_ovflpage __P((HTAB *, BUFHE
- BUFHEAD *__get_buf __P((HTAB *, u_int32_t, BUFHEAD *, int));
- int __get_page __P((HTAB *, char *, u_int32_t, int, int, int));
- int __ibitmap __P((HTAB *, int, int, int));
--u_int32_t __log2 __P((u_int32_t));
-+u_int32_t __hash_log2 __P((u_int32_t));
- int __put_page __P((HTAB *, char *, u_int32_t, int, int));
- void __reclaim_buf __P((HTAB *, BUFHEAD *));
- int __split_page __P((HTAB *, u_int32_t, u_int32_t));
---- db.1.85/hash/hash.c.jj Fri Jun 24 17:12:29 1994
-+++ db.1.85/hash/hash.c Wed Apr 19 17:56:12 2000
-@@ -157,7 +157,8 @@ __hash_open(file, flags, mode, info, dfl
- if (hashp->VERSION != HASHVERSION &&
- hashp->VERSION != OLDHASHVERSION)
- RETURN_ERROR(EFTYPE, error1);
-- if (hashp->hash(CHARKEY, sizeof(CHARKEY)) != hashp->H_CHARKEY)
-+ if (hashp->hash(CHARKEY, sizeof(CHARKEY))
-+ != (u_int32_t) hashp->H_CHARKEY)
- RETURN_ERROR(EFTYPE, error1);
- /*
- * Figure out how many segments we need. Max_Bucket is the
-@@ -189,7 +190,7 @@ __hash_open(file, flags, mode, info, dfl
- __buf_init(hashp, DEF_BUFSIZE);
-
- hashp->new_file = new_table;
-- hashp->save_file = file && (hashp->flags & O_RDWR);
-+ hashp->save_file = file && (hashp->flags & O_ACCMODE) != O_RDONLY;
- hashp->cbucket = -1;
- if (!(dbp = (DB *)malloc(sizeof(DB)))) {
- save_errno = errno;
-@@ -281,7 +282,9 @@ init_hash(hashp, file, info)
- const char *file;
- HASHINFO *info;
- {
-+#ifdef _STATBUF_ST_BLKSIZE
- struct stat statbuf;
-+#endif
- int nelem;
-
- nelem = 1;
-@@ -298,17 +301,19 @@ init_hash(hashp, file, info)
- memset(hashp->BITMAPS, 0, sizeof (hashp->BITMAPS));
-
- /* Fix bucket size to be optimal for file system */
-+#ifdef _STATBUF_ST_BLKSIZE
- if (file != NULL) {
- if (stat(file, &statbuf))
- return (NULL);
- hashp->BSIZE = statbuf.st_blksize;
-- hashp->BSHIFT = __log2(hashp->BSIZE);
-+ hashp->BSHIFT = __hash_log2(hashp->BSIZE);
- }
-+#endif
-
- if (info) {
- if (info->bsize) {
- /* Round pagesize up to power of 2 */
-- hashp->BSHIFT = __log2(info->bsize);
-+ hashp->BSHIFT = __hash_log2(info->bsize);
- hashp->BSIZE = 1 << hashp->BSHIFT;
- if (hashp->BSIZE > MAX_BSIZE) {
- errno = EINVAL;
-@@ -357,7 +362,7 @@ init_htab(hashp, nelem)
- */
- nelem = (nelem - 1) / hashp->FFACTOR + 1;
-
-- l2 = __log2(MAX(nelem, 2));
-+ l2 = __hash_log2(MAX(nelem, 2));
- nbuckets = 1 << l2;
-
- hashp->SPARES[l2] = l2 + 1;
-@@ -375,7 +380,7 @@ init_htab(hashp, nelem)
- hashp->BSHIFT) + 1;
-
- nsegs = (nbuckets - 1) / hashp->SGSIZE + 1;
-- nsegs = 1 << __log2(nsegs);
-+ nsegs = 1 << __hash_log2(nsegs);
-
- if (nsegs > hashp->DSIZE)
- hashp->DSIZE = nsegs;
-@@ -505,7 +510,7 @@ flush_meta(hashp)
- else
- if (wsize != sizeof(HASHHDR)) {
- errno = EFTYPE;
-- hashp->errno = errno;
-+ hashp->errnum = errno;
- return (-1);
- }
- for (i = 0; i < NCACHED; i++)
-@@ -536,7 +541,7 @@ hash_get(dbp, key, data, flag)
-
- hashp = (HTAB *)dbp->internal;
- if (flag) {
-- hashp->errno = errno = EINVAL;
-+ hashp->errnum = errno = EINVAL;
- return (ERROR);
- }
- return (hash_access(hashp, HASH_GET, (DBT *)key, data));
-@@ -553,11 +558,11 @@ hash_put(dbp, key, data, flag)
-
- hashp = (HTAB *)dbp->internal;
- if (flag && flag != R_NOOVERWRITE) {
-- hashp->errno = errno = EINVAL;
-+ hashp->errnum = errno = EINVAL;
- return (ERROR);
- }
- if ((hashp->flags & O_ACCMODE) == O_RDONLY) {
-- hashp->errno = errno = EPERM;
-+ hashp->errnum = errno = EPERM;
- return (ERROR);
- }
- return (hash_access(hashp, flag == R_NOOVERWRITE ?
-@@ -574,11 +579,11 @@ hash_delete(dbp, key, flag)
-
- hashp = (HTAB *)dbp->internal;
- if (flag && flag != R_CURSOR) {
-- hashp->errno = errno = EINVAL;
-+ hashp->errnum = errno = EINVAL;
- return (ERROR);
- }
- if ((hashp->flags & O_ACCMODE) == O_RDONLY) {
-- hashp->errno = errno = EPERM;
-+ hashp->errnum = errno = EPERM;
- return (ERROR);
- }
- return (hash_access(hashp, HASH_DELETE, (DBT *)key, NULL));
-@@ -729,7 +734,7 @@ hash_seq(dbp, key, data, flag)
-
- hashp = (HTAB *)dbp->internal;
- if (flag && flag != R_FIRST && flag != R_NEXT) {
-- hashp->errno = errno = EINVAL;
-+ hashp->errnum = errno = EINVAL;
- return (ERROR);
- }
- #ifdef HASH_STATISTICS
-@@ -744,7 +749,7 @@ hash_seq(dbp, key, data, flag)
- for (bp = NULL; !bp || !bp[0]; ) {
- if (!(bufp = hashp->cpage)) {
- for (bucket = hashp->cbucket;
-- bucket <= hashp->MAX_BUCKET;
-+ bucket <= (u_int32_t) hashp->MAX_BUCKET;
- bucket++, hashp->cndx = 1) {
- bufp = __get_buf(hashp, bucket, NULL, 0);
- if (!bufp)
-@@ -842,13 +847,13 @@ __expand_table(hashp)
- * * increases), we need to copy the current contents of the spare
- * split bucket to the next bucket.
- */
-- spare_ndx = __log2(hashp->MAX_BUCKET + 1);
-+ spare_ndx = __hash_log2(hashp->MAX_BUCKET + 1);
- if (spare_ndx > hashp->OVFL_POINT) {
- hashp->SPARES[spare_ndx] = hashp->SPARES[hashp->OVFL_POINT];
- hashp->OVFL_POINT = spare_ndx;
- }
-
-- if (new_bucket > hashp->HIGH_MASK) {
-+ if (new_bucket > (u_int32_t) hashp->HIGH_MASK) {
- /* Starting a new doubling */
- hashp->LOW_MASK = hashp->HIGH_MASK;
- hashp->HIGH_MASK = new_bucket | hashp->LOW_MASK;
-@@ -868,7 +873,7 @@ hash_realloc(p_ptr, oldsize, newsize)
- {
- register void *p;
-
-- if (p = malloc(newsize)) {
-+ if ((p = malloc(newsize))) {
- memmove(p, *p_ptr, oldsize);
- memset((char *)p + oldsize, 0, newsize - oldsize);
- free(*p_ptr);
---- db.1.85/hash/hash.h.jj Fri Jun 24 17:12:29 1994
-+++ db.1.85/hash/hash.h Wed Apr 19 17:56:12 2000
-@@ -71,28 +71,28 @@ typedef struct hashhdr { /* Disk reside
- int dsize; /* Directory Size */
- int ssize; /* Segment Size */
- int sshift; /* Segment shift */
-- int ovfl_point; /* Where overflow pages are being
-+ int ovfl_point; /* Where overflow pages are being
- * allocated */
- int last_freed; /* Last overflow page freed */
- int max_bucket; /* ID of Maximum bucket in use */
- int high_mask; /* Mask to modulo into entire table */
-- int low_mask; /* Mask to modulo into lower half of
-+ int low_mask; /* Mask to modulo into lower half of
- * table */
- int ffactor; /* Fill factor */
- int nkeys; /* Number of keys in hash table */
- int hdrpages; /* Size of table header */
- int h_charkey; /* value of hash(CHARKEY) */
--#define NCACHED 32 /* number of bit maps and spare
-+#define NCACHED 32 /* number of bit maps and spare
- * points */
- int spares[NCACHED];/* spare pages for overflow */
-- u_int16_t bitmaps[NCACHED]; /* address of overflow page
-+ u_int16_t bitmaps[NCACHED]; /* address of overflow page
- * bitmaps */
- } HASHHDR;
-
- typedef struct htab { /* Memory resident data structure */
- HASHHDR hdr; /* Header */
- int nsegs; /* Number of allocated segments */
-- int exsegs; /* Number of extra allocated
-+ int exsegs; /* Number of extra allocated
- * segments */
- u_int32_t /* Hash function */
- (*hash)__P((const void *, size_t));
-@@ -103,16 +103,16 @@ typedef struct htab { /* Memory reside
- BUFHEAD *cpage; /* Current page */
- int cbucket; /* Current bucket */
- int cndx; /* Index of next item on cpage */
-- int errno; /* Error Number -- for DBM
-- * compatability */
-- int new_file; /* Indicates if fd is backing store
-+ int errnum; /* Error Number -- for DBM
-+ * compatibility */
-+ int new_file; /* Indicates if fd is backing store
- * or no */
-- int save_file; /* Indicates whether we need to flush
-+ int save_file; /* Indicates whether we need to flush
- * file at
- * exit */
- u_int32_t *mapp[NCACHED]; /* Pointers to page maps */
- int nmaps; /* Initial number of bitmaps */
-- int nbufs; /* Number of buffers left to
-+ int nbufs; /* Number of buffers left to
- * allocate */
- BUFHEAD bufhead; /* Header of buffer lru list */
- SEGMENT *dir; /* Hash Bucket directory */
-@@ -170,7 +170,7 @@ typedef struct htab { /* Memory reside
- #define OADDR_OF(S,O) ((u_int32_t)((u_int32_t)(S) << SPLITSHIFT) + (O))
-
- #define BUCKET_TO_PAGE(B) \
-- (B) + hashp->HDRPAGES + ((B) ? hashp->SPARES[__log2((B)+1)-1] : 0)
-+ (B) + hashp->HDRPAGES + ((B) ? hashp->SPARES[__hash_log2((B)+1)-1] : 0)
- #define OADDR_TO_PAGE(B) \
- BUCKET_TO_PAGE ( (1 << SPLITNUM((B))) -1 ) + OPAGENUM((B));
-
-@@ -194,7 +194,7 @@ typedef struct htab { /* Memory reside
- * so it starts on this page and continues on the next.
- * The format of the page is:
- * KEY_OFF PARTIAL_KEY OVFL_PAGENO OVFLPAGE
-- *
-+ *
- * KEY_OFF -- offset of the beginning of the key
- * PARTIAL_KEY -- 1
- * OVFL_PAGENO - page number of the next overflow page
-@@ -229,7 +229,7 @@ typedef struct htab { /* Memory reside
- * OVFL_PAGENO - page number of the next overflow page
- * OVFLPAGE -- 0
- *
-- * FULL_KEY_DATA
-+ * FULL_KEY_DATA
- * This must be the first key/data pair on the page.
- * There are two cases:
- *
---- db.1.85/hash/hash_bigkey.c.jj Fri Jun 24 17:12:30 1994
-+++ db.1.85/hash/hash_bigkey.c Wed Apr 19 17:56:12 2000
-@@ -121,7 +121,7 @@ __big_insert(hashp, bufp, key, val)
- if (!bufp)
- return (-1);
- n = p[0];
-- if (!key_size)
-+ if (!key_size) {
- if (FREESPACE(p)) {
- move_bytes = MIN(FREESPACE(p), val_size);
- off = OFFSET(p) - move_bytes;
-@@ -134,6 +134,7 @@ __big_insert(hashp, bufp, key, val)
- OFFSET(p) = off;
- } else
- p[n - 2] = FULL_KEY;
-+ }
- p = (u_int16_t *)bufp->page;
- cp = bufp->page;
- bufp->flags |= BUF_MOD;
-@@ -147,7 +148,7 @@ __big_insert(hashp, bufp, key, val)
- * Here's the hack to make sure that if the data ends on the
- * same page as the key ends, FREESPACE is at least one.
- */
-- if (space == val_size && val_size == val->size)
-+ if ((int) space == val_size && (size_t) val_size == val->size)
- move_bytes--;
- off = OFFSET(p) - move_bytes;
- memmove(cp + off, val_data, move_bytes);
-@@ -249,7 +250,7 @@ __big_delete(hashp, bufp)
- bufp->flags |= BUF_MOD;
- if (rbufp)
- __free_ovflpage(hashp, rbufp);
-- if (last_bfp != rbufp)
-+ if (last_bfp && last_bfp != rbufp)
- __free_ovflpage(hashp, last_bfp);
-
- hashp->NKEYS--;
-@@ -431,7 +432,7 @@ __big_return(hashp, bufp, ndx, val, set_
- }
-
- val->size = collect_data(hashp, bufp, (int)len, set_current);
-- if (val->size == -1)
-+ if (val->size == (size_t) -1)
- return (-1);
- if (save_p->addr != save_addr) {
- /* We are pretty short on buffers. */
-@@ -510,7 +511,7 @@ __big_keydata(hashp, bufp, key, val, set
- int set;
- {
- key->size = collect_key(hashp, bufp, 0, val, set);
-- if (key->size == -1)
-+ if (key->size == (size_t) -1)
- return (-1);
- key->data = (u_char *)hashp->tmp_key;
- return (0);
-@@ -590,7 +591,7 @@ __big_split(hashp, op, np, big_keyp, add
- return (-1);
- change = (__call_hash(hashp, key.data, key.size) != obucket);
-
-- if (ret->next_addr = __find_last_page(hashp, &big_keyp)) {
-+ if ((ret->next_addr = __find_last_page(hashp, &big_keyp))) {
- if (!(ret->nextp =
- __get_buf(hashp, ret->next_addr, big_keyp, 0)))
- return (-1);;
---- db.1.85/hash/hash_log2.c.jj Tue May 31 22:56:53 1994
-+++ db.1.85/hash/hash_log2.c Wed Apr 19 17:56:12 2000
-@@ -42,8 +42,10 @@ static char sccsid[] = "@(#)hash_log2.c
-
- #include <db.h>
-
-+u_int32_t __hash_log2 __P((u_int32_t));
-+
- u_int32_t
--__log2(num)
-+__hash_log2(num)
- u_int32_t num;
- {
- register u_int32_t i, limit;
---- db.1.85/hash/ndbm.c.jj Thu Jul 21 20:02:40 1994
-+++ db.1.85/hash/ndbm.c Wed Apr 19 17:56:12 2000
-@@ -47,6 +47,7 @@ static char sccsid[] = "@(#)ndbm.c 8.4 (
-
- #include <stdio.h>
- #include <string.h>
-+#include <stdlib.h>
-
- #include <ndbm.h>
- #include "hash.h"
-@@ -61,8 +62,16 @@ dbm_open(file, flags, mode)
- const char *file;
- int flags, mode;
- {
-+ DBM *db;
- HASHINFO info;
-- char path[MAXPATHLEN];
-+ const size_t len = strlen(file) + sizeof (DBM_SUFFIX);
-+#ifdef __GNUC__
-+ char path[len];
-+#else
-+ char *path = malloc(len);
-+ if (path == NULL)
-+ return NULL;
-+#endif
-
- info.bsize = 4096;
- info.ffactor = 40;
-@@ -72,7 +81,11 @@ dbm_open(file, flags, mode)
- info.lorder = 0;
- (void)strcpy(path, file);
- (void)strcat(path, DBM_SUFFIX);
-- return ((DBM *)__hash_open(path, flags, mode, &info, 0));
-+ db = (DBM *)__hash_open(path, flags, mode, &info, 0);
-+#ifndef __GNUC__
-+ free(path);
-+#endif
-+ return db;
- }
-
- extern void
-@@ -180,7 +193,7 @@ dbm_error(db)
- HTAB *hp;
-
- hp = (HTAB *)db->internal;
-- return (hp->errno);
-+ return (hp->errnum);
- }
-
- extern int
-@@ -190,7 +203,7 @@ dbm_clearerr(db)
- HTAB *hp;
-
- hp = (HTAB *)db->internal;
-- hp->errno = 0;
-+ hp->errnum = 0;
- return (0);
- }
-
---- db.1.85/recno/rec_close.c.jj Thu Aug 18 17:23:29 1994
-+++ db.1.85/recno/rec_close.c Wed Apr 19 17:56:12 2000
-@@ -79,13 +79,14 @@ __rec_close(dbp)
- if (F_ISSET(t, R_MEMMAPPED) && munmap(t->bt_smap, t->bt_msize))
- status = RET_ERROR;
-
-- if (!F_ISSET(t, R_INMEM))
-+ if (!F_ISSET(t, R_INMEM)) {
- if (F_ISSET(t, R_CLOSEFP)) {
- if (fclose(t->bt_rfp))
- status = RET_ERROR;
- } else
- if (close(t->bt_rfd))
- status = RET_ERROR;
-+ }
-
- if (__bt_close(dbp) == RET_ERROR)
- status = RET_ERROR;
-@@ -150,7 +151,7 @@ __rec_sync(dbp, flags)
- */
- status = (dbp->seq)(dbp, &key, &data, R_FIRST);
- while (status == RET_SUCCESS) {
-- if (write(t->bt_rfd, data.data, data.size) != data.size)
-+ if ((size_t) write(t->bt_rfd, data.data, data.size) != data.size)
- return (RET_ERROR);
- status = (dbp->seq)(dbp, &key, &data, R_NEXT);
- }
-@@ -162,7 +163,7 @@ __rec_sync(dbp, flags)
- while (status == RET_SUCCESS) {
- iov[0].iov_base = data.data;
- iov[0].iov_len = data.size;
-- if (writev(t->bt_rfd, iov, 2) != data.size + 1)
-+ if ((size_t) writev(t->bt_rfd, iov, 2) != data.size + 1)
- return (RET_ERROR);
- status = (dbp->seq)(dbp, &key, &data, R_NEXT);
- }
---- db.1.85/recno/rec_put.c.jj Thu Aug 18 17:24:16 1994
-+++ db.1.85/recno/rec_put.c Wed Apr 19 17:56:12 2000
-@@ -170,7 +170,7 @@ einval: errno = EINVAL;
-
- if (flags == R_SETCURSOR)
- t->bt_cursor.rcursor = nrec;
--
-+
- F_SET(t, R_MODIFIED);
- return (__rec_ret(t, NULL, nrec, key, NULL));
- }
-@@ -256,7 +256,7 @@ __rec_iput(t, nrec, data, flags)
- * the offset array, shift the pointers up.
- */
- nbytes = NRLEAFDBT(data->size);
-- if (h->upper - h->lower < nbytes + sizeof(indx_t)) {
-+ if ((u_int32_t) (h->upper - h->lower) < nbytes + sizeof(indx_t)) {
- status = __bt_split(t, h, NULL, data, dflags, nbytes, index);
- if (status == RET_SUCCESS)
- ++t->bt_nrecs;
---- db.1.85/recno/rec_seq.c.jj Thu Jul 14 03:35:40 1994
-+++ db.1.85/recno/rec_seq.c Wed Apr 19 17:56:12 2000
-@@ -31,7 +31,7 @@
- * SUCH DAMAGE.
- */
-
--#ifndef lint
-+#if defined(LIBC_SCCS) && !defined(lint)
- static char sccsid[] = "@(#)rec_seq.c 8.3 (Berkeley) 7/14/94";
- #endif /* not lint */
-
---- db.1.85/recno/rec_utils.c.jj Sat Jul 16 16:55:08 1994
-+++ db.1.85/recno/rec_utils.c Wed Apr 19 17:56:12 2000
-@@ -90,7 +90,7 @@ dataonly:
- return (RET_SUCCESS);
-
- /*
-- * We must copy big keys/data to make them contigous. Otherwise,
-+ * We must copy big keys/data to make them contiguous. Otherwise,
- * leave the page pinned and don't copy unless the user specified
- * concurrent access.
- */
---- db.1.85/mpool/mpool.c.jj Tue Jul 26 21:19:35 1994
-+++ db.1.85/mpool/mpool.c Wed Apr 19 18:06:21 2000
-@@ -50,6 +50,14 @@ static char sccsid[] = "@(#)mpool.c 8.5
- #define __MPOOLINTERFACE_PRIVATE
- #include <mpool.h>
-
-+#define mpool_open __mpool_open
-+#define mpool_filter __mpool_filter
-+#define mpool_new __mpool_new
-+#define mpool_get __mpool_get
-+#define mpool_put __mpool_put
-+#define mpool_sync __mpool_sync
-+#define mpool_close __mpool_close
-+
- static BKT *mpool_bkt __P((MPOOL *));
- static BKT *mpool_look __P((MPOOL *, pgno_t));
- static int mpool_write __P((MPOOL *, BKT *));
-@@ -109,7 +117,7 @@ mpool_filter(mp, pgin, pgout, pgcookie)
- mp->pgout = pgout;
- mp->pgcookie = pgcookie;
- }
--
-+
- /*
- * mpool_new --
- * Get a new page of memory.
-@@ -205,7 +213,8 @@ mpool_get(mp, pgno, flags)
- off = mp->pagesize * pgno;
- if (lseek(mp->fd, off, SEEK_SET) != off)
- return (NULL);
-- if ((nr = read(mp->fd, bp->page, mp->pagesize)) != mp->pagesize) {
-+ if ((u_long) (nr = read(mp->fd, bp->page, mp->pagesize))
-+ != mp->pagesize) {
- if (nr >= 0)
- errno = EFTYPE;
- return (NULL);
-@@ -300,6 +309,23 @@ mpool_sync(mp)
- return (fsync(mp->fd) ? RET_ERROR : RET_SUCCESS);
- }
-
-+#undef mpool_open
-+#undef mpool_filter
-+#undef mpool_new
-+#undef mpool_get
-+#undef mpool_put
-+#undef mpool_close
-+#undef mpool_sync
-+#define weak_alias(original, alias) \
-+ asm (".weak " #alias "\n" #alias " = " #original);
-+weak_alias (__mpool_open, mpool_open)
-+weak_alias (__mpool_filter, mpool_filter)
-+weak_alias (__mpool_new, mpool_new)
-+weak_alias (__mpool_get, mpool_get)
-+weak_alias (__mpool_put, mpool_put)
-+weak_alias (__mpool_close, mpool_close)
-+weak_alias (__mpool_sync, mpool_sync)
-+
- /*
- * mpool_bkt
- * Get a page from the cache (or create one).
-@@ -380,7 +406,7 @@ mpool_write(mp, bp)
- off = mp->pagesize * bp->pgno;
- if (lseek(mp->fd, off, SEEK_SET) != off)
- return (RET_ERROR);
-- if (write(mp->fd, bp->page, mp->pagesize) != mp->pagesize)
-+ if ((u_long) write(mp->fd, bp->page, mp->pagesize) != mp->pagesize)
- return (RET_ERROR);
-
- bp->flags &= ~MPOOL_DIRTY;
-@@ -436,7 +462,7 @@ mpool_stat(mp)
- mp->pagealloc, mp->pageflush);
- if (mp->cachehit + mp->cachemiss)
- (void)fprintf(stderr,
-- "%.0f%% cache hit rate (%lu hits, %lu misses)\n",
-+ "%.0f%% cache hit rate (%lu hits, %lu misses)\n",
- ((double)mp->cachehit / (mp->cachehit + mp->cachemiss))
- * 100, mp->cachehit, mp->cachemiss);
- (void)fprintf(stderr, "%lu page reads, %lu page writes\n",
-@@ -456,7 +482,7 @@ mpool_stat(mp)
- cnt = 0;
- } else
- sep = ", ";
--
-+
- }
- (void)fprintf(stderr, "\n");
- }
---- db.1.85/db/db.c.jj Tue Feb 22 00:07:47 1994
-+++ db.1.85/db/db.c Wed Apr 19 18:06:46 2000
-@@ -44,6 +44,8 @@ static char sccsid[] = "@(#)db.c 8.4 (Be
-
- #include <db.h>
-
-+#define dbopen __dbopen
-+
- DB *
- dbopen(fname, flags, mode, type, openinfo)
- const char *fname;
-@@ -72,9 +74,13 @@ dbopen(fname, flags, mode, type, openinf
- errno = EINVAL;
- return (NULL);
- }
-+#undef dbopen
-+#define weak_alias(original, alias) \
-+ asm (".weak " #alias "\n" #alias " = " #original);
-+weak_alias (__dbopen, dbopen)
-
- static int
--__dberr()
-+__dberr __P((void))
- {
- return (RET_ERROR);
- }
-@@ -90,10 +96,14 @@ __dbpanic(dbp)
- DB *dbp;
- {
- /* The only thing that can succeed is a close. */
-- dbp->del = (int (*)())__dberr;
-- dbp->fd = (int (*)())__dberr;
-- dbp->get = (int (*)())__dberr;
-- dbp->put = (int (*)())__dberr;
-- dbp->seq = (int (*)())__dberr;
-- dbp->sync = (int (*)())__dberr;
-+ dbp->del = (int (*)__P((const struct __db *,
-+ const DBT *, u_int))) __dberr;
-+ dbp->get = (int (*)__P((const struct __db *,
-+ const DBT *, DBT *, u_int))) __dberr;
-+ dbp->put = (int (*)__P((const struct __db *,
-+ DBT *, const DBT *, u_int))) __dberr;
-+ dbp->seq = (int (*)__P((const struct __db *,
-+ DBT *, DBT *, u_int))) __dberr;
-+ dbp->sync = (int (*)__P((const struct __db *, u_int))) __dberr;
-+ dbp->fd = (int (*)__P((const struct __db *))) __dberr;
- }
---- db.1.85/PORT/include/ndbm.h.jj Thu Jun 3 05:32:29 1993
-+++ db.1.85/PORT/include/ndbm.h Wed Apr 19 17:56:12 2000
-@@ -36,8 +36,8 @@
- * @(#)ndbm.h 8.1 (Berkeley) 6/2/93
- */
-
--#ifndef _NDBM_H_
--#define _NDBM_H_
-+#ifndef _NDBM_H
-+#define _NDBM_H 1
-
- #include <db.h>
-
-@@ -72,6 +72,8 @@ datum dbm_nextkey __P((DBM *));
- DBM *dbm_open __P((const char *, int, int));
- int dbm_store __P((DBM *, datum, datum, int));
- int dbm_dirfno __P((DBM *));
-+int dbm_error __P((DBM *));
-+int dbm_clearerr __P((DBM *));
- __END_DECLS
-
--#endif /* !_NDBM_H_ */
-+#endif /* ndbm.h */
---- db.1.85/PORT/linux/include/compat.h.jj Tue Jun 21 00:13:19 1994
-+++ db.1.85/PORT/linux/include/compat.h Wed Apr 19 17:56:12 2000
-@@ -1,155 +1,9 @@
--/*-
-- * Copyright (c) 1991, 1993
-- * The Regents of the University of California. All rights reserved.
-- *
-- * Redistribution and use in source and binary forms, with or without
-- * modification, are permitted provided that the following conditions
-- * are met:
-- * 1. Redistributions of source code must retain the above copyright
-- * notice, this list of conditions and the following disclaimer.
-- * 2. Redistributions in binary form must reproduce the above copyright
-- * notice, this list of conditions and the following disclaimer in the
-- * documentation and/or other materials provided with the distribution.
-- * 3. All advertising materials mentioning features or use of this software
-- * must display the following acknowledgement:
-- * This product includes software developed by the University of
-- * California, Berkeley and its contributors.
-- * 4. Neither the name of the University nor the names of its contributors
-- * may be used to endorse or promote products derived from this software
-- * without specific prior written permission.
-- *
-- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-- * SUCH DAMAGE.
-- *
-- * @(#)compat.h 8.13 (Berkeley) 2/21/94
-- */
--
--#ifndef _COMPAT_H_
--#define _COMPAT_H_
-+/* Values for building 4.4 BSD db routines in the GNU C library. */
-
--#include <sys/types.h>
-+#ifndef _compat_h_
-+#define _compat_h_
-
--/*
-- * If your system doesn't typedef u_long, u_short, or u_char, change
-- * the 0 to a 1.
-- */
--#if 0
--typedef unsigned char u_char; /* 4.[34]BSD names. */
--typedef unsigned int u_int;
--typedef unsigned long u_long;
--typedef unsigned short u_short;
--#endif
--
--/* If your system doesn't typedef size_t, change the 0 to a 1. */
--#if 0
--typedef unsigned int size_t; /* POSIX, 4.[34]BSD names. */
--#endif
--
--/* If your system doesn't typedef ssize_t, change the 0 to a 1. */
--#if 0
--typedef int ssize_t; /* POSIX names. */
--#endif
--
--/*
-- * If your system doesn't have the POSIX type for a signal mask,
-- * change the 0 to a 1.
-- */
--#if 0 /* POSIX 1003.1 signal mask type. */
--typedef unsigned int sigset_t;
--#endif
--
--/*
-- * If your system's vsprintf returns a char *, not an int,
-- * change the 0 to a 1.
-- */
--#if 0
--#define VSPRINTF_CHARSTAR
--#endif
--
--/*
-- * If you don't have POSIX 1003.1 signals, the signal code surrounding the
-- * temporary file creation is intended to block all of the possible signals
-- * long enough to create the file and unlink it. All of this stuff is
-- * intended to use old-style BSD calls to fake POSIX 1003.1 calls.
-- */
--#ifdef NO_POSIX_SIGNALS
--#define sigemptyset(set) (*(set) = 0)
--#define sigfillset(set) (*(set) = ~(sigset_t)0, 0)
--#define sigaddset(set,signo) (*(set) |= sigmask(signo), 0)
--#define sigdelset(set,signo) (*(set) &= ~sigmask(signo), 0)
--#define sigismember(set,signo) ((*(set) & sigmask(signo)) != 0)
--
--#define SIG_BLOCK 1
--#define SIG_UNBLOCK 2
--#define SIG_SETMASK 3
--
--static int __sigtemp; /* For the use of sigprocmask */
--
--/* Repeated test of oset != NULL is to avoid "*0". */
--#define sigprocmask(how, set, oset) \
-- ((__sigtemp = \
-- (((how) == SIG_BLOCK) ? \
-- sigblock(0) | *(set) : \
-- (((how) == SIG_UNBLOCK) ? \
-- sigblock(0) & ~(*(set)) : \
-- ((how) == SIG_SETMASK ? \
-- *(set) : sigblock(0))))), \
-- ((oset) ? (*(oset ? oset : set) = sigsetmask(__sigtemp)) : \
-- sigsetmask(__sigtemp)), 0)
--#endif
--
--/*
-- * If your system doesn't have an include file with the appropriate
-- * byte order set, make sure you specify the correct one.
-- */
--#ifndef BYTE_ORDER
--#define LITTLE_ENDIAN 1234 /* LSB first: i386, vax */
--#define BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */
--#define BYTE_ORDER LITTLE_ENDIAN /* Set for your system. */
--#endif
--
--#if defined(SYSV) || defined(SYSTEM5)
--#define index(a, b) strchr(a, b)
--#define rindex(a, b) strrchr(a, b)
--#define bzero(a, b) memset(a, 0, b)
--#define bcmp(a, b, n) memcmp(a, b, n)
--#define bcopy(a, b, n) memmove(b, a, n)
--#endif
--
--#if defined(BSD) || defined(BSD4_3)
--#define strchr(a, b) index(a, b)
--#define strrchr(a, b) rindex(a, b)
--#define memcmp(a, b, n) bcmp(a, b, n)
--#define memmove(a, b, n) bcopy(b, a, n)
--#endif
--
--/*
-- * 32-bit machine. The db routines are theoretically independent of
-- * the size of u_shorts and u_longs, but I don't know that anyone has
-- * ever actually tried it. At a minimum, change the following #define's
-- * if you are trying to compile on a different type of system.
-- */
--#ifndef USHRT_MAX
--#define USHRT_MAX 0xFFFF
--#define ULONG_MAX 0xFFFFFFFF
--#endif
--
--#ifndef O_ACCMODE /* POSIX 1003.1 access mode mask. */
--#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR)
--#endif
--
--#ifndef _POSIX2_RE_DUP_MAX /* POSIX 1003.2 RE limit. */
--#define _POSIX2_RE_DUP_MAX 255
--#endif
-+#include <fcntl.h>
-
- /*
- * If you can't provide lock values in the open(2) call. Note, this
-@@ -163,41 +17,26 @@ static int __sigtemp; /* For the use of
- #define O_SHLOCK 0
- #endif
-
-+#include <errno.h>
-+
- #ifndef EFTYPE
- #define EFTYPE EINVAL /* POSIX 1003.1 format errno. */
- #endif
-
--#ifndef WCOREDUMP /* 4.4BSD extension */
--#define WCOREDUMP(a) 0
--#endif
--
--#ifndef STDERR_FILENO
--#define STDIN_FILENO 0 /* ANSI C #defines */
--#define STDOUT_FILENO 1
--#define STDERR_FILENO 2
--#endif
--
--#ifndef SEEK_END
--#define SEEK_SET 0 /* POSIX 1003.1 seek values */
--#define SEEK_CUR 1
--#define SEEK_END 2
--#endif
-+#include <unistd.h>
-+#include <limits.h>
-
- #ifndef _POSIX_VDISABLE /* POSIX 1003.1 disabling char. */
- #define _POSIX_VDISABLE 0 /* Some systems used 0. */
- #endif
-
-+#include <termios.h>
-+
- #ifndef TCSASOFT /* 4.4BSD extension. */
- #define TCSASOFT 0
- #endif
-
--#ifndef _POSIX2_RE_DUP_MAX /* POSIX 1003.2 values. */
--#define _POSIX2_RE_DUP_MAX 255
--#endif
--
--#ifndef NULL /* ANSI C #defines NULL everywhere. */
--#define NULL 0
--#endif
-+#include <sys/param.h>
-
- #ifndef MAX /* Usually found in <sys/param.h>. */
- #define MAX(_a,_b) ((_a)<(_b)?(_b):(_a))
-@@ -206,26 +45,5 @@ static int __sigtemp; /* For the use of
- #define MIN(_a,_b) ((_a)<(_b)?(_a):(_b))
- #endif
-
--/* Default file permissions. */
--#ifndef DEFFILEMODE /* 4.4BSD extension. */
--#define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
--#endif
--
--#ifndef S_ISDIR /* POSIX 1003.1 file type tests. */
--#define S_ISDIR(m) ((m & 0170000) == 0040000) /* directory */
--#define S_ISCHR(m) ((m & 0170000) == 0020000) /* char special */
--#define S_ISBLK(m) ((m & 0170000) == 0060000) /* block special */
--#define S_ISREG(m) ((m & 0170000) == 0100000) /* regular file */
--#define S_ISFIFO(m) ((m & 0170000) == 0010000) /* fifo */
--#endif
--#ifndef S_ISLNK /* BSD POSIX 1003.1 extensions */
--#define S_ISLNK(m) ((m & 0170000) == 0120000) /* symbolic link */
--#define S_ISSOCK(m) ((m & 0170000) == 0140000) /* socket */
--#endif
--
--/* The type of a va_list. */
--#ifndef _BSD_VA_LIST_ /* 4.4BSD #define. */
--#define _BSD_VA_LIST_ char *
--#endif
-
--#endif /* !_COMPAT_H_ */
-+#endif /* compat.h */
---- db.1.85/PORT/linux/Makefile.jj Thu Jul 14 03:43:16 1994
-+++ db.1.85/PORT/linux/Makefile Thu Apr 20 08:54:43 2000
-@@ -1,8 +1,16 @@
- # @(#)Makefile 8.9 (Berkeley) 7/14/94
-
- LIBDB= libdb.a
-+ARCH=$(shell uname -m)
-+ifeq ($(ARCH),alpha)
-+SOVER=2.1
-+else
-+SOVER=2
-+endif
-+LIBDBSO=libdb.so.$(SOVER)
-+PROG= db_dump185
- OBJ1= hash.o hash_bigkey.o hash_buf.o hash_func.o hash_log2.o hash_page.o \
-- hsearch.o ndbm.o
-+ ndbm.o
- OBJ2= bt_close.o bt_conv.o bt_debug.o bt_delete.o bt_get.o bt_open.o \
- bt_overflow.o bt_page.o bt_put.o bt_search.o bt_seq.o bt_split.o \
- bt_utils.o
-@@ -10,93 +18,49 @@ OBJ3= db.o
- OBJ4= mpool.o
- OBJ5= rec_close.o rec_delete.o rec_get.o rec_open.o rec_put.o rec_search.o \
- rec_seq.o rec_utils.o
-+MISC=
-+OBJS= $(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4) $(OBJ5) $(MISC)
-+SHOBJS= $(patsubst %.o,%.os,$(OBJS))
-
--MISC= snprintf.o
-+all: $(LIBDB) $(LIBDBSO) $(PROG)
-
--${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
-+$(LIBDB): $(OBJS)
- rm -f $@
-- ar cq $@ \
-- `lorder ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} | tsort`
-+ ar cq $@ $(OBJS)
- ranlib $@
-
--clean:
-- rm -f ${LIBDB} ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
-+$(LIBDBSO): $(SHOBJS)
-+ $(CC) -Wl,-O1 -Wl,--version-script=libdb.map -Wl,-soname=$(LIBDBSO) -shared -o $@ $^
-+ ln -sf $@ libdb.so
-
--OORG= -O
--CL= ${CC} -c -D__DBINTERFACE_PRIVATE ${OORG} -I. -Iinclude
-+$(PROG): db_dump185.o $(LIBDBSO)
-+ $(CC) -o $@ db_dump185.o -L. -ldb
-
--hash.o: ../../hash/hash.c
-- ${CL} -I../../hash ../../hash/hash.c
--hash_bigkey.o: ../../hash/hash_bigkey.c
-- ${CL} -I../../hash ../../hash/hash_bigkey.c
--hash_buf.o: ../../hash/hash_buf.c
-- ${CL} -I../../hash ../../hash/hash_buf.c
--hash_func.o: ../../hash/hash_func.c
-- ${CL} -I../../hash ../../hash/hash_func.c
--hash_log2.o: ../../hash/hash_log2.c
-- ${CL} -I../../hash ../../hash/hash_log2.c
--hash_page.o: ../../hash/hash_page.c
-- ${CL} -I../../hash ../../hash/hash_page.c
--hsearch.o: ../../hash/hsearch.c
-- ${CL} -I../../hash ../../hash/hsearch.c
--ndbm.o: ../../hash/ndbm.c
-- ${CL} -I../../hash ../../hash/ndbm.c
--
--bt_close.o: ../../btree/bt_close.c
-- ${CL} -I../../btree ../../btree/bt_close.c
--bt_conv.o: ../../btree/bt_conv.c
-- ${CL} -I../../btree ../../btree/bt_conv.c
--bt_debug.o: ../../btree/bt_debug.c
-- ${CL} -I../../btree ../../btree/bt_debug.c
--bt_delete.o: ../../btree/bt_delete.c
-- ${CL} -I../../btree ../../btree/bt_delete.c
--bt_get.o: ../../btree/bt_get.c
-- ${CL} -I../../btree ../../btree/bt_get.c
--bt_open.o: ../../btree/bt_open.c
-- ${CL} -I../../btree ../../btree/bt_open.c
--bt_overflow.o: ../../btree/bt_overflow.c
-- ${CL} -I../../btree ../../btree/bt_overflow.c
--bt_page.o: ../../btree/bt_page.c
-- ${CL} -I../../btree ../../btree/bt_page.c
--bt_put.o: ../../btree/bt_put.c
-- ${CL} -I../../btree ../../btree/bt_put.c
--bt_search.o: ../../btree/bt_search.c
-- ${CL} -I../../btree ../../btree/bt_search.c
--bt_seq.o: ../../btree/bt_seq.c
-- ${CL} -I../../btree ../../btree/bt_seq.c
--bt_split.o: ../../btree/bt_split.c
-- ${CL} -I../../btree ../../btree/bt_split.c
--bt_stack.o: ../../btree/bt_stack.c
-- ${CL} -I../../btree ../../btree/bt_stack.c
--bt_utils.o: ../../btree/bt_utils.c
-- ${CL} -I../../btree ../../btree/bt_utils.c
-+clean:
-+ rm -f $(LIBDB) $(LIBDBSO) $(OBJS) $(SHOBJS)
-
--db.o: ../../db/db.c
-- ${CL} ../../db/db.c
-+OORG= -O2
-+CL= $(CC) -c -D__DBINTERFACE_PRIVATE $(OORG) -I. -Iinclude
-
-+db_dump185.o: db_dump185.c
-+ $(CL) -o $@ $<
-+%.o: ../../hash/%.c
-+ $(CL) -I../../hash -g -o $@ $<
-+%.os: ../../hash/%.c
-+ $(CL) -I../../hash -fpic -o $@ $<
-+%.o: ../../btree/%.c
-+ $(CL) -I../../btree -g -o $@ $<
-+%.os: ../../btree/%.c
-+ $(CL) -I../../btree -fpic -o $@ $<
-+db.o: ../../db/db.c
-+ $(CL) -g -o $@ $<
-+db.os: ../../db/db.c
-+ $(CL) -fpic -o $@ $<
- mpool.o: ../../mpool/mpool.c
-- ${CL} -I../../mpool ../../mpool/mpool.c
--
--rec_close.o: ../../recno/rec_close.c
-- ${CL} -I../../recno ../../recno/rec_close.c
--rec_delete.o: ../../recno/rec_delete.c
-- ${CL} -I../../recno ../../recno/rec_delete.c
--rec_get.o: ../../recno/rec_get.c
-- ${CL} -I../../recno ../../recno/rec_get.c
--rec_open.o: ../../recno/rec_open.c
-- ${CL} -I../../recno ../../recno/rec_open.c
--rec_put.o: ../../recno/rec_put.c
-- ${CL} -I../../recno ../../recno/rec_put.c
--rec_search.o: ../../recno/rec_search.c
-- ${CL} -I../../recno ../../recno/rec_search.c
--rec_seq.o: ../../recno/rec_seq.c
-- ${CL} -I../../recno ../../recno/rec_seq.c
--rec_utils.o: ../../recno/rec_utils.c
-- ${CL} -I../../recno ../../recno/rec_utils.c
--
--memmove.o:
-- ${CC} -DMEMMOVE -c -O -I. -Iinclude clib/memmove.c
--mktemp.o:
-- ${CC} -c -O -I. -Iinclude clib/mktemp.c
--snprintf.o:
-- ${CC} -c -O -I. -Iinclude clib/snprintf.c
-+ $(CL) -g -o $@ $<
-+mpool.os: ../../mpool/mpool.c
-+ $(CL) -fpic -o $@ $<
-+%.o: ../../recno/%.c
-+ $(CL) -I../../recno -g -o $@ $<
-+%.os: ../../recno/%.c
-+ $(CL) -I../../recno -fpic -o $@ $<
---- db.1.85/PORT/linux/libdb.map.jj Wed Apr 19 17:56:12 2000
-+++ db.1.85/PORT/linux/libdb.map Wed Apr 19 17:56:12 2000
-@@ -0,0 +1,11 @@
-+GLIBC_2.0 {
-+ global:
-+ # the real DB entry point.
-+ dbopen; __dbopen;
-+
-+ # The compatibility functions.
-+ dbm_clearerr; dbm_close; dbm_delete; dbm_dirfno; dbm_error;
-+ dbm_fetch; dbm_firstkey; dbm_nextkey; dbm_open; dbm_store;
-+ local:
-+ *;
-+};
---- db.1.85/PORT/linux/db_dump185.c.jj Thu Apr 20 08:49:24 2000
-+++ db.1.85/PORT/linux/db_dump185.c Thu Apr 20 08:50:25 2000
-@@ -0,0 +1,350 @@
-+/*-
-+ * See the file LICENSE for redistribution information.
-+ *
-+ * Copyright (c) 1996, 1997, 1998
-+ * Sleepycat Software. All rights reserved.
-+ */
-+
-+#ifndef lint
-+static const char copyright[] =
-+"@(#) Copyright (c) 1996, 1997, 1998\n\
-+ Sleepycat Software Inc. All rights reserved.\n";
-+static const char sccsid[] = "@(#)db_dump185.c 10.10 (Sleepycat) 4/10/98";
-+#endif
-+
-+#ifndef NO_SYSTEM_INCLUDES
-+#include <sys/types.h>
-+
-+#include <ctype.h>
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <stdlib.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <unistd.h>
-+#endif
-+
-+#include "db.h"
-+
-+/* Hash Table Information */
-+typedef struct hashhdr185 { /* Disk resident portion */
-+ int magic; /* Magic NO for hash tables */
-+ int version; /* Version ID */
-+ u_int32_t lorder; /* Byte Order */
-+ int bsize; /* Bucket/Page Size */
-+ int bshift; /* Bucket shift */
-+ int dsize; /* Directory Size */
-+ int ssize; /* Segment Size */
-+ int sshift; /* Segment shift */
-+ int ovfl_point; /* Where overflow pages are being
-+ * allocated */
-+ int last_freed; /* Last overflow page freed */
-+ int max_bucket; /* ID of Maximum bucket in use */
-+ int high_mask; /* Mask to modulo into entire table */
-+ int low_mask; /* Mask to modulo into lower half of
-+ * table */
-+ int ffactor; /* Fill factor */
-+ int nkeys; /* Number of keys in hash table */
-+} HASHHDR185;
-+typedef struct htab185 { /* Memory resident data structure */
-+ HASHHDR185 hdr; /* Header */
-+} HTAB185;
-+
-+/* Hash Table Information */
-+typedef struct hashhdr186 { /* Disk resident portion */
-+ int32_t magic; /* Magic NO for hash tables */
-+ int32_t version; /* Version ID */
-+ int32_t lorder; /* Byte Order */
-+ int32_t bsize; /* Bucket/Page Size */
-+ int32_t bshift; /* Bucket shift */
-+ int32_t ovfl_point; /* Where overflow pages are being allocated */
-+ int32_t last_freed; /* Last overflow page freed */
-+ int32_t max_bucket; /* ID of Maximum bucket in use */
-+ int32_t high_mask; /* Mask to modulo into entire table */
-+ int32_t low_mask; /* Mask to modulo into lower half of table */
-+ int32_t ffactor; /* Fill factor */
-+ int32_t nkeys; /* Number of keys in hash table */
-+ int32_t hdrpages; /* Size of table header */
-+ int32_t h_charkey; /* value of hash(CHARKEY) */
-+#define NCACHED 32 /* number of bit maps and spare points */
-+ int32_t spares[NCACHED];/* spare pages for overflow */
-+ u_int16_t bitmaps[NCACHED]; /* address of overflow page bitmaps */
-+} HASHHDR186;
-+typedef struct htab186 { /* Memory resident data structure */
-+ HASHHDR186 hdr; /* Header */
-+} HTAB186;
-+
-+typedef struct _epgno {
-+ u_int32_t pgno; /* the page number */
-+ u_int16_t index; /* the index on the page */
-+} EPGNO;
-+
-+typedef struct _epg {
-+ void *page; /* the (pinned) page */
-+ u_int16_t index; /* the index on the page */
-+} EPG;
-+
-+typedef struct _cursor {
-+ EPGNO pg; /* B: Saved tree reference. */
-+ DBT key; /* B: Saved key, or key.data == NULL. */
-+ u_int32_t rcursor; /* R: recno cursor (1-based) */
-+
-+#define CURS_ACQUIRE 0x01 /* B: Cursor needs to be reacquired. */
-+#define CURS_AFTER 0x02 /* B: Unreturned cursor after key. */
-+#define CURS_BEFORE 0x04 /* B: Unreturned cursor before key. */
-+#define CURS_INIT 0x08 /* RB: Cursor initialized. */
-+ u_int8_t flags;
-+} CURSOR;
-+
-+/* The in-memory btree/recno data structure. */
-+typedef struct _btree {
-+ void *bt_mp; /* memory pool cookie */
-+
-+ void *bt_dbp; /* pointer to enclosing DB */
-+
-+ EPG bt_cur; /* current (pinned) page */
-+ void *bt_pinned; /* page pinned across calls */
-+
-+ CURSOR bt_cursor; /* cursor */
-+
-+ EPGNO bt_stack[50]; /* stack of parent pages */
-+ EPGNO *bt_sp; /* current stack pointer */
-+
-+ DBT bt_rkey; /* returned key */
-+ DBT bt_rdata; /* returned data */
-+
-+ int bt_fd; /* tree file descriptor */
-+
-+ u_int32_t bt_free; /* next free page */
-+ u_int32_t bt_psize; /* page size */
-+ u_int16_t bt_ovflsize; /* cut-off for key/data overflow */
-+ int bt_lorder; /* byte order */
-+ /* sorted order */
-+ enum { NOT, BACK, FORWARD } bt_order;
-+ EPGNO bt_last; /* last insert */
-+
-+ /* B: key comparison function */
-+ int (*bt_cmp) __P((const DBT *, const DBT *));
-+ /* B: prefix comparison function */
-+ size_t (*bt_pfx) __P((const DBT *, const DBT *));
-+ /* R: recno input function */
-+ int (*bt_irec) __P((struct _btree *, u_int32_t));
-+
-+ FILE *bt_rfp; /* R: record FILE pointer */
-+ int bt_rfd; /* R: record file descriptor */
-+
-+ void *bt_cmap; /* R: current point in mapped space */
-+ void *bt_smap; /* R: start of mapped space */
-+ void *bt_emap; /* R: end of mapped space */
-+ size_t bt_msize; /* R: size of mapped region. */
-+
-+ u_int32_t bt_nrecs; /* R: number of records */
-+ size_t bt_reclen; /* R: fixed record length */
-+ u_char bt_bval; /* R: delimiting byte/pad character */
-+
-+/*
-+ * NB:
-+ * B_NODUPS and R_RECNO are stored on disk, and may not be changed.
-+ */
-+#define B_INMEM 0x00001 /* in-memory tree */
-+#define B_METADIRTY 0x00002 /* need to write metadata */
-+#define B_MODIFIED 0x00004 /* tree modified */
-+#define B_NEEDSWAP 0x00008 /* if byte order requires swapping */
-+#define B_RDONLY 0x00010 /* read-only tree */
-+
-+#define B_NODUPS 0x00020 /* no duplicate keys permitted */
-+#define R_RECNO 0x00080 /* record oriented tree */
-+
-+#define R_CLOSEFP 0x00040 /* opened a file pointer */
-+#define R_EOF 0x00100 /* end of input file reached. */
-+#define R_FIXLEN 0x00200 /* fixed length records */
-+#define R_MEMMAPPED 0x00400 /* memory mapped file. */
-+#define R_INMEM 0x00800 /* in-memory file */
-+#define R_MODIFIED 0x01000 /* modified file */
-+#define R_RDONLY 0x02000 /* read-only file */
-+
-+#define B_DB_LOCK 0x04000 /* DB_LOCK specified. */
-+#define B_DB_SHMEM 0x08000 /* DB_SHMEM specified. */
-+#define B_DB_TXN 0x10000 /* DB_TXN specified. */
-+ u_int32_t flags;
-+} BTREE;
-+
-+void db_btree __P((DB *, int));
-+void db_hash __P((DB *, int));
-+void dbt_dump __P((DBT *));
-+void dbt_print __P((DBT *));
-+int main __P((int, char *[]));
-+void usage __P((void));
-+
-+const char
-+ *progname = "db_dump185"; /* Program name. */
-+
-+int
-+main(argc, argv)
-+ int argc;
-+ char *argv[];
-+{
-+ extern char *optarg;
-+ extern int optind;
-+ DB *dbp;
-+ DBT key, data;
-+ int ch, pflag, rval;
-+
-+ pflag = 0;
-+ while ((ch = getopt(argc, argv, "f:p")) != EOF)
-+ switch (ch) {
-+ case 'f':
-+ if (freopen(optarg, "w", stdout) == NULL)
-+ err(1, "%s", optarg);
-+ break;
-+ case 'p':
-+ pflag = 1;
-+ break;
-+ case '?':
-+ default:
-+ usage();
-+ }
-+ argc -= optind;
-+ argv += optind;
-+
-+ if (argc != 1)
-+ usage();
-+
-+ if ((dbp = dbopen(argv[0], O_RDONLY, 0, DB_BTREE, NULL)) == NULL) {
-+ if ((dbp = dbopen(argv[0], O_RDONLY, 0, DB_HASH, NULL)) == NULL)
-+ err(1, "%s", argv[0]);
-+ db_hash(dbp, pflag);
-+ } else
-+ db_btree(dbp, pflag);
-+
-+ /*
-+ * !!!
-+ * DB 1.85 DBTs are a subset of DB 2.0 DBTs, so we just use the
-+ * new dump/print routines.
-+ */
-+ if (pflag)
-+ while (!(rval = dbp->seq(dbp, &key, &data, R_NEXT))) {
-+ dbt_print(&key);
-+ dbt_print(&data);
-+ }
-+ else
-+ while (!(rval = dbp->seq(dbp, &key, &data, R_NEXT))) {
-+ dbt_dump(&key);
-+ dbt_dump(&data);
-+ }
-+
-+ if (rval == -1)
-+ err(1, "seq");
-+ return (0);
-+}
-+
-+/*
-+ * db_hash --
-+ * Dump out hash header information.
-+ */
-+void
-+db_hash(dbp, pflag)
-+ DB *dbp;
-+ int pflag;
-+{
-+ HTAB185 *hash185p;
-+ HTAB186 *hash186p;
-+
-+ printf("format=%s\n", pflag ? "print" : "bytevalue");
-+ printf("type=hash\n");
-+
-+ /* DB 1.85 was version 2, DB 1.86 was version 3. */
-+ hash185p = dbp->internal;
-+ if (hash185p->hdr.version > 2) {
-+ hash186p = dbp->internal;
-+ printf("h_ffactor=%lu\n", (u_long)hash186p->hdr.ffactor);
-+ if (hash186p->hdr.lorder != 0)
-+ printf("db_lorder=%lu\n", (u_long)hash186p->hdr.lorder);
-+ printf("db_pagesize=%lu\n", (u_long)hash186p->hdr.bsize);
-+ } else {
-+ printf("h_ffactor=%lu\n", (u_long)hash185p->hdr.ffactor);
-+ if (hash185p->hdr.lorder != 0)
-+ printf("db_lorder=%lu\n", (u_long)hash185p->hdr.lorder);
-+ printf("db_pagesize=%lu\n", (u_long)hash185p->hdr.bsize);
-+ }
-+ printf("HEADER=END\n");
-+}
-+
-+/*
-+ * db_btree --
-+ * Dump out btree header information.
-+ */
-+void
-+db_btree(dbp, pflag)
-+ DB *dbp;
-+ int pflag;
-+{
-+ BTREE *btp;
-+
-+ btp = dbp->internal;
-+
-+ printf("format=%s\n", pflag ? "print" : "bytevalue");
-+ printf("type=btree\n");
-+#ifdef NOT_AVAILABLE_IN_185
-+ printf("bt_minkey=%lu\n", (u_long)XXX);
-+ printf("bt_maxkey=%lu\n", (u_long)XXX);
-+#endif
-+ if (btp->bt_lorder != 0)
-+ printf("db_lorder=%lu\n", (u_long)btp->bt_lorder);
-+ printf("db_pagesize=%lu\n", (u_long)btp->bt_psize);
-+ if (!(btp->flags & B_NODUPS))
-+ printf("duplicates=1\n");
-+ printf("HEADER=END\n");
-+}
-+
-+static char hex[] = "0123456789abcdef";
-+
-+/*
-+ * dbt_dump --
-+ * Write out a key or data item using byte values.
-+ */
-+void
-+dbt_dump(dbtp)
-+ DBT *dbtp;
-+{
-+ size_t len;
-+ u_int8_t *p;
-+
-+ for (len = dbtp->size, p = dbtp->data; len--; ++p)
-+ (void)printf("%c%c",
-+ hex[(*p & 0xf0) >> 4], hex[*p & 0x0f]);
-+ printf("\n");
-+}
-+
-+/*
-+ * dbt_print --
-+ * Write out a key or data item using printable characters.
-+ */
-+void
-+dbt_print(dbtp)
-+ DBT *dbtp;
-+{
-+ size_t len;
-+ u_int8_t *p;
-+
-+ for (len = dbtp->size, p = dbtp->data; len--; ++p)
-+ if (isprint(*p)) {
-+ if (*p == '\\')
-+ (void)printf("\\");
-+ (void)printf("%c", *p);
-+ } else
-+ (void)printf("\\%c%c",
-+ hex[(*p & 0xf0) >> 4], hex[*p & 0x0f]);
-+ printf("\n");
-+}
-+
-+/*
-+ * usage --
-+ * Display the usage message.
-+ */
-+void
-+usage()
-+{
-+ (void)fprintf(stderr, "usage: db_dump185 [-p] [-f file] db_file\n");
-+ exit(1);
-+}
---- db.1.85/include/mpool.h.jj Thu Jul 14 03:33:26 1994
-+++ db.1.85/include/mpool.h Wed Apr 19 17:56:12 2000
-@@ -33,6 +33,9 @@
- * @(#)mpool.h 8.2 (Berkeley) 7/14/94
- */
-
-+#ifndef _MPOOL_H
-+#define _MPOOL_H 1
-+
- #include <sys/queue.h>
-
- /*
-@@ -67,9 +70,9 @@ typedef struct MPOOL {
- u_long pagesize; /* file page size */
- int fd; /* file descriptor */
- /* page in conversion routine */
-- void (*pgin) __P((void *, pgno_t, void *));
-+ void (*pgin) __PMT((void *, pgno_t, void *));
- /* page out conversion routine */
-- void (*pgout) __P((void *, pgno_t, void *));
-+ void (*pgout) __PMT((void *, pgno_t, void *));
- void *pgcookie; /* cookie for page in/out routines */
- #ifdef STATISTICS
- u_long cachehit;
-@@ -85,15 +88,25 @@ typedef struct MPOOL {
- } MPOOL;
-
- __BEGIN_DECLS
-+MPOOL *__mpool_open __P((void *, int, pgno_t, pgno_t));
- MPOOL *mpool_open __P((void *, int, pgno_t, pgno_t));
-+void __mpool_filter __P((MPOOL *, void (*)(void *, pgno_t, void *),
-+ void (*)(void *, pgno_t, void *), void *));
- void mpool_filter __P((MPOOL *, void (*)(void *, pgno_t, void *),
- void (*)(void *, pgno_t, void *), void *));
-+void *__mpool_new __P((MPOOL *, pgno_t *));
- void *mpool_new __P((MPOOL *, pgno_t *));
-+void *__mpool_get __P((MPOOL *, pgno_t, u_int));
- void *mpool_get __P((MPOOL *, pgno_t, u_int));
-+int __mpool_put __P((MPOOL *, void *, u_int));
- int mpool_put __P((MPOOL *, void *, u_int));
-+int __mpool_sync __P((MPOOL *));
- int mpool_sync __P((MPOOL *));
-+int __mpool_close __P((MPOOL *));
- int mpool_close __P((MPOOL *));
- #ifdef STATISTICS
- void mpool_stat __P((MPOOL *));
- #endif
- __END_DECLS
-+
-+#endif /* mpool.h */
---- db.1.85/include/db.h.jj Tue Jun 21 21:59:28 1994
-+++ db.1.85/include/db.h Wed Apr 19 17:56:12 2000
-@@ -33,8 +33,8 @@
- * @(#)db.h 8.7 (Berkeley) 6/16/94
- */
-
--#ifndef _DB_H_
--#define _DB_H_
-+#ifndef _DB_H
-+#define _DB_H 1
-
- #include <sys/types.h>
- #include <sys/cdefs.h>
-@@ -117,14 +117,14 @@ typedef enum { DB_BTREE, DB_HASH, DB_REC
- /* Access method description structure. */
- typedef struct __db {
- DBTYPE type; /* Underlying db type. */
-- int (*close) __P((struct __db *));
-- int (*del) __P((const struct __db *, const DBT *, u_int));
-- int (*get) __P((const struct __db *, const DBT *, DBT *, u_int));
-- int (*put) __P((const struct __db *, DBT *, const DBT *, u_int));
-- int (*seq) __P((const struct __db *, DBT *, DBT *, u_int));
-- int (*sync) __P((const struct __db *, u_int));
-+ int (*close) __PMT((struct __db *));
-+ int (*del) __PMT((const struct __db *, const DBT *, u_int));
-+ int (*get) __PMT((const struct __db *, const DBT *, DBT *, u_int));
-+ int (*put) __PMT((const struct __db *, DBT *, const DBT *, u_int));
-+ int (*seq) __PMT((const struct __db *, DBT *, DBT *, u_int));
-+ int (*sync) __PMT((const struct __db *, u_int));
- void *internal; /* Access method private. */
-- int (*fd) __P((const struct __db *));
-+ int (*fd) __PMT((const struct __db *));
- } DB;
-
- #define BTREEMAGIC 0x053162
-@@ -139,9 +139,9 @@ typedef struct {
- int minkeypage; /* minimum keys per page */
- u_int psize; /* page size */
- int (*compare) /* comparison function */
-- __P((const DBT *, const DBT *));
-+ __PMT((const DBT *, const DBT *));
- size_t (*prefix) /* prefix function */
-- __P((const DBT *, const DBT *));
-+ __PMT((const DBT *, const DBT *));
- int lorder; /* byte order */
- } BTREEINFO;
-
-@@ -155,7 +155,7 @@ typedef struct {
- u_int nelem; /* number of elements */
- u_int cachesize; /* bytes to cache */
- u_int32_t /* hash function */
-- (*hash) __P((const void *, size_t));
-+ (*hash) __PMT((const void *, size_t));
- int lorder; /* byte order */
- } HASHINFO;
-
-@@ -224,6 +224,7 @@ typedef struct {
- #endif
-
- __BEGIN_DECLS
-+DB *__dbopen __P((const char *, int, int, DBTYPE, const void *));
- DB *dbopen __P((const char *, int, int, DBTYPE, const void *));
-
- #ifdef __DBINTERFACE_PRIVATE
-@@ -233,4 +234,5 @@ DB *__rec_open __P((const char *, int, i
- void __dbpanic __P((DB *dbp));
- #endif
- __END_DECLS
--#endif /* !_DB_H_ */
-+
-+#endif /* db.h */
diff --git a/sys-libs/db/files/digest-db-1.85-r1 b/sys-libs/db/files/digest-db-1.85-r1
index 61ec3a1f9af0..28eb5e172617 100644
--- a/sys-libs/db/files/digest-db-1.85-r1
+++ b/sys-libs/db/files/digest-db-1.85-r1
@@ -1 +1,6 @@
+MD5 ecd81fa9868ec49c61306444144d44a9 db.1.85.patch 55584
+RMD160 e4433e45e13764b8d0cdf948909f6f5b8f9ed7ff db.1.85.patch 55584
+SHA256 6df42acf6d7bec774b1bdc1629abadf7b006d622e2bbcf638aed7985eacdd48e db.1.85.patch 55584
MD5 42cc6c1e1e25818bd3e3f91328edb0f1 db.1.85.tar.gz 270953
+RMD160 594253b7e80323cddc92cd7c89934217d403f58b db.1.85.tar.gz 270953
+SHA256 4220d4ddeb77fb57ba2f37c1aa105d561d3ef85a6fb89c79c3edd735d0e193c6 db.1.85.tar.gz 270953