[dovecot-cvs] dovecot/src/lib-mail istream-header-filter.c, 1.27,
1.28
cras at dovecot.org
cras at dovecot.org
Sun Jul 3 13:37:10 EEST 2005
Update of /var/lib/cvs/dovecot/src/lib-mail
In directory talvi:/tmp/cvs-serv29402
Modified Files:
istream-header-filter.c
Log Message:
If we seek back to beginning of headers, don't call callback again for
headers where it was already called for.
Index: istream-header-filter.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-mail/istream-header-filter.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- istream-header-filter.c 28 Jun 2005 00:07:56 -0000 1.27
+++ istream-header-filter.c 3 Jul 2005 10:37:07 -0000 1.28
@@ -29,6 +29,7 @@
unsigned int cur_line, parsed_lines;
unsigned int header_read:1;
+ unsigned int header_parsed:1;
unsigned int exclude:1;
unsigned int crlf:1;
unsigned int hide_body:1;
@@ -92,7 +93,7 @@
if (hdr->eoh) {
matched = TRUE;
- if (!mstream->header_read &&
+ if (!mstream->header_parsed &&
mstream->callback != NULL) {
mstream->callback(hdr, &matched,
mstream->context);
@@ -167,8 +168,9 @@
message_parse_header_deinit(mstream->hdr_ctx);
mstream->hdr_ctx = NULL;
- if (!mstream->header_read && mstream->callback != NULL)
+ if (!mstream->header_parsed && mstream->callback != NULL)
mstream->callback(NULL, &matched, mstream->context);
+ mstream->header_parsed = TRUE;
mstream->header_read = TRUE;
mstream->header_size.physical_size = mstream->input->v_offset;
@@ -261,7 +263,6 @@
i_stream_seek(mstream->input, mstream->start_offset);
mstream->skip_count = v_offset;
mstream->cur_line = 0;
- mstream->parsed_lines = 0;
mstream->header_read = FALSE;
} else {
/* body */
More information about the dovecot-cvs
mailing list