Bug#440943: libcompress-zlib-perl: Documentation and/or API inconsistencies
Magnus Holmgren
holmgren at lysator.liu.se
Wed Sep 5 16:16:17 UTC 2007
Package: libcompress-zlib-perl
Version: 2.005-3
Severity: important
Tags: upstream
Compress::Zlib(3pm):
$gz->gzclose
Closes the compressed file. Any pending data is flushed to
the file before it is closed.
Returns 1 on success, 0 on failure.
The actual code:
sub Compress::Zlib::gzFile::gzclose
{
my $self = shift ;
my $gz = $self->[0] ;
my $status = $gz->close() ;
_save_gzerr($gz);
return ! $status ;
}
IO::Compress::Gzip(3pm):
close
$z->close() ;
close $z ;
Returns true on success, otherwise 0.
Compress::Zlib::gzFile::gzclose inverts the result from the underlying
call, thus it returns 0 on success, 1 on failure. Contrary to the documentation.
On the other hand, Compress::Zlib::gzFile::gzflush() does indeed
return 1 on success and 0 on failure, which is the opposite of what
versions before 2.0 did, thus potentially breaking many applications.
Neither README nor changelog documents the change.
I haven't checked all subroutines, but gzwrite() and gzread() seem to
work the same.
--
Magnus Holmgren holmgren at lysator.liu.se
More information about the pkg-perl-maintainers
mailing list