diff options
author | Paul de Vrieze <pauldv@gentoo.org> | 2006-02-28 09:45:44 +0000 |
---|---|---|
committer | Paul de Vrieze <pauldv@gentoo.org> | 2006-02-28 09:45:44 +0000 |
commit | 9c98b201ef2b1e7c855e1bdd1d53957156b58134 (patch) | |
tree | cc47c60a0ba5cbd550168e80a3171d3e16be52e9 /sys-libs | |
parent | Fix RDEPEND. (diff) | |
download | gentoo-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/ChangeLog | 5 | ||||
-rw-r--r-- | sys-libs/db/Manifest | 21 | ||||
-rw-r--r-- | sys-libs/db/db-1.85-r1.ebuild | 11 | ||||
-rw-r--r-- | sys-libs/db/files/db.1.85.patch | 1796 | ||||
-rw-r--r-- | sys-libs/db/files/digest-db-1.85-r1 | 5 |
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 |