Mercurial > dovecot > original-hg > dovecot-1.2
changeset 213:2a2ab4994b8a HEAD
cleanup
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 10 Sep 2002 06:18:34 +0300 |
parents | 4327b1266604 |
children | 05a1cf2761da |
files | src/lib-index/mbox/mbox-open.c |
diffstat | 1 files changed, 12 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mbox/mbox-open.c Tue Sep 10 06:06:46 2002 +0300 +++ b/src/lib-index/mbox/mbox-open.c Tue Sep 10 06:18:34 2002 +0300 @@ -72,16 +72,11 @@ } if (!failed) { - if (lseek(fd, (off_t)offset, SEEK_SET) == (off_t)offset) { - /* everything ok */ - return io_buffer_create_mmap(fd, default_pool, - MAIL_MMAP_BLOCK_SIZE, - stop_offset - offset); + if (lseek(fd, (off_t)offset, SEEK_SET) < 0) { + index_set_error(index, "lseek() failed with mbox file " + "%s: %m", index->mbox_path); + failed = TRUE; } - - - index_set_error(index, "lseek() failed with mbox file %s: %m", - index->mbox_path); } else { /* file has been updated, rescan it */ index->set_flags |= MAIL_INDEX_FLAG_FSCK; @@ -90,6 +85,12 @@ "unexpectedly, fscking", index->mbox_path); } - (void)close(fd); - return NULL; + if (failed) { + (void)close(fd); + return NULL; + } else { + return io_buffer_create_mmap(fd, default_pool, + MAIL_MMAP_BLOCK_SIZE, + stop_offset - offset); + } }