Hi,

unless it's already fixed in the SVN, here's the patch to add support
for BDB version 5.x. (Just adjusted some macros, and it should be
probably kept in mind in all future macros ;)

Ondrej
-- 
Ondřej Surý <ond...@sury.org>
--- a/lib/cyrusdb_berkeley.c
+++ b/lib/cyrusdb_berkeley.c
@@ -108,7 +108,7 @@ static void db_panic(DB_ENV *dbenv __att
     exit(EC_TEMPFAIL);
 }
 
-#if (DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 3)
+#if ((DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 3)))
 static void db_err(const DB_ENV *dbenv __attribute__((unused)),
 		   const char *db_prfx, const char *buffer)
 #else
@@ -163,7 +163,7 @@ static int init(const char *dbdir, int m
 #endif
     }
 
-#if (DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 3)
+#if ((DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 3)))
     dbenv->set_msgcall(dbenv, db_msg);
 #endif
     dbenv->set_errcall(dbenv, db_err);
@@ -281,7 +281,7 @@ static int mysync(void)
 
     assert(dbinit);
 
-#if !(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1)
+#if !((DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1)))
     do {
 #endif
 #if (DB_VERSION_MAJOR > 3) || ((DB_VERSION_MAJOR == 3) && (DB_VERSION_MINOR > 0))
@@ -289,7 +289,7 @@ static int mysync(void)
 #else
 	r = txn_checkpoint(dbenv, 0, 0);
 #endif
-#if !(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1)
+#if !((DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1)))
     } while (r == DB_INCOMPLETE);  /* Never returned by BDB 4.1 */
 #endif
     if (r) {
@@ -412,7 +412,7 @@ static int myopen(const char *fname, DBT
     /* xxx set comparator! */
     if (flags & CYRUSDB_MBOXSORT) db->set_bt_compare(db, mbox_compar);
 
-#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
+#if ((DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1)))
     r = (db->open)(db, NULL, fname, NULL, type, dbflags | DB_AUTO_COMMIT, 0664);
 #else
     r = (db->open)(db, fname, NULL, type, dbflags, 0664);

Reply via email to