]> code.citadel.org Git - citadel.git/blobdiff - citadel/database.c
fix all the <time.h> vs. <sys/time.h> issues, hopefully
[citadel.git] / citadel / database.c
index 061647395b64f09b508c95f4d1c592abec1eeee4..dc247df978a194ad2c98af31403a0e7013d942ce 100644 (file)
@@ -1,8 +1,8 @@
 /*
- * This file contains a set of abstractions that allow Citadel to plug into any
- * record manager or database system for its data store.
- *
  * $Id$
+ *
+ * GDBM database driver for Citadel/UX
+ *
  */
 
 /*
 #include <stdlib.h>
 #include <unistd.h>
 #include <stdio.h>
-#include <time.h>
+
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# if HAVE_SYS_TIME_H
+#  include <sys/time.h>
+# else
+#  include <time.h>
+# endif
+#endif
+
 #include <ctype.h>
 #include <string.h>
 #include <errno.h>
-#ifdef HAVE_GDBM_H
 #include <gdbm.h>
-#endif
 #include "citadel.h"
 #include "server.h"
 #include "database.h"
@@ -53,11 +62,9 @@ void defrag_databases(void)
 
        /* defrag the message base */
        lprintf(7, "Defragmenting message base\n");
-       begin_critical_section(S_MSGMAIN);
        begin_critical_section(S_DATABASE);
        gdbm_reorganize(gdbms[CDB_MSGMAIN]);
        end_critical_section(S_DATABASE);
-       end_critical_section(S_MSGMAIN);
 
        /* defrag the user file, mailboxes, and user/room relationships */
        lprintf(7, "Defragmenting user file\n");
@@ -339,3 +346,23 @@ struct cdbdata *cdb_next_item(int cdb)
 
        return (cdbret);
 }
+
+
+/*
+ * empty functions because GDBM doesn't have transaction support
+ */
+
+void cdb_begin_transaction(void) {
+}
+
+void cdb_end_transaction(void) {
+}
+
+void cdb_allocate_tsd(void) {
+}
+
+void cdb_free_tsd(void) {
+}
+
+void cdb_check_handles(void) {
+}