Skip to content

Commit

Permalink
Merge pull request ouch-org#433 from ouch-org/zip-ignore-archives-wit…
Browse files Browse the repository at this point in the history
…hout-modification-time

fix: handle Zip when modified times are missing
  • Loading branch information
marcospb19 committed Jun 4, 2023
2 parents a3e1eb4 + 20f3839 commit f3c888b
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions src/archive/zip.rs
Original file line number Diff line number Diff line change
Expand Up @@ -261,14 +261,14 @@ fn get_last_modified_time(file: &fs::File) -> DateTime {
}

fn set_last_modified_time(zip_file: &ZipFile, path: &Path) -> crate::Result<()> {
let modification_time_in_seconds = zip_file
.last_modified()
.to_time()
.expect("Zip archive contains a file with broken 'last modified time'")
.unix_timestamp();
let modification_time = zip_file.last_modified().to_time();

let Ok(time_in_seconds) = modification_time else {
return Ok(());
};

// Zip does not support nanoseconds, so we can assume zero here
let modification_time = FileTime::from_unix_time(modification_time_in_seconds, 0);
let modification_time = FileTime::from_unix_time(time_in_seconds.unix_timestamp(), 0);

set_file_mtime(path, modification_time)?;

Expand Down

0 comments on commit f3c888b

Please sign in to comment.