changeset 8813:6431b25959c4 HEAD

imap: Code cleanup: Changed buffer to an array.
author Timo Sirainen <tss@iki.fi>
date Wed, 11 Mar 2009 16:11:55 -0400
parents 69a5c4798421
children eb71ec588694
files src/imap/imap-fetch-body.c src/imap/imap-fetch.c src/imap/imap-fetch.h
diffstat 3 files changed, 7 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/imap/imap-fetch-body.c	Wed Mar 11 16:04:01 2009 -0400
+++ b/src/imap/imap-fetch-body.c	Wed Mar 11 16:11:55 2009 -0400
@@ -655,8 +655,8 @@
 	}
 
 	for (arr = body->fields; *arr != NULL; arr++) {
-		char *hdr = p_strdup(ctx->cmd->pool, *arr);
-		buffer_append(ctx->all_headers_buf, &hdr, sizeof(hdr));
+		const char *hdr = p_strdup(ctx->cmd->pool, *arr);
+		array_append(&ctx->all_headers, &hdr, 1);
 	}
 
 	body->header_ctx = mailbox_header_lookup_init(ctx->box, body->fields);
--- a/src/imap/imap-fetch.c	Wed Mar 11 16:04:01 2009 -0400
+++ b/src/imap/imap-fetch.c	Wed Mar 11 16:11:55 2009 -0400
@@ -102,7 +102,7 @@
 	ctx->box = box;
 
 	ctx->cur_str = str_new(default_pool, 8192);
-	ctx->all_headers_buf = buffer_create_dynamic(cmd->pool, 128);
+	p_array_init(&ctx->all_headers, cmd->pool, 64);
 	p_array_init(&ctx->handlers, cmd->pool, 16);
 	p_array_init(&ctx->tmp_keywords, cmd->pool,
 		     client->keywords.announce_count + 8);
@@ -314,7 +314,6 @@
 
 int imap_fetch_begin(struct imap_fetch_context *ctx)
 {
-	const void *null = NULL;
 	const void *data;
 
 	if (ctx->send_vanished) {
@@ -333,12 +332,12 @@
 		}
 	}
 
-	if (buffer_get_used_size(ctx->all_headers_buf) != 0 &&
+	if (array_count(&ctx->all_headers) > 0 &&
 	    ((ctx->fetch_data & (MAIL_FETCH_STREAM_HEADER |
 				 MAIL_FETCH_STREAM_BODY)) == 0)) {
-		buffer_append(ctx->all_headers_buf, &null, sizeof(null));
+		(void)array_append_space(&ctx->all_headers);
 
-		data = buffer_get_data(ctx->all_headers_buf, NULL);
+		data = array_idx(&ctx->all_headers, 0);
 		ctx->all_headers_ctx =
 			mailbox_header_lookup_init(ctx->box, data);
 	}
--- a/src/imap/imap-fetch.h	Wed Mar 11 16:04:01 2009 -0400
+++ b/src/imap/imap-fetch.h	Wed Mar 11 16:11:55 2009 -0400
@@ -38,7 +38,7 @@
 	struct mail *mail;
 
 	enum mail_fetch_field fetch_data;
-	buffer_t *all_headers_buf;
+	ARRAY_TYPE(const_string) all_headers;
         struct mailbox_header_lookup_ctx *all_headers_ctx;
 
 	ARRAY_DEFINE(handlers, struct imap_fetch_context_handler);