Mercurial > dovecot > original-hg > dovecot-1.2
diff src/lib-imap/imap-message-cache.c @ 22:a946ce1f09b7 HEAD
mbox fixes, not fully working yet but almost :)
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 24 Aug 2002 05:04:45 +0300 |
parents | 82b7de533f98 |
children | d493b9cc265e |
line wrap: on
line diff
--- a/src/lib-imap/imap-message-cache.c Fri Aug 23 19:21:36 2002 +0300 +++ b/src/lib-imap/imap-message-cache.c Sat Aug 24 05:04:45 2002 +0300 @@ -45,7 +45,7 @@ CachedMessage *open_msg; IOBuffer *open_inbuf; - size_t open_size, open_virtual_size; + off_t open_virtual_size; IOBuffer *(*inbuf_rewind)(IOBuffer *inbuf, void *context); void *context; @@ -292,8 +292,14 @@ message_get_header_size(cache->open_inbuf, msg->hdr_size); + i_assert((off_t)msg->hdr_size->physical_size < + cache->open_inbuf->size); + i_assert((off_t)msg->hdr_size->virtual_size < + cache->open_virtual_size); + msg->body_size->lines = 0; - msg->body_size->physical_size = cache->open_size - + msg->body_size->physical_size = + cache->open_inbuf->size - msg->hdr_size->physical_size; msg->body_size->virtual_size = cache->open_virtual_size - @@ -320,8 +326,8 @@ } void imap_msgcache_message(ImapMessageCache *cache, unsigned int uid, - ImapCacheField fields, size_t virtual_size, - size_t pv_headers_size, size_t pv_body_size, + ImapCacheField fields, off_t virtual_size, + off_t pv_headers_size, off_t pv_body_size, IOBuffer *inbuf, IOBuffer *(*inbuf_rewind)(IOBuffer *inbuf, void *context), @@ -335,8 +341,6 @@ cache->open_msg = msg; cache->open_inbuf = inbuf; - cache->open_size = cache->open_inbuf->stop_offset - - cache->open_inbuf->offset; cache->open_virtual_size = virtual_size; cache->inbuf_rewind = inbuf_rewind; @@ -369,7 +373,7 @@ } cache->open_msg = NULL; - cache->open_size = cache->open_virtual_size = 0; + cache->open_virtual_size = 0; } void imap_msgcache_set(ImapMessageCache *cache, unsigned int uid, @@ -538,7 +542,8 @@ if (virtual_skip == 0) { if (max_virtual_size < 0 && msg->body_size == NULL) { msg->body_size = p_new(msg->pool, MessageSize, 1); - msg->body_size->physical_size = cache->open_size - + msg->body_size->physical_size = + cache->open_inbuf->size - msg->hdr_size->physical_size; msg->body_size->virtual_size = cache->open_virtual_size -