dovecot-1.2: Added mailbox_keyword_is_valid().
dovecot at dovecot.org
dovecot at dovecot.org
Mon Jul 21 02:48:55 EEST 2008
details: http://hg.dovecot.org/dovecot-1.2/rev/0e7a9547be83
changeset: 8042:0e7a9547be83
user: Timo Sirainen <tss at iki.fi>
date: Mon Jul 21 02:48:51 2008 +0300
description:
Added mailbox_keyword_is_valid().
diffstat:
10 files changed, 24 insertions(+), 5 deletions(-)
src/lib-storage/index/cydir/cydir-storage.c | 1 +
src/lib-storage/index/dbox/dbox-storage.c | 1 +
src/lib-storage/index/index-storage.c | 11 ++++++-----
src/lib-storage/index/index-storage.h | 2 ++
src/lib-storage/index/maildir/maildir-storage.c | 1 +
src/lib-storage/index/mbox/mbox-storage.c | 1 +
src/lib-storage/index/raw/raw-storage.c | 1 +
src/lib-storage/mail-storage-private.h | 2 ++
src/lib-storage/mail-storage.c | 6 ++++++
src/lib-storage/mail-storage.h | 3 +++
diffs (143 lines):
diff -r 4de1590878ea -r 0e7a9547be83 src/lib-storage/index/cydir/cydir-storage.c
--- a/src/lib-storage/index/cydir/cydir-storage.c Mon Jul 21 01:07:06 2008 +0300
+++ b/src/lib-storage/index/cydir/cydir-storage.c Mon Jul 21 02:48:51 2008 +0300
@@ -441,6 +441,7 @@ struct mailbox cydir_mailbox = {
index_transaction_set_max_modseq,
index_keywords_create,
index_keywords_free,
+ index_keyword_is_valid,
index_storage_get_seq_range,
index_storage_get_uid_range,
index_storage_get_expunged_uids,
diff -r 4de1590878ea -r 0e7a9547be83 src/lib-storage/index/dbox/dbox-storage.c
--- a/src/lib-storage/index/dbox/dbox-storage.c Mon Jul 21 01:07:06 2008 +0300
+++ b/src/lib-storage/index/dbox/dbox-storage.c Mon Jul 21 02:48:51 2008 +0300
@@ -701,6 +701,7 @@ struct mailbox dbox_mailbox = {
index_transaction_set_max_modseq,
index_keywords_create,
index_keywords_free,
+ index_keyword_is_valid,
index_storage_get_seq_range,
index_storage_get_uid_range,
index_storage_get_expunged_uids,
diff -r 4de1590878ea -r 0e7a9547be83 src/lib-storage/index/index-storage.c
--- a/src/lib-storage/index/index-storage.c Mon Jul 21 01:07:06 2008 +0300
+++ b/src/lib-storage/index/index-storage.c Mon Jul 21 02:48:51 2008 +0300
@@ -538,9 +538,10 @@ void mail_storage_set_index_error(struct
mail_index_reset_error(ibox->index);
}
-int index_mailbox_keyword_is_valid(struct index_mailbox *ibox,
- const char *keyword, const char **error_r)
-{
+bool index_keyword_is_valid(struct mailbox *box, const char *keyword,
+ const char **error_r)
+{
+ struct index_mailbox *ibox = (struct index_mailbox *)box;
unsigned int i, idx;
/* if it already exists, skip validity checks */
@@ -580,7 +581,7 @@ index_keywords_create_skip(struct index_
t_array_init(&valid_keywords, 32);
for (; *keywords != NULL; keywords++) {
- if (index_mailbox_keyword_is_valid(ibox, *keywords, &error))
+ if (mailbox_keyword_is_valid(&ibox->box, *keywords, &error))
array_append(&valid_keywords, keywords, 1);
}
(void)array_append_space(&valid_keywords); /* NULL-terminate */
@@ -595,7 +596,7 @@ int index_keywords_create(struct mailbox
unsigned int i;
for (i = 0; keywords[i] != NULL; i++) {
- if (index_mailbox_keyword_is_valid(ibox, keywords[i], &error))
+ if (mailbox_keyword_is_valid(_box, keywords[i], &error))
continue;
if (!skip_invalid) {
diff -r 4de1590878ea -r 0e7a9547be83 src/lib-storage/index/index-storage.h
--- a/src/lib-storage/index/index-storage.h Mon Jul 21 01:07:06 2008 +0300
+++ b/src/lib-storage/index/index-storage.h Mon Jul 21 02:48:51 2008 +0300
@@ -116,6 +116,8 @@ int index_keywords_create(struct mailbox
int index_keywords_create(struct mailbox *box, const char *const keywords[],
struct mail_keywords **keywords_r, bool skip_invalid);
void index_keywords_free(struct mail_keywords *keywords);
+bool index_keyword_is_valid(struct mailbox *box, const char *keyword,
+ const char **error_r);
void index_mailbox_set_recent_uid(struct index_mailbox *ibox, uint32_t uid);
void index_mailbox_set_recent_seq(struct index_mailbox *ibox,
diff -r 4de1590878ea -r 0e7a9547be83 src/lib-storage/index/maildir/maildir-storage.c
--- a/src/lib-storage/index/maildir/maildir-storage.c Mon Jul 21 01:07:06 2008 +0300
+++ b/src/lib-storage/index/maildir/maildir-storage.c Mon Jul 21 02:48:51 2008 +0300
@@ -1046,6 +1046,7 @@ struct mailbox maildir_mailbox = {
index_transaction_set_max_modseq,
index_keywords_create,
index_keywords_free,
+ index_keyword_is_valid,
index_storage_get_seq_range,
index_storage_get_uid_range,
index_storage_get_expunged_uids,
diff -r 4de1590878ea -r 0e7a9547be83 src/lib-storage/index/mbox/mbox-storage.c
--- a/src/lib-storage/index/mbox/mbox-storage.c Mon Jul 21 01:07:06 2008 +0300
+++ b/src/lib-storage/index/mbox/mbox-storage.c Mon Jul 21 02:48:51 2008 +0300
@@ -1000,6 +1000,7 @@ struct mailbox mbox_mailbox = {
index_transaction_set_max_modseq,
index_keywords_create,
index_keywords_free,
+ index_keyword_is_valid,
index_storage_get_seq_range,
index_storage_get_uid_range,
index_storage_get_expunged_uids,
diff -r 4de1590878ea -r 0e7a9547be83 src/lib-storage/index/raw/raw-storage.c
--- a/src/lib-storage/index/raw/raw-storage.c Mon Jul 21 01:07:06 2008 +0300
+++ b/src/lib-storage/index/raw/raw-storage.c Mon Jul 21 02:48:51 2008 +0300
@@ -292,6 +292,7 @@ struct mailbox raw_mailbox = {
index_transaction_set_max_modseq,
index_keywords_create,
index_keywords_free,
+ index_keyword_is_valid,
index_storage_get_seq_range,
index_storage_get_uid_range,
index_storage_get_expunged_uids,
diff -r 4de1590878ea -r 0e7a9547be83 src/lib-storage/mail-storage-private.h
--- a/src/lib-storage/mail-storage-private.h Mon Jul 21 01:07:06 2008 +0300
+++ b/src/lib-storage/mail-storage-private.h Mon Jul 21 02:48:51 2008 +0300
@@ -127,6 +127,8 @@ struct mailbox_vfuncs {
struct mail_keywords **keywords_r,
bool skip_invalid);
void (*keywords_free)(struct mail_keywords *keywords);
+ bool (*keyword_is_valid)(struct mailbox *box, const char *keyword,
+ const char **error_r);
void (*get_seq_range)(struct mailbox *box, uint32_t uid1, uint32_t uid2,
uint32_t *seq1_r, uint32_t *seq2_r);
diff -r 4de1590878ea -r 0e7a9547be83 src/lib-storage/mail-storage.c
--- a/src/lib-storage/mail-storage.c Mon Jul 21 01:07:06 2008 +0300
+++ b/src/lib-storage/mail-storage.c Mon Jul 21 02:48:51 2008 +0300
@@ -603,6 +603,12 @@ void mailbox_keywords_free(struct mailbo
box->v.keywords_free(keywords);
}
+bool mailbox_keyword_is_valid(struct mailbox *box, const char *keyword,
+ const char **error_r)
+{
+ return box->v.keyword_is_valid(box, keyword, error_r);
+}
+
void mailbox_get_seq_range(struct mailbox *box, uint32_t uid1, uint32_t uid2,
uint32_t *seq1_r, uint32_t *seq2_r)
{
diff -r 4de1590878ea -r 0e7a9547be83 src/lib-storage/mail-storage.h
--- a/src/lib-storage/mail-storage.h Mon Jul 21 01:07:06 2008 +0300
+++ b/src/lib-storage/mail-storage.h Mon Jul 21 02:48:51 2008 +0300
@@ -385,6 +385,9 @@ mailbox_keywords_create_valid(struct mai
const char *const keywords[]);
void mailbox_keywords_free(struct mailbox *box,
struct mail_keywords **keywords);
+/* Returns TRUE if keyword is valid, FALSE and error if not. */
+bool mailbox_keyword_is_valid(struct mailbox *box, const char *keyword,
+ const char **error_r);
/* Convert uid range to sequence range. */
void mailbox_get_seq_range(struct mailbox *box, uint32_t uid1, uint32_t uid2,
More information about the dovecot-cvs
mailing list