changeset 76:8035cf09b913 HEAD

mbox fixes
author Timo Sirainen <tss@iki.fi>
date Wed, 28 Aug 2002 23:20:16 +0300
parents 7418fefb57a8
children 51b449a2a56b
files src/lib-index/mbox/mbox-append.c src/lib-index/mbox/mbox-sync.c
diffstat 2 files changed, 12 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-index/mbox/mbox-append.c	Wed Aug 28 22:25:16 2002 +0300
+++ b/src/lib-index/mbox/mbox-append.c	Wed Aug 28 23:20:16 2002 +0300
@@ -31,7 +31,7 @@
 	unsigned int i, size, startpos, vsize;
 
 	/* read until "[\r]\nFrom " is found */
-	startpos = 0; vsize = 0;
+	startpos = i = vsize = 0;
 	while (io_buffer_read_data(inbuf, &msg, &size, startpos) >= 0) {
 		for (i = startpos; i < size; i++) {
 			if (msg[i] == '\n') {
@@ -69,6 +69,16 @@
 		}
 	}
 
+	if (i == startpos && startpos > 0) {
+		/* end of file, remove the last [\r]\n */
+		if (msg[startpos-1] == '\n')
+			startpos--;
+		if (startpos > 0 && msg[startpos-1] == '\r')
+			startpos--;
+		else
+			vsize--;
+	}
+
 	io_buffer_skip(inbuf, startpos);
 	vsize += startpos;
 
--- a/src/lib-index/mbox/mbox-sync.c	Wed Aug 28 22:25:16 2002 +0300
+++ b/src/lib-index/mbox/mbox-sync.c	Wed Aug 28 23:20:16 2002 +0300
@@ -140,7 +140,7 @@
 	index->file_sync_stamp = st.st_mtime;
 
 	/* file has been modified. */
-	if (index->mbox_size > (uoff_t)st.st_size) {
+	if (index->mbox_size < (uoff_t)st.st_size) {
 		/* file was grown, hopefully just new mail */
 		return mbox_check_new_mail(index);
 	} else {