diff -up Archive-Zip-1.30/lib/Archive/Zip/Member.pm.bug Archive-Zip-1.30/lib/Archive/Zip/Member.pm --- Archive-Zip-1.30/lib/Archive/Zip/Member.pm.bug 2009-06-30 13:51:10.000000000 +0200 +++ Archive-Zip-1.30/lib/Archive/Zip/Member.pm 2012-03-19 13:13:11.028294275 +0100 @@ -159,13 +159,13 @@ sub bitFlag { # Set General Purpose Bit Flags according to the desiredCompressionLevel setting if ( $self->desiredCompressionLevel == 1 || $self->desiredCompressionLevel == 2 ) { - $self->{'bitFlag'} = DEFLATING_COMPRESSION_FAST; + $self->{'bitFlag'} |= DEFLATING_COMPRESSION_FAST; } elsif ( $self->desiredCompressionLevel == 3 || $self->desiredCompressionLevel == 4 || $self->desiredCompressionLevel == 5 || $self->desiredCompressionLevel == 6 || $self->desiredCompressionLevel == 7 ) { - $self->{'bitFlag'} = DEFLATING_COMPRESSION_NORMAL; + $self->{'bitFlag'} |= DEFLATING_COMPRESSION_NORMAL; } elsif ( $self->desiredCompressionLevel == 8 || $self->desiredCompressionLevel == 9 ) { - $self->{'bitFlag'} = DEFLATING_COMPRESSION_MAXIMUM; + $self->{'bitFlag'} |= DEFLATING_COMPRESSION_MAXIMUM; } $self->{'bitFlag'}; }