Bug fix: dir_end
was being set incorrectly
This commit is contained in:
parent
5e03f43f9a
commit
6338242154
1 changed files with 2 additions and 1 deletions
|
@ -482,12 +482,13 @@ impl<R: Read + Seek> ZipArchive<R> {
|
||||||
};
|
};
|
||||||
let mut files = Vec::with_capacity(file_capacity);
|
let mut files = Vec::with_capacity(file_capacity);
|
||||||
let mut names_map = HashMap::with_capacity(file_capacity);
|
let mut names_map = HashMap::with_capacity(file_capacity);
|
||||||
let dir_end = reader.seek(io::SeekFrom::Start(dir_info.directory_start))?;
|
reader.seek(io::SeekFrom::Start(dir_info.directory_start))?;
|
||||||
for _ in 0..dir_info.number_of_files {
|
for _ in 0..dir_info.number_of_files {
|
||||||
let file = central_header_to_zip_file(reader, dir_info.archive_offset)?;
|
let file = central_header_to_zip_file(reader, dir_info.archive_offset)?;
|
||||||
names_map.insert(file.file_name.clone(), files.len());
|
names_map.insert(file.file_name.clone(), files.len());
|
||||||
files.push(file);
|
files.push(file);
|
||||||
}
|
}
|
||||||
|
let dir_end = reader.seek(io::SeekFrom::Start(dir_info.directory_start))?;
|
||||||
if dir_info.disk_number != dir_info.disk_with_central_directory {
|
if dir_info.disk_number != dir_info.disk_with_central_directory {
|
||||||
unsupported_zip_error("Support for multi-disk files is not implemented")
|
unsupported_zip_error("Support for multi-disk files is not implemented")
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Reference in a new issue