Mercurial > dovecot > core-2.2
changeset 21623:ff0f2eb98d79
lib-imap: imap-bodystructure: Removed useless pool field from struct message_part_data.
author | Stephan Bosch <stephan.bosch@dovecot.fi> |
---|---|
date | Sun, 23 Oct 2016 13:50:05 +0200 |
parents | b6b198961bc6 |
children | cd2324ec340d |
files | src/lib-imap/imap-bodystructure.c src/lib-imap/imap-bodystructure.h |
diffstat | 2 files changed, 26 insertions(+), 28 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-imap/imap-bodystructure.c Sun Oct 23 13:29:43 2016 +0200 +++ b/src/lib-imap/imap-bodystructure.c Sun Oct 23 13:50:05 2016 +0200 @@ -28,8 +28,9 @@ return p_strdup(pool, str_c(str)); } -static void parse_content_type(struct message_part_data *data, - struct message_header_line *hdr) +static void +parse_content_type(struct message_part_data *data, + pool_t pool, struct message_header_line *hdr) { struct rfc822_parser_context parser; const char *value, *const *results; @@ -49,12 +50,12 @@ for (i = 0; value[i] != '\0'; i++) { if (value[i] == '/') { data->content_subtype = - imap_get_string(data->pool, value + i+1); + imap_get_string(pool, value + i+1); break; } } str_truncate(str, i); - data->content_type = imap_get_string(data->pool, str_c(str)); + data->content_type = imap_get_string(pool, str_c(str)); if (ret < 0) { /* Content-Type is broken, but we wanted to get it as well as @@ -87,12 +88,13 @@ } if (str_len(str) > 0) { data->content_type_params = - p_strdup(data->pool, str_c(str) + 1); + p_strdup(pool, str_c(str) + 1); } } -static void parse_content_transfer_encoding(struct message_part_data *data, - struct message_header_line *hdr) +static void +parse_content_transfer_encoding(struct message_part_data *data, + pool_t pool, struct message_header_line *hdr) { struct rfc822_parser_context parser; string_t *str; @@ -104,12 +106,13 @@ if (rfc822_parse_mime_token(&parser, str) >= 0 && rfc822_skip_lwsp(&parser) == 0 && str_len(str) > 0) { data->content_transfer_encoding = - imap_get_string(data->pool, str_c(str)); + imap_get_string(pool, str_c(str)); } } -static void parse_content_disposition(struct message_part_data *data, - struct message_header_line *hdr) +static void +parse_content_disposition(struct message_part_data *data, + pool_t pool, struct message_header_line *hdr) { struct rfc822_parser_context parser; const char *const *results; @@ -121,7 +124,7 @@ str = t_str_new(256); if (rfc822_parse_mime_token(&parser, str) < 0) return; - data->content_disposition = imap_get_string(data->pool, str_c(str)); + data->content_disposition = imap_get_string(pool, str_c(str)); /* parse parameters and save them */ str_truncate(str, 0); @@ -134,12 +137,13 @@ } if (str_len(str) > 0) { data->content_disposition_params = - p_strdup(data->pool, str_c(str) + 1); + p_strdup(pool, str_c(str) + 1); } } -static void parse_content_language(const unsigned char *value, size_t value_len, - struct message_part_data *data) +static void +parse_content_language(struct message_part_data *data, + pool_t pool, const unsigned char *value, size_t value_len) { struct rfc822_parser_context parser; string_t *str; @@ -166,13 +170,12 @@ if (str_len(str) > 1) { str_truncate(str, str_len(str) - 2); - data->content_language = p_strdup(data->pool, str_c(str)); + data->content_language = p_strdup(pool, str_c(str)); } } static void parse_content_header(struct message_part_data *d, - struct message_header_line *hdr, - pool_t pool) + pool_t pool, struct message_header_line *hdr) { const char *name = hdr->name + strlen("Content-"); const char *value; @@ -200,18 +203,18 @@ case 't': case 'T': if (strcasecmp(name, "Type") == 0 && d->content_type == NULL) - parse_content_type(d, hdr); + parse_content_type(d, pool, hdr); else if (strcasecmp(name, "Transfer-Encoding") == 0 && d->content_transfer_encoding == NULL) - parse_content_transfer_encoding(d, hdr); + parse_content_transfer_encoding(d, pool, hdr); break; case 'l': case 'L': if (strcasecmp(name, "Language") == 0 && d->content_language == NULL) { - parse_content_language(hdr->full_value, - hdr->full_value_len, d); + parse_content_language(d, pool, hdr->full_value, + hdr->full_value_len); } else if (strcasecmp(name, "Location") == 0 && d->content_location == NULL) { d->content_location = imap_get_string(pool, value); @@ -225,7 +228,7 @@ d->content_description = imap_get_string(pool, value); else if (strcasecmp(name, "Disposition") == 0 && d->content_disposition_params == NULL) - parse_content_disposition(d, hdr); + parse_content_disposition(d, pool, hdr); break; } } @@ -243,7 +246,6 @@ structure anyway. */ part->data = part_data = p_new(pool, struct message_part_data, 1); - part_data->pool = pool; } else if ((part->flags & MESSAGE_PART_FLAG_IS_MIME) == 0) { /* If there was no Mime-Version, forget all the Content-stuff */ @@ -251,7 +253,6 @@ envelope = part_data->envelope; i_zero(part_data); - part_data->pool = pool; part_data->envelope = envelope; } return; @@ -269,13 +270,12 @@ /* initialize message part data */ part->data = part_data = p_new(pool, struct message_part_data, 1); - part_data->pool = pool; } part_data = part->data; if (strncasecmp(hdr->name, "Content-", 8) == 0) { T_BEGIN { - parse_content_header(part_data, hdr, pool); + parse_content_header(part_data, pool, hdr); } T_END; } @@ -703,7 +703,6 @@ i_assert(part->data == NULL); part->data = data = p_new(pool, struct message_part_data, 1); - data->pool = pool; multipart = FALSE; child_part = part->children;
--- a/src/lib-imap/imap-bodystructure.h Sun Oct 23 13:29:43 2016 +0200 +++ b/src/lib-imap/imap-bodystructure.h Sun Oct 23 13:50:05 2016 +0200 @@ -2,7 +2,6 @@ #define IMAP_BODYSTRUCTURE_H struct message_part_data { - pool_t pool; /* NOTE: all the strings are stored via imap_quote(), so they contain "quoted-text" or {123}\r\nliterals */ const char *content_type, *content_subtype;