# HG changeset patch # User Timo Sirainen # Date 1265491335 -7200 # Node ID b1597605c3ef2d77f523e3c44c771e26bfe56ac4 # Parent e9f4efacf69200eb8ec4b4b3551f6a2374a8aea1 mbox: raw mbox stream's stat() now returns mail size as stream size if it's known. diff -r e9f4efacf692 -r b1597605c3ef src/lib-storage/index/mbox/istream-raw-mbox.c --- a/src/lib-storage/index/mbox/istream-raw-mbox.c Sat Feb 06 23:22:04 2010 +0200 +++ b/src/lib-storage/index/mbox/istream-raw-mbox.c Sat Feb 06 23:22:15 2010 +0200 @@ -410,13 +410,16 @@ i_stream_raw_mbox_stat(struct istream_private *stream, bool exact) { const struct stat *st; + struct raw_mbox_istream *rstream = (struct raw_mbox_istream *)stream; st = i_stream_stat(stream->parent, exact); if (st == NULL) return NULL; stream->statbuf = *st; - stream->statbuf.st_size = -1; + stream->statbuf.st_size = + !exact && rstream->seeked && rstream->mail_size != (uoff_t)-1 ? + (off_t)rstream->mail_size : -1; return &stream->statbuf; }