diff --git a/Cargo.toml b/Cargo.toml index a160c869..c06e0130 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,7 +16,7 @@ flate2 = "0.2" time = "0.1" podio = "0.1" msdos_time = "0.1" -bzip2 = { version = "0.2", optional = true } +bzip2 = { version = "0.3", optional = true } [features] default = ["bzip2"] diff --git a/src/read.rs b/src/read.rs index ecd265d4..9d676965 100644 --- a/src/read.rs +++ b/src/read.rs @@ -15,7 +15,7 @@ use cp437::FromCp437; use msdos_time::{TmMsDosExt, MsDosDateTime}; #[cfg(feature = "bzip2")] -use bzip2::reader::BzDecompressor; +use bzip2::read::BzDecoder; /// Wrapper for reading the contents of a ZIP file. /// @@ -54,7 +54,7 @@ enum ZipFileReader<'a> { Stored(Crc32Reader>), Deflated(Crc32Reader>>), #[cfg(feature = "bzip2")] - Bzip2(Crc32Reader>>), + Bzip2(Crc32Reader>>), } /// A struct for reading a zip file @@ -153,7 +153,7 @@ impl ZipArchive #[cfg(feature = "bzip2")] CompressionMethod::Bzip2 => { - let bzip2_reader = BzDecompressor::new(limit_reader); + let bzip2_reader = BzDecoder::new(limit_reader); ZipFileReader::Bzip2(Crc32Reader::new( bzip2_reader, data.crc32)) diff --git a/src/write.rs b/src/write.rs index f96d24b1..73efe9ea 100644 --- a/src/write.rs +++ b/src/write.rs @@ -20,7 +20,7 @@ use msdos_time::TmMsDosExt; #[cfg(feature = "bzip2")] use bzip2; #[cfg(feature = "bzip2")] -use bzip2::writer::BzCompressor; +use bzip2::write::BzEncoder; enum GenericZipWriter { @@ -28,7 +28,7 @@ enum GenericZipWriter Storer(W), Deflater(DeflateEncoder), #[cfg(feature = "bzip2")] - Bzip2(BzCompressor), + Bzip2(BzEncoder), } /// Generator for ZIP files. @@ -252,7 +252,7 @@ impl GenericZipWriter GenericZipWriter::Storer(w) => w, GenericZipWriter::Deflater(w) => try!(w.finish()), #[cfg(feature = "bzip2")] - GenericZipWriter::Bzip2(w) => match w.into_inner() { Ok(r) => r, Err((_, err)) => try!(Err(err)) }, + GenericZipWriter::Bzip2(w) => try!(w.finish()), GenericZipWriter::Closed => try!(Err(io::Error::new(io::ErrorKind::BrokenPipe, "ZipWriter was already closed"))), }; @@ -261,7 +261,7 @@ impl GenericZipWriter CompressionMethod::Stored => GenericZipWriter::Storer(bare), CompressionMethod::Deflated => GenericZipWriter::Deflater(bare.deflate_encode(flate2::Compression::Default)), #[cfg(feature = "bzip2")] - CompressionMethod::Bzip2 => GenericZipWriter::Bzip2(BzCompressor::new(bare, bzip2::Compress::Default)), + CompressionMethod::Bzip2 => GenericZipWriter::Bzip2(BzEncoder::new(bare, bzip2::Compression::Default)), CompressionMethod::Unsupported(..) => return Err(ZipError::UnsupportedArchive("Unsupported compression")), };