On Apr 8 15:43, Jon TURNEY wrote: > Returning EIO (a small positive integer) as the result of > archive_tar_file::read() > on an error isn't a good idea, it's indistinguishable from successfully > reading > a small number of bytes. > > This causes io_stream::copy() to spin forever if it's reading from an archive > stream > which terminates unexpectedly early, which can happen on an decompression > error. > > So, return -1 and set lasterr instead. This matches the behaviour of POSIX > read(), so shouldn't surprise anyone :-) > > Make the same change for archive_tar_file::write(), archive_tar_file::tell() > and archive_tar_file::peek() for consistency > > 2011-04-08 Jon TURNEY <...> > > * archive_tar_file.cc (read, write, peek, seek): Consistently return -1 > and set lasterr on an error.
Please commit. Thanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat
