- Fix build with BDB 5.2

PR:		162582
Submitted by:	Guido Falsi <mad@madpilot.net> (maintainer)
Feature safe:	yes
This commit is contained in:
Martin Wilke 2011-11-16 16:15:48 +00:00
parent 25992fcf91
commit 930def57e5
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=285918

View File

@ -1,6 +1,6 @@
--- src/sgDb.c.orig 2008-07-14 20:29:41.000000000 +0200
+++ src/sgDb.c 2011-05-26 11:04:22.106201692 +0200
@@ -119,14 +119,20 @@
+++ src/sgDb.c 2011-11-15 12:00:23.744601663 +0100
@@ -119,14 +119,39 @@
flag = DB_CREATE;
if(createdb)
flag = flag | DB_TRUNCATE;
@ -10,6 +10,27 @@
+#if DB_VERSION_MINOR >= 1
+ NULL,
+#endif
+ dbfile, NULL, DB_BTREE, flag, 0664)) != 0) {
+ (void) Db->dbp->close(Db->dbp, 0);
+ sgLogFatalError("Error db_open: %s", strerror(ret));
+ }
+ } else {
+ if ((ret = Db->dbp->open(Db->dbp,
+#if DB_VERSION_MINOR >= 1
+ NULL,
+#endif
+ dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) {
+ sgLogFatalError("Error db_open: %s", strerror(ret));
+ }
+ }
+#endif
+#if DB_VERSION_MAJOR == 5
+ if(globalUpdate || createdb || (dbfile != NULL && stat(dbfile,&st))){
+ flag = DB_CREATE;
+ if(createdb)
+ flag = flag | DB_TRUNCATE;
+ if ((ret = Db->dbp->open(Db->dbp,
+ NULL,
+ dbfile, NULL, DB_BTREE, flag, 0664)) != 0) {
(void) Db->dbp->close(Db->dbp, 0);
sgLogFatalError("Error db_open: %s", strerror(ret));
@ -18,9 +39,7 @@
- if ((ret =
- Db->dbp->open(Db->dbp, NULL, dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) {
+ if ((ret = Db->dbp->open(Db->dbp,
+#if DB_VERSION_MINOR >= 1
+ NULL,
+#endif
+ dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) {
sgLogFatalError("Error db_open: %s", strerror(ret));
}