about summary refs log tree commit diff
path: root/db
diff options
context:
space:
mode:
Diffstat (limited to 'db')
-rw-r--r--db/Makefile68
-rw-r--r--db/Versions2
-rw-r--r--db/btree/bt_open.c8
-rw-r--r--db/btree/bt_put.c3
-rw-r--r--db/btree/bt_split.c4
-rw-r--r--db/hash/hash.c2
-rw-r--r--db/hash/hash_bigkey.c5
-rw-r--r--db/recno/rec_close.c3
8 files changed, 51 insertions, 44 deletions
diff --git a/db/Makefile b/db/Makefile
index 32a637f0bf..039a77e961 100644
--- a/db/Makefile
+++ b/db/Makefile
@@ -8,30 +8,40 @@ subdir = db
 subdir-dirs = btree db hash mpool recno
 vpath %.c $(subdir-dirs)
 
-extra-libs := libdb
+extra-libs := libdb1
 extra-libs-others := $(extra-libs)
-libdb-routines := bt_close bt_conv bt_debug bt_delete bt_get \
-		  bt_open bt_overflow bt_page bt_put bt_search \
-		  bt_seq bt_split bt_utils \
-		  db \
-		  hash hash_bigkey hash_buf hash_func hash_log2 hash_page \
-		  ndbm \
-		  mpool \
-		  rec_close rec_delete rec_get rec_open rec_put rec_search \
-		  rec_seq rec_utils
-
-headers		:= db.h mpool.h ndbm.h
+libdb1-routines := bt_close bt_conv bt_debug bt_delete bt_get \
+		   bt_open bt_overflow bt_page bt_put bt_search \
+		   bt_seq bt_split bt_utils \
+		   db \
+		   hash hash_bigkey hash_buf hash_func hash_log2 hash_page \
+		   ndbm \
+		   mpool \
+		   rec_close rec_delete rec_get rec_open rec_put rec_search \
+		   rec_seq rec_utils
+
+db1-headers	:= db.h mpool.h ndbm.h
 distribute	:= compat.h					\
 		   btree/btree.h btree/extern.h			\
 		   hash/extern.h hash/hash.h hash/page.h	\
-		   recno/extern.h recno/recno.h
+		   recno/extern.h recno/recno.h			\
+		   $(db1-headers)
+
+include ../Makeconfig
+
+install-others	:= $(inst_slibdir)/libdb.so$(libdb1.so-version) \
+		   $(db1-headers:%=$(inst_includedir)/db1/%)
 
-others		:= makedb
-install-bin	:= makedb
+$(inst_slibdir)/libdb.so$(libdb1.so-version): $(inst_slibdir)/libdb1-$(version).so $(+force)
+	rm -f $@
+	$(LN_S) $(^F) $@
+
+$(db1-headers:%=$(inst_includedir)/db1/%): $(inst_includedir)/db1/%: % $(+force)
+	$(do-install)
 
 include ../Rules
 
-CPPFLAGS += -D__DBINTERFACE_PRIVATE
+CPPFLAGS += -D__DBINTERFACE_PRIVATE -DUSE_LIBDB1
 
 # This file defines some static functions for alternative hash algorithms
 # that are not actually used.
@@ -40,23 +50,17 @@ CFLAGS-hash_func.c := -Wno-unused
 # The db code outsmarts the compiler frequently.
 override CFLAGS += -Wno-uninitialized
 
-ifeq ($(build-shared),yes)
-$(objpfx)makedb: $(objpfx)libdb.so$(libdb.so-version)
-else
-$(objpfx)makedb: $(objpfx)libdb.a
-endif
-
 # Depend on libc.so so a DT_NEEDED is generated in the shared objects.
 # This ensures they will load libc.so for needed symbols if loaded by
 # a statically-linked program that hasn't already loaded it.
-$(objpfx)libdb.so: $(common-objpfx)libc.so
-
-subdir_install: $(inst_libdir)/libndbm.a
-$(inst_libdir)/libndbm.a: $(inst_libdir)/libdb.a $(+force)
-	$(make-link)
+$(objpfx)libdb1.so: $(common-objpfx)libc.so
 
-ifeq ($(build-shared),yes)
-subdir_install: $(inst_libdir)/libndbm.so
-$(inst_libdir)/libndbm.so: $(inst_libdir)/libdb.so $(+force)
-	$(make-link)
-endif
+#subdir_install: $(inst_libdir)/libndbm.a
+#$(inst_libdir)/libndbm.a: $(inst_libdir)/libdb1.a $(+force)
+#	$(make-link)
+#
+#ifeq ($(build-shared),yes)
+#subdir_install: $(inst_libdir)/libndbm.so
+#$(inst_libdir)/libndbm.so: $(inst_libdir)/libdb1.so $(+force)
+#	$(make-link)
+#endif
diff --git a/db/Versions b/db/Versions
index 65c1ae7586..479604ee5f 100644
--- a/db/Versions
+++ b/db/Versions
@@ -1,4 +1,4 @@
-libdb {
+libdb1 {
   GLIBC_2.0 {
     # the real DB entry point.
     dbopen; __dbopen;
diff --git a/db/btree/bt_open.c b/db/btree/bt_open.c
index 1396f3a255..8c2f48ebf5 100644
--- a/db/btree/bt_open.c
+++ b/db/btree/bt_open.c
@@ -125,7 +125,7 @@ __bt_open(fname, flags, mode, openinfo, dflags)
 		 */
 		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. */
@@ -245,7 +245,7 @@ __bt_open(fname, flags, mode, openinfo, dflags)
 		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;
@@ -280,8 +280,8 @@ __bt_open(fname, flags, mode, openinfo, dflags)
 	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;
 
diff --git a/db/btree/bt_put.c b/db/btree/bt_put.c
index e6241152f3..15309c66e2 100644
--- a/db/btree/bt_put.c
+++ b/db/btree/bt_put.c
@@ -223,7 +223,7 @@ delete:		if (__bt_dleaf(t, key, h, index) == RET_ERROR) {
 	    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) == RET_ERROR) {
 				t->bt_last.pgno = h->pgno;
 			}
 		}
+	}
 
 	mpool_put(t->bt_mp, h, MPOOL_DIRTY);
 
diff --git a/db/btree/bt_split.c b/db/btree/bt_split.c
index 4484219ae2..4119ccbf79 100644
--- a/db/btree/bt_split.c
+++ b/db/btree/bt_split.c
@@ -674,8 +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 + sizeof(indx_t) >= full || nxt == top - 1) {
+		if ((skip <= off && used + nbytes + sizeof(indx_t) >= full)
+		    || nxt == top - 1) {
 			--off;
 			break;
 		}
diff --git a/db/hash/hash.c b/db/hash/hash.c
index 4ccb992bb7..99592eac51 100644
--- a/db/hash/hash.c
+++ b/db/hash/hash.c
@@ -873,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);
diff --git a/db/hash/hash_bigkey.c b/db/hash/hash_bigkey.c
index d80ebedb07..94c64083f5 100644
--- a/db/hash/hash_bigkey.c
+++ b/db/hash/hash_bigkey.c
@@ -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;
@@ -590,7 +591,7 @@ __big_split(hashp, op, np, big_keyp, addr, obucket, ret)
 		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);;
diff --git a/db/recno/rec_close.c b/db/recno/rec_close.c
index 977493fe5b..8a3c4d77d6 100644
--- a/db/recno/rec_close.c
+++ b/db/recno/rec_close.c
@@ -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;