From: Timo Sirainen Date: Fri, 16 Feb 2018 12:49:59 +0000 (+0200) Subject: imap: Don't enforce sending SNIPPET reply as literal X-Git-Tag: 2.3.1~296 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2f816572826167ab50284f26a560f8674f697d5b;p=thirdparty%2Fdovecot%2Fcore.git imap: Don't enforce sending SNIPPET reply as literal Also change it to use "cur_str" since the reply is never very long. --- diff --git a/src/imap/imap-fetch-body.c b/src/imap/imap-fetch-body.c index 143aa055cf..72833e950c 100644 --- a/src/imap/imap-fetch-body.c +++ b/src/imap/imap-fetch-body.c @@ -597,7 +597,6 @@ fetch_snippet(struct imap_fetch_context *ctx, struct mail *mail, enum mail_lookup_abort temp_lookup_abort = lazy ? MAIL_LOOKUP_ABORT_NOT_IN_CACHE : mail->lookup_abort; enum mail_lookup_abort orig_lookup_abort = mail->lookup_abort; const char *snippet; - const char *str; int ret; mail->lookup_abort = temp_lookup_abort; @@ -626,14 +625,9 @@ fetch_snippet(struct imap_fetch_context *ctx, struct mail *mail, return 1; } - str = t_strdup_printf(" SNIPPET (FUZZY {%"PRIuSIZE_T"}\r\n", strlen(snippet)); - if (ctx->state.cur_first) { - str++; - ctx->state.cur_first = FALSE; - } - o_stream_nsend_str(ctx->client->output, str); - o_stream_nsend_str(ctx->client->output, snippet); - o_stream_nsend_str(ctx->client->output, ")"); + str_append(ctx->state.cur_str, "SNIPPET (FUZZY "); + imap_append_string(ctx->state.cur_str, snippet); + str_append(ctx->state.cur_str, ") "); return 1; }