[dovecot-cvs] dovecot/src/lib-storage/index index-mail.c, 1.29,
1.30 index-mail.h, 1.11, 1.12 index-storage.c, 1.47,
1.48 index-storage.h, 1.58, 1.59
cras at procontrol.fi
cras at procontrol.fi
Thu May 6 04:22:27 EEST 2004
- Previous message: [dovecot-cvs] dovecot configure.in,1.156,1.157
- Next message: [dovecot-cvs] dovecot/src/lib-storage/index/maildir maildir-list.c,
1.27, 1.28 maildir-mail.c, 1.2, 1.3 maildir-storage.c, 1.70,
1.71 maildir-storage.h, 1.21, 1.22 maildir-sync.c, 1.11,
1.12 maildir-uidlist.c, 1.12, 1.13 maildir-uidlist.h, 1.3, 1.4
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /home/cvs/dovecot/src/lib-storage/index
In directory talvi:/tmp/cvs-serv13512/src/lib-storage/index
Modified Files:
index-mail.c index-mail.h index-storage.c index-storage.h
Log Message:
mbox code compiles again, but syncing is only partially implemented so
accessing mboxes fails..
Also some cleanups to index-storage and maildir code.
Index: index-mail.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/index/index-mail.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- index-mail.c 2 May 2004 20:32:16 -0000 1.29
+++ index-mail.c 6 May 2004 01:22:25 -0000 1.30
@@ -200,6 +200,21 @@
return data->parts;
}
+time_t index_mail_get_received_date(struct mail *_mail)
+{
+ struct index_mail *mail = (struct index_mail *) _mail;
+ struct index_mail_data *data = &mail->data;
+
+ if (data->received_date == (time_t)-1 &&
+ (mail->wanted_fields & MAIL_FETCH_RECEIVED_DATE) == 0) {
+ data->received_date = index_mail_get_cached_received_date(mail);
+ if (data->received_date != (time_t)-1)
+ return data->received_date;
+ }
+
+ return data->received_date;
+}
+
time_t index_mail_get_date(struct mail *_mail, int *timezone)
{
struct index_mail *mail = (struct index_mail *) _mail;
Index: index-mail.h
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/index/index-mail.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- index-mail.h 27 Apr 2004 20:25:54 -0000 1.11
+++ index-mail.h 6 May 2004 01:22:25 -0000 1.12
@@ -94,6 +94,7 @@
const struct mail_full_flags *index_mail_get_flags(struct mail *_mail);
const struct message_part *index_mail_get_parts(struct mail *_mail);
+time_t index_mail_get_received_date(struct mail *_mail);
time_t index_mail_get_date(struct mail *_mail, int *timezone);
uoff_t index_mail_get_size(struct mail *_mail);
struct istream *index_mail_init_stream(struct index_mail *mail,
Index: index-storage.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/index/index-storage.c,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- index-storage.c 3 May 2004 14:37:49 -0000 1.47
+++ index-storage.c 6 May 2004 01:22:25 -0000 1.48
@@ -39,8 +39,11 @@
index_storage_refcount++;
}
-void index_storage_deinit(struct index_storage *storage __attr_unused__)
+void index_storage_deinit(struct index_storage *storage)
{
+ i_free(storage->storage.namespace);
+ i_free(storage->storage.error);
+
if (--index_storage_refcount > 0)
return;
@@ -243,10 +246,10 @@
return ret;
}
-static void lock_notify(enum mailbox_lock_notify_type notify_type,
- unsigned int secs_left, void *context)
+void index_storage_lock_notify(struct index_mailbox *ibox,
+ enum mailbox_lock_notify_type notify_type,
+ unsigned int secs_left)
{
- struct index_mailbox *ibox = context;
struct index_storage *storage = ibox->storage;
const char *str;
time_t now;
@@ -293,7 +296,7 @@
}
}
-void index_storage_reset_lock_notify(struct index_mailbox *ibox)
+void index_storage_lock_notify_reset(struct index_mailbox *ibox)
{
ibox->next_lock_notify = time(NULL) + LOCK_NOTIFY_INTERVAL;
ibox->last_notify_type = MAILBOX_LOCK_NOTIFY_NONE;
Index: index-storage.h
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/index/index-storage.h,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -d -r1.58 -r1.59
--- index-storage.h 2 May 2004 20:32:16 -0000 1.58
+++ index-storage.h 6 May 2004 01:22:25 -0000 1.59
@@ -1,6 +1,7 @@
#ifndef __INDEX_STORAGE_H
#define __INDEX_STORAGE_H
+#include "file-dotlock.h"
#include "mail-storage-private.h"
#include "mail-index.h"
#include "index-mail.h"
@@ -74,7 +75,21 @@
uint32_t commit_log_file_seq;
uoff_t commit_log_file_offset;
- /* sync: */
+ /* mbox: */
+ int mbox_fd;
+ struct istream *mbox_stream, *mbox_file_stream;
+ int mbox_lock_type;
+ dev_t mbox_dev;
+ ino_t mbox_ino;
+ unsigned int mbox_locks;
+ struct dotlock mbox_dotlock;
+ unsigned int mbox_lock_id;
+
+ buffer_t *mbox_data_buf;
+ const uoff_t *mbox_data;
+ uint32_t mbox_data_count;
+
+ /* maildir sync: */
struct maildir_uidlist *uidlist;
time_t last_new_mtime, last_cur_mtime, last_new_sync_time;
time_t dirty_cur_time;
@@ -99,7 +114,11 @@
};
int mail_storage_set_index_error(struct index_mailbox *ibox);
-void index_storage_reset_lock_notify(struct index_mailbox *ibox);
+
+void index_storage_lock_notify(struct index_mailbox *ibox,
+ enum mailbox_lock_notify_type notify_type,
+ unsigned int secs_left);
+void index_storage_lock_notify_reset(struct index_mailbox *ibox);
struct mail_index *
index_storage_alloc(const char *index_dir,
- Previous message: [dovecot-cvs] dovecot configure.in,1.156,1.157
- Next message: [dovecot-cvs] dovecot/src/lib-storage/index/maildir maildir-list.c,
1.27, 1.28 maildir-mail.c, 1.2, 1.3 maildir-storage.c, 1.70,
1.71 maildir-storage.h, 1.21, 1.22 maildir-sync.c, 1.11,
1.12 maildir-uidlist.c, 1.12, 1.13 maildir-uidlist.h, 1.3, 1.4
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the dovecot-cvs
mailing list