From 9c5571183758a0c7c8c9731604f9d4766cae767b Mon Sep 17 00:00:00 2001 From: ryan-rsm-mckenzie Date: Wed, 24 Jan 2024 10:53:37 -0800 Subject: [PATCH] fix for paths on linux --- src/fo4/archive.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/fo4/archive.rs b/src/fo4/archive.rs index d3822b8..e1308f4 100644 --- a/src/fo4/archive.rs +++ b/src/fo4/archive.rs @@ -532,7 +532,7 @@ mod tests { Borrowed, }; use anyhow::Context as _; - use bstr::ByteSlice as _; + use bstr::{BString, ByteSlice as _}; use memmap2::Mmap; use std::{ fs, @@ -649,7 +649,15 @@ mod tests { let mappings: Vec<_> = keys .iter() .map(|key| { - let path: PathBuf = [root.as_os_str(), key.name().to_os_str_lossy().as_ref()] + let file_name: BString = key + .name() + .bytes() + .map(|x| match x { + b'\\' => b'/', + _ => x, + }) + .collect(); + let path: PathBuf = [root.as_os_str(), file_name.to_os_str_lossy().as_ref()] .into_iter() .collect(); let fd = fs::File::open(&path)