if (st == NULL)
return NULL;
- if (zstream->eof_offset == (uoff_t)-1 && !exact)
+ /* when exact=FALSE always return the parent stat's size, even if we
+ know the exact value. this is necessary because otherwise e.g. mbox
+ code can see two different values and think that a compressed mbox
+ file keeps changing. */
+ if (!exact)
return st;
stream->statbuf = *st;
if (st == NULL)
return NULL;
- if (zstream->eof_offset == (uoff_t)-1 && !exact)
+ /* when exact=FALSE always return the parent stat's size, even if we
+ know the exact value. this is necessary because otherwise e.g. mbox
+ code can see two different values and think that a compressed mbox
+ file keeps changing. */
+ if (!exact)
return st;
stream->statbuf = *st;