XEmacs 21.4.18 (Social Property).
[chise/xemacs-chise.git.1] / src / database.c
index 57e3925..33a8615 100644 (file)
@@ -45,14 +45,28 @@ Boston, MA 02111-1307, USA.  */
 #ifdef HAVE_INTTYPES_H
 #define __BIT_TYPES_DEFINED__
 #include <inttypes.h>
+#ifndef __FreeBSD__
+#if !HAVE_U_INT8_T
 typedef uint8_t  u_int8_t;
+#endif
+#if !HAVE_U_INT16_T
 typedef uint16_t u_int16_t;
+#endif
+#if !HAVE_U_INT32_T
 typedef uint32_t u_int32_t;
+#endif
 #ifdef WE_DONT_NEED_QUADS
+#if !HAVE_U_INT64_T
 typedef uint64_t u_int64_t;
+#endif
 #endif /* WE_DONT_NEED_QUADS */
+#endif /* !defined(__FreeBSD__) */
 #endif /* HAVE_INTTYPES_H */
 #endif /* !(defined __GLIBC__ && __GLIBC_MINOR__ >= 1) */
+/* Berkeley DB wants __STDC__ to be defined; else if does `#define const' */
+#if ! defined (__STDC__) && ! defined(__cplusplus)
+#define __STDC__ 0
+#endif
 #include DB_H_FILE              /* Berkeley db's header file */
 #ifndef DB_VERSION_MAJOR
 # define DB_VERSION_MAJOR 1
@@ -695,8 +709,9 @@ and defaults to 0755.
       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 | DB_AUTO_COMMIT, modemask);
+                           accessmask, modemask);
 #endif /* DB_VERSION < 4.1 */
       if (status)
         {