changeset 425:a63ec8754d2e HEAD

imap_envelope_parse() wasn't working
author Timo Sirainen <tss@iki.fi>
date Mon, 14 Oct 2002 23:40:01 +0300
parents 9824d5df1843
children 951cb252e577
files src/lib-imap/imap-envelope.c
diffstat 1 files changed, 7 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-imap/imap-envelope.c	Mon Oct 14 23:36:51 2002 +0300
+++ b/src/lib-imap/imap-envelope.c	Mon Oct 14 23:40:01 2002 +0300
@@ -244,12 +244,14 @@
 	inbuf = i_buffer_create_from_data(data_stack_pool, envelope, len);
 	parser = imap_parser_create(inbuf, NULL, len);
 
-	ret = imap_parser_read_args(parser, field, 0, &args);
-	if (ret < 0)
+	(void)i_buffer_read(inbuf);
+	ret = imap_parser_read_args(parser, field+1, 0, &args);
+	if (ret > (int)field) {
+		value = imap_envelope_parse_arg(&args[field], field, envelope);
+	} else {
 		i_error("Error parsing IMAP envelope: %s", envelope);
-
-	value = ret < (int)field ? NULL :
-		imap_envelope_parse_arg(&args[field], field, envelope);
+		value = NULL;
+	}
 
 	imap_parser_destroy(parser);
 	i_buffer_unref(inbuf);