changeset 22854:bc45ec187a5b

imap: Don't enforce sending SNIPPET reply as literal Also change it to use "cur_str" since the reply is never very long.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Fri, 16 Feb 2018 14:49:59 +0200
parents a236fe5b588d
children d90c7241317a
files src/imap/imap-fetch-body.c
diffstat 1 files changed, 3 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/imap/imap-fetch-body.c	Fri Feb 16 14:46:36 2018 +0200
+++ b/src/imap/imap-fetch-body.c	Fri Feb 16 14:49:59 2018 +0200
@@ -596,7 +596,6 @@
 	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 @@
 		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;
 }