Skip to content

Commit f104ccd

Browse files
committed
[rust] Bug-fix: ensure driver file name in unzip logic
1 parent 388f530 commit f104ccd

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

rust/src/files.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ pub fn unzip(file: File, target: &Path, log: &Logger) -> Result<(), Box<dyn Erro
123123
continue;
124124
}
125125
let target_file_name = target.file_name().unwrap().to_str().unwrap();
126-
if file.name().ends_with(target_file_name) {
126+
if target_file_name.eq(get_raw_file_name(file.name())) {
127127
log.debug(format!(
128128
"File extracted to {} ({} bytes)",
129129
target.display(),
@@ -149,6 +149,15 @@ pub fn unzip(file: File, target: &Path, log: &Logger) -> Result<(), Box<dyn Erro
149149
Ok(())
150150
}
151151

152+
pub fn get_raw_file_name(file_name: &str) -> &str {
153+
let mut raw_file_name = file_name;
154+
let separator_index = file_name.rfind('/').unwrap_or_default();
155+
if separator_index != 0 {
156+
raw_file_name = &file_name[separator_index + 1..]
157+
}
158+
raw_file_name
159+
}
160+
152161
pub fn compose_cache_folder() -> PathBuf {
153162
if let Some(base_dirs) = BaseDirs::new() {
154163
return Path::new(base_dirs.home_dir())

0 commit comments

Comments
 (0)