From 237330132f0fbe5432f890211efb38b3b7e9c1cc Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Fri, 16 Feb 2018 14:49:59 +0200 Subject: [PATCH] imap: Don't enforce sending SNIPPET reply as literal Also change it to use "cur_str" since the reply is never very long. --- src/imap/imap-fetch-body.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/imap/imap-fetch-body.c b/src/imap/imap-fetch-body.c index 1456d024fe..ce29d37698 100644 --- a/src/imap/imap-fetch-body.c +++ b/src/imap/imap-fetch-body.c @@ -596,7 +596,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; @@ -625,14 +624,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; }