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)