From: Timo Sirainen Date: Sat, 6 Feb 2010 21:22:15 +0000 (+0200) Subject: mbox: raw mbox stream's stat() now returns mail size as stream size if it's known. X-Git-Tag: 2.0.beta3~147 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0f198b7819f58a9568370377cfed760470aab736;p=thirdparty%2Fdovecot%2Fcore.git mbox: raw mbox stream's stat() now returns mail size as stream size if it's known. --HG-- branch : HEAD --- diff --git a/src/lib-storage/index/mbox/istream-raw-mbox.c b/src/lib-storage/index/mbox/istream-raw-mbox.c index 97fce1f02c..c4eb57de15 100644 --- a/src/lib-storage/index/mbox/istream-raw-mbox.c +++ b/src/lib-storage/index/mbox/istream-raw-mbox.c @@ -410,13 +410,16 @@ static const struct stat * 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; }