]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: mail_get_parts() no longer returns const pointer.
authorTimo Sirainen <tss@iki.fi>
Sat, 27 Mar 2010 00:39:49 +0000 (02:39 +0200)
committerTimo Sirainen <tss@iki.fi>
Sat, 27 Mar 2010 00:39:49 +0000 (02:39 +0200)
The struct message_part contained context-pointer and other APIs were using
it, so the pointer really couldn't be const without casting it away
sometimes.

--HG--
branch : HEAD

src/imap/imap-fetch-body.c
src/lib-mail/message-search.c
src/lib-mail/message-search.h
src/lib-storage/index/index-mail.c
src/lib-storage/index/index-mail.h
src/lib-storage/index/index-search.c
src/lib-storage/mail-storage-private.h
src/lib-storage/mail-storage.h
src/lib-storage/mail.c
src/lib-storage/test-mail.c
src/plugins/virtual/virtual-mail.c

index bc43887feba3946b865d53bd7ac4b4e8c4ebb6c2..af70876e1cfc3bd733aa16090c58ea51aafb58f6 100644 (file)
@@ -496,7 +496,7 @@ fetch_body_header_fields(struct imap_fetch_context *ctx, struct mail *mail,
 static int part_find(struct mail *mail, const struct imap_fetch_body_data *body,
                     const struct message_part **part_r, const char **section_r)
 {
-       const struct message_part *part;
+       struct message_part *part;
        const char *path;
        unsigned int num;
 
index cf9b05f1f4969e0dcb4ad1d70b5e268da6987edb..93f975e4805ef51a712fa2a2e2a73e8da72f4a81 100644 (file)
@@ -209,7 +209,7 @@ void message_search_reset(struct message_search_context *ctx)
 
 static int
 message_search_msg_real(struct message_search_context *ctx,
-                       struct istream *input, const struct message_part *parts)
+                       struct istream *input, struct message_part *parts)
 {
        const enum message_header_parser_flags hdr_parser_flags =
                MESSAGE_HEADER_PARSER_FLAG_CLEAN_ONELINE;
@@ -221,8 +221,7 @@ message_search_msg_real(struct message_search_context *ctx,
        message_search_reset(ctx);
 
        if (parts != NULL) {
-               parser_ctx = message_parser_init_from_parts(
-                                               (struct message_part *)parts,
+               parser_ctx = message_parser_init_from_parts(parts,
                                                input, hdr_parser_flags, 0);
        } else {
                parser_ctx = message_parser_init(pool_datastack_create(),
@@ -250,7 +249,7 @@ message_search_msg_real(struct message_search_context *ctx,
 }
 
 int message_search_msg(struct message_search_context *ctx,
-                      struct istream *input, const struct message_part *parts)
+                      struct istream *input, struct message_part *parts)
 {
        int ret;
 
index 740c4d249a56aa3971ce4ea68b7edc361dfb2803..51584eb37a484a45b048b8f355eca8273b142109 100644 (file)
@@ -27,6 +27,6 @@ void message_search_reset(struct message_search_context *ctx);
 /* Search a full message. Returns 1 if match was found, 0 if not,
    -1 if error (if stream_error == 0, the parts contained broken data) */
 int message_search_msg(struct message_search_context *ctx,
-                      struct istream *input, const struct message_part *parts);
+                      struct istream *input, struct message_part *parts);
 
 #endif
index f5217234173144d3cbab830c087ac8bc416409e9..396d0f261dae8b797cec93965a42a2851c5b2d03 100644 (file)
@@ -196,8 +196,7 @@ index_mail_get_keyword_indexes(struct mail *_mail)
        return &data->keyword_indexes;
 }
 
-int index_mail_get_parts(struct mail *_mail,
-                        const struct message_part **parts_r)
+int index_mail_get_parts(struct mail *_mail, struct message_part **parts_r)
 {
        struct index_mail *mail = (struct index_mail *)_mail;
        struct index_mail_data *data = &mail->data;
index 33bc2e39bcb741925808ee781ea99e69c5751f63..cbbc59f2a2b3e4c86763d3d6d7175ce2c6ea1112 100644 (file)
@@ -182,8 +182,7 @@ uint64_t index_mail_get_modseq(struct mail *_mail);
 const char *const *index_mail_get_keywords(struct mail *_mail);
 const ARRAY_TYPE(keyword_indexes) *
 index_mail_get_keyword_indexes(struct mail *_mail);
-int index_mail_get_parts(struct mail *_mail,
-                        const struct message_part **parts_r);
+int index_mail_get_parts(struct mail *_mail, struct message_part **parts_r);
 int index_mail_get_received_date(struct mail *_mail, time_t *date_r);
 int index_mail_get_save_date(struct mail *_mail, time_t *date_r);
 int index_mail_get_date(struct mail *_mail, time_t *date_r, int *timezone_r);
index 797f5a08271515300fa6121f9a07945e8bed5cd6..58749ffa6c17a6e3bc62842b53d89dda7b54323b 100644 (file)
@@ -73,7 +73,7 @@ struct search_header_context {
 struct search_body_context {
         struct index_search_context *index_ctx;
        struct istream *input;
-       const struct message_part *part;
+       struct message_part *part;
 };
 
 static const enum message_header_parser_flags hdr_parser_flags =
index 8f7c26167e82fa441f40e704835ec006eaf76c29..fb6f3da3ea96ccc9d2cee9ed9ca0bd0fa42abad8 100644 (file)
@@ -281,7 +281,7 @@ struct mail_vfuncs {
        uint64_t (*get_modseq)(struct mail *mail);
 
        int (*get_parts)(struct mail *mail,
-                        const struct message_part **parts_r);
+                        struct message_part **parts_r);
        int (*get_date)(struct mail *mail, time_t *date_r, int *timezone_r);
        int (*get_received_date)(struct mail *mail, time_t *date_r);
        int (*get_save_date)(struct mail *mail, time_t *date_r);
index dbc14b5eb324cc3f539fa3663c183686b324dccb..5fc07f7015561d59b9e26661b90472dfa034b0af 100644 (file)
@@ -614,7 +614,7 @@ const ARRAY_TYPE(keyword_indexes) *mail_get_keyword_indexes(struct mail *mail);
 uint64_t mail_get_modseq(struct mail *mail);
 
 /* Returns message's MIME parts */
-int mail_get_parts(struct mail *mail, const struct message_part **parts_r);
+int mail_get_parts(struct mail *mail, struct message_part **parts_r);
 
 /* Get the Date-header of the mail. Timezone is in minutes. date=0 if it
    wasn't found or it was invalid. */
index 05e02a970d83f95dfaca6aded13096bd40e65143..dbe9b64f3185addc1a7248e17f2c9ed532aac704 100644 (file)
@@ -68,7 +68,7 @@ const ARRAY_TYPE(keyword_indexes) *mail_get_keyword_indexes(struct mail *mail)
        return p->v.get_keyword_indexes(mail);
 }
 
-int mail_get_parts(struct mail *mail, const struct message_part **parts_r)
+int mail_get_parts(struct mail *mail, struct message_part **parts_r)
 {
        struct mail_private *p = (struct mail_private *)mail;
 
index 705141d83b47228b396b5a57710b3b7273fdf14b..40d8e1354783d35875013d88eea579dd6604e880 100644 (file)
@@ -82,7 +82,7 @@ static uint64_t test_mail_get_modseq(struct mail *mail ATTR_UNUSED)
 
 static int
 test_mail_get_parts(struct mail *mail ATTR_UNUSED,
-                   const struct message_part **parts_r ATTR_UNUSED)
+                   struct message_part **parts_r ATTR_UNUSED)
 {
        return -1;
 }
index 937bb83a3018fce34cf575d5f92b29a7c183d5aa..e834cfef5d0759e2f378dee0ddf5c12b4bbf82cd 100644 (file)
@@ -172,7 +172,7 @@ static int virtual_mail_handle_lost(struct virtual_mail *vmail)
 }
 
 static int
-virtual_mail_get_parts(struct mail *mail, const struct message_part **parts_r)
+virtual_mail_get_parts(struct mail *mail, struct message_part **parts_r)
 {
        struct virtual_mail *vmail = (struct virtual_mail *)mail;