mirror of
https://github.com/lifegpc/msg-tool.git
synced 2026-07-08 01:31:53 +08:00
Escape space in dep file
This commit is contained in:
12
src/main.rs
12
src/main.rs
@@ -10,6 +10,10 @@ pub mod utils;
|
|||||||
use ext::path::PathBufExt;
|
use ext::path::PathBufExt;
|
||||||
use scripts::base::ArchiveContent;
|
use scripts::base::ArchiveContent;
|
||||||
|
|
||||||
|
fn escape_dep_string(s: &str) -> String {
|
||||||
|
s.replace("\\", "\\\\").replace(" ", "\\ ")
|
||||||
|
}
|
||||||
|
|
||||||
fn get_encoding(
|
fn get_encoding(
|
||||||
arg: &args::Arg,
|
arg: &args::Arg,
|
||||||
builder: &Box<dyn scripts::ScriptBuilder + Send + Sync>,
|
builder: &Box<dyn scripts::ScriptBuilder + Send + Sync>,
|
||||||
@@ -2609,10 +2613,10 @@ pub fn pack_archive_v2(
|
|||||||
.map_err(|e| anyhow::anyhow!("Failed to create dep file {}: {}", dep_file, e))?;
|
.map_err(|e| anyhow::anyhow!("Failed to create dep file {}: {}", dep_file, e))?;
|
||||||
let mut df = std::io::BufWriter::new(df);
|
let mut df = std::io::BufWriter::new(df);
|
||||||
use std::io::Write;
|
use std::io::Write;
|
||||||
write!(df, "{}:", output)
|
write!(df, "{}:", escape_dep_string(&output))
|
||||||
.map_err(|e| anyhow::anyhow!("Failed to write to dep file {}: {}", dep_file, e))?;
|
.map_err(|e| anyhow::anyhow!("Failed to write to dep file {}: {}", dep_file, e))?;
|
||||||
for f in &files {
|
for f in &files {
|
||||||
write!(df, " {}", f)
|
write!(df, " {}", escape_dep_string(f))
|
||||||
.map_err(|e| anyhow::anyhow!("Failed to write to dep file {}: {}", dep_file, e))?;
|
.map_err(|e| anyhow::anyhow!("Failed to write to dep file {}: {}", dep_file, e))?;
|
||||||
}
|
}
|
||||||
writeln!(df)
|
writeln!(df)
|
||||||
@@ -3304,9 +3308,9 @@ fn main() {
|
|||||||
let mut df = std::io::BufWriter::new(df);
|
let mut df = std::io::BufWriter::new(df);
|
||||||
use std::io::Write;
|
use std::io::Write;
|
||||||
for (fname, deps) in lock.iter() {
|
for (fname, deps) in lock.iter() {
|
||||||
write!(df, "{}:", fname).unwrap();
|
write!(df, "{}:", escape_dep_string(fname)).unwrap();
|
||||||
for d in deps {
|
for d in deps {
|
||||||
write!(df, " {}", d).unwrap();
|
write!(df, " {}", escape_dep_string(d)).unwrap();
|
||||||
}
|
}
|
||||||
writeln!(df).unwrap();
|
writeln!(df).unwrap();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user