+#else
+ status = db_create (&dbase, NULL, 0);
+ if (status)
+ return Qnil;
+#if DB_VERSION_MAJOR < 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR < 1)
+ status = dbase->open (dbase, filename, NULL,
+ real_subtype, accessmask, modemask);
+#else /* DB_VERSION >= 4.1 */
+ /* DB_AUTO_COMMIT requires transaction support, don't try it */
+ status = dbase->open (dbase, NULL, filename, NULL, real_subtype,
+ accessmask, modemask);
+#endif /* DB_VERSION < 4.1 */
+ if (status)
+ {
+ dbase->close (dbase, 0);
+ return Qnil;
+ }
+#endif /* DB_VERSION_MAJOR > 2 */
+ /* Normalize into system specific file modes. Only for printing */
+ accessmask = accessmask & DB_RDONLY ? O_RDONLY : O_RDWR;