Mercurial > dovecot > original-hg > dovecot-1.2
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 {