Mercurial > dovecot > original-hg > dovecot-1.2
changeset 3941:08a302d3e525 HEAD
Boolean changes broke istream_raw_mbox_is_valid_from() when it hit
unexpected EOF. So broken Content-Length headers at the end of files gave
"file size unexpectedly shrinked in mbox" errors.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 26 Jan 2006 22:42:49 +0200 |
parents | 1357dd2c5b02 |
children | a490e6657329 |
files | src/lib-storage/index/mbox/istream-raw-mbox.c |
diffstat | 1 files changed, 5 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/mbox/istream-raw-mbox.c Thu Jan 26 22:10:22 2006 +0200 +++ b/src/lib-storage/index/mbox/istream-raw-mbox.c Thu Jan 26 22:42:49 2006 +0200 @@ -340,7 +340,7 @@ input->real_stream->abs_start_offset); } -static bool istream_raw_mbox_is_valid_from(struct raw_mbox_istream *rstream) +static int istream_raw_mbox_is_valid_from(struct raw_mbox_istream *rstream) { const unsigned char *data; size_t size; @@ -354,7 +354,7 @@ if ((size == 1 && data[0] == '\n') || (size == 2 && data[0] == '\r' && data[1] == '\n')) { /* EOF */ - return TRUE; + return 1; } if (size > 31 && memcmp(data, "\nFrom ", 6) == 0) { @@ -364,7 +364,7 @@ data += 7; size -= 7; } else { - return FALSE; + return 0; } while (memchr(data, '\n', size) == NULL) { @@ -373,12 +373,12 @@ } if (mbox_from_parse(data, size, &received_time, &sender) < 0) - return FALSE; + return 0; rstream->next_received_time = received_time; i_free(rstream->next_sender); rstream->next_sender = sender; - return TRUE; + return 1; } uoff_t istream_raw_mbox_get_start_offset(struct istream *stream)