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.9~2285 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=02c6a06e5f7f2d3ab79482ac32ab5095c5b0b458;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 52318b387f..3c154d6878 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; }