changeset 111:8a9c6b71761f HEAD

avoid sending extra spaces in FETCH reply.
author Timo Sirainen <tss@iki.fi>
date Mon, 02 Sep 2002 14:39:00 +0300
parents 63cd510c6598
children d6105a8a6ca9
files src/lib-storage/index/index-fetch-section.c src/lib-storage/index/index-fetch.c src/lib-storage/index/index-fetch.h
diffstat 3 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/index-fetch-section.c	Mon Sep 02 09:23:01 2002 +0300
+++ b/src/lib-storage/index/index-fetch-section.c	Mon Sep 02 14:39:00 2002 +0300
@@ -375,6 +375,8 @@
 		t_strdup_printf(" BODY[%s] ", sect->section) :
 		t_strdup_printf(" BODY[%s]<%lu> ", sect->section,
 				(unsigned long) sect->skip);
+	if (ctx->first) str++; else ctx->first = FALSE;
+
 	(void)io_buffer_send(ctx->outbuf, str, strlen(str));
 
 	if (*sect->section == '\0') {
--- a/src/lib-storage/index/index-fetch.c	Mon Sep 02 09:23:01 2002 +0300
+++ b/src/lib-storage/index/index-fetch.c	Mon Sep 02 14:39:00 2002 +0300
@@ -100,6 +100,7 @@
 	str = t_strdup_printf(" RFC822 {%lu}\r\n",
 			      (unsigned long) (hdr_size.virtual_size +
 					       body_size.virtual_size));
+	if (ctx->first) str++; else ctx->first = FALSE;
 	(void)io_buffer_send(ctx->outbuf, str, strlen(str));
 
 	body_size.physical_size += hdr_size.physical_size;
@@ -121,6 +122,7 @@
 
 	str = t_strdup_printf(" RFC822.HEADER {%lu}\r\n",
 			      (unsigned long) hdr_size.virtual_size);
+	if (ctx->first) str++; else ctx->first = FALSE;
 	(void)io_buffer_send(ctx->outbuf, str, strlen(str));
 	(void)message_send(ctx->outbuf, inbuf, &hdr_size, 0, (uoff_t)-1);
 }
@@ -139,6 +141,7 @@
 
 	str = t_strdup_printf(" RFC822.TEXT {%lu}\r\n",
 			      (unsigned long) body_size.virtual_size);
+	if (ctx->first) str++; else ctx->first = FALSE;
 	(void)io_buffer_send(ctx->outbuf, str, strlen(str));
 	(void)message_send(ctx->outbuf, inbuf, &body_size, 0, (uoff_t)-1);
 }
@@ -238,6 +241,7 @@
 		(void)io_buffer_send(ctx->outbuf, ctx->str->str+1,
 				     ctx->str->len-1);
 	}
+	ctx->first = ctx->str->len == 0;
 
 	/* large data */
 	if (ctx->fetch_data->rfc822)
--- a/src/lib-storage/index/index-fetch.h	Mon Sep 02 09:23:01 2002 +0300
+++ b/src/lib-storage/index/index-fetch.h	Mon Sep 02 14:39:00 2002 +0300
@@ -11,6 +11,7 @@
 	IOBuffer *outbuf;
 	TempString *str;
 	int update_seen;
+	int first;
 } FetchContext;
 
 ImapCacheField index_fetch_body_get_cache(const char *section);