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.
gentoo-overlay/app-editors/nvi/files/nvi-1.81.6-db44.patch

39 lines
1.3 KiB

First part is adapted from http://cvsweb.se.netbsd.org/cgi-bin/bsdweb.cgi/pkgsrc/editors/nvi/patches/patch-aa?rev=1.3;content-type=text/plain
--- a/common/db.h
+++ b/common/db.h
@@ -4,7 +4,7 @@
#define DB_BUFFER_SMALL ENOMEM
#endif
-#if DB_VERSION_MAJOR >= 3 && DB_VERSION_MINOR >= 1
+#if (DB_VERSION_MAJOR >= 3 && DB_VERSION_MINOR >= 1) || DB_VERSION_MAJOR > 3
#define db_env_open(env,path,flags,mode) \
(env)->open(env, path, flags, mode)
#define db_env_remove(env,path,flags) \
@@ -16,7 +16,10 @@
(env)->remove(env, path, NULL, flags)
#endif
-#if DB_VERSION_MAJOR >= 4 && DB_VERSION_MINOR >= 1
+# if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 4) || DB_VERSION_MAJOR > 4
+#define db_open(db,file,type,flags,mode) \
+ (db)->open(db, NULL, file, NULL, type, flags | DB_CREATE, mode)
+#elif DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
#define db_open(db,file,type,flags,mode) \
(db)->open(db, NULL, file, NULL, type, flags, mode)
#else
--- a/common/msg.c
+++ b/common/msg.c
@@ -724,7 +724,8 @@
p = buf;
} else
p = file;
- if ((sp->db_error = db_create(&db, 0, 0)) != 0 ||
+ if (access(p, R_OK) != 0 ||
+ (sp->db_error = db_create(&db, 0, 0)) != 0 ||
(sp->db_error = db->set_re_source(db, p)) != 0 ||
(sp->db_error = db_open(db, NULL, DB_RECNO, 0, 0)) != 0) {
if (first) {