[dovecot-cvs] dovecot/src/lib-storage mail-save.c,1.11,1.12

cras at dovecot.org cras at dovecot.org
Sun Aug 22 06:20:01 EEST 2004


Update of /home/cvs/dovecot/src/lib-storage
In directory talvi:/tmp/cvs-serv28081/lib-storage

Modified Files:
	mail-save.c 
Log Message:
message_parse_header_next() can now return "need more data" with nonblocking
input streams.



Index: mail-save.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/mail-save.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- mail-save.c	31 Jul 2004 00:33:53 -0000	1.11
+++ mail-save.c	22 Aug 2004 03:19:59 -0000	1.12
@@ -94,10 +94,10 @@
 {
 	struct message_header_parser_ctx *hdr_ctx;
 	struct message_header_line *hdr;
-	int last_newline = TRUE, ret = 0;
+	int last_newline = TRUE, hdr_ret, ret = 0;
 
 	hdr_ctx = message_parse_header_init(input, NULL, FALSE);
-	while ((hdr = message_parse_header_next(hdr_ctx)) != NULL) {
+	while ((hdr_ret = message_parse_header_next(hdr_ctx, &hdr)) > 0) {
 		ret = header_callback(hdr->name, write_func, context);
 		if (ret <= 0) {
 			if (ret < 0)
@@ -120,6 +120,7 @@
 			last_newline = TRUE;
 		}
 	}
+	i_assert(hdr_ret != 0);
 
 	if (ret >= 0) {
 		if (!last_newline) {



More information about the dovecot-cvs mailing list