You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

41 lines
1.6 KiB

--- apr-util/dbm/apr_dbm_berkeleydb.c.orig 2002-12-04 21:53:07.000000000 +0100
+++ apr-util/dbm/apr_dbm_berkeleydb.c 2002-12-05 20:35:36.000000000 +0100
@@ -73,9 +73,7 @@
*/
#if defined(DB_VERSION_MAJOR) && (DB_VERSION_MAJOR == 4)
-/* At this time, there are no differences from our perspective between
- * DB3 and DB4. */
-#define DB_VER 3
+#define DB_VER 4
#elif defined(DB_VERSION_MAJOR) && (DB_VERSION_MAJOR == 3)
#define DB_VER 3
#elif defined(DB_VERSION_MAJOR) && (DB_VERSION_MAJOR == 2)
@@ -193,7 +191,17 @@
{
int dberr;
-#if DB_VER == 3
+#if DB_VER == 4 && DB_VERSION_MINOR >= 1
+ if ((dberr = db_create(&file.bdb, NULL, 0)) == 0) {
+ if ((dberr = (*file.bdb->open)(file.bdb, NULL, pathname, NULL,
+ DB_HASH, dbmode,
+ apr_posix_perms2mode(perm))) != 0) {
+ /* close the DB handler */
+ (void) (*file.bdb->close)(file.bdb, 0);
+ }
+ }
+ file.curs = NULL;
+#elif DB_VER == 3
if ((dberr = db_create(&file.bdb, NULL, 0)) == 0) {
if ((dberr = (*file.bdb->open)(file.bdb, pathname, NULL,
DB_HASH, dbmode,
@@ -339,7 +347,7 @@
dberr = (*f->bdb->seq)(f->bdb, &first, &data, R_FIRST);
#else
if ((dberr = (*f->bdb->cursor)(f->bdb, NULL, &f->curs
-#if DB_VER == 3
+#if (DB_VER == 3 || DB_VER == 4)
, 0
#elif (DB_VERSION_MAJOR == 2) && (DB_VERSION_MINOR > 5)
, 0