Hi, Thanks for the quick reply - it didn't work as is (caused the same error), here's what the strace looks like with your patch.
19:34:20.233363 read(12, "", 4096) = 0 19:34:20.233455 dup(12) = 11 19:34:20.233540 munmap(0xb7bd8000, 3600384) = 0 19:34:20.233909 close(12) = 0 19:34:20.233986 munmap(0xb7f62000, 4096) = 0 19:34:20.234088 fcntl64(11, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) 19:34:20.234169 fstat64(11, {st_mode=S_IFREG|0644, st_size=170988, ...}) = 0 19:34:20.234563 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f62000 19:34:20.234646 _llseek(11, 0, [170988], SEEK_CUR) = 0 19:34:20.234765 fstat64(12, 0xbfea37d0) = -1 EBADF (Bad file descriptor) 19:34:20.234986 write(2, "\1Efstat(maildir) failed: Bad fil"..., 45) = 45
I took a look at the code and the logic being different depending on HAVE_GZSEEK didn't seem right so I tried adding a "else" before the "#else" and recompiled and it's working now with the same bzip2 files that caused the problem previously.
I'm not sure if that's a fluke or a fix though :).
ChrisB.