Skip to content

Commit 7a4e2a8

Browse files
committed
Fix now-unsafe environment modification
1 parent 9f71c04 commit 7a4e2a8

File tree

1 file changed

+22
-12
lines changed

1 file changed

+22
-12
lines changed

src/renutil.rs

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use crate::version::Version;
2-
use anyhow::anyhow;
32
use anyhow::Result;
3+
use anyhow::anyhow;
44
use bzip2::read::BzDecoder;
5-
use lol_html::{element, HtmlRewriter, Settings};
5+
use lol_html::{HtmlRewriter, Settings, element};
66
use std::env;
77
use std::io::BufRead;
88
use std::io::BufReader;
@@ -397,7 +397,7 @@ pub async fn launch(
397397
Ok(val) => Some(val),
398398
Err(_) => None,
399399
};
400-
std::env::set_var("RENPY_LOG_TO_STDOUT", "1");
400+
unsafe { std::env::set_var("RENPY_LOG_TO_STDOUT", "1") };
401401

402402
let mut cmd = Command::new(python);
403403

@@ -414,8 +414,10 @@ pub async fn launch(
414414
};
415415

416416
if headless {
417-
std::env::set_var("SDL_AUDIODRIVER", "dummy");
418-
std::env::set_var("SDL_VIDEODRIVER", "dummy");
417+
unsafe {
418+
std::env::set_var("SDL_AUDIODRIVER", "dummy");
419+
std::env::set_var("SDL_VIDEODRIVER", "dummy");
420+
};
419421
}
420422

421423
let mut child = cmd.spawn()?;
@@ -462,9 +464,11 @@ pub async fn launch(
462464
);
463465
}
464466

465-
match rpy_log_val_orig {
466-
Some(val) => std::env::set_var("RENPY_LOG_TO_STDOUT", val),
467-
None => std::env::remove_var("RENPY_LOG_TO_STDOUT"),
467+
unsafe {
468+
match rpy_log_val_orig {
469+
Some(val) => std::env::set_var("RENPY_LOG_TO_STDOUT", val),
470+
None => std::env::remove_var("RENPY_LOG_TO_STDOUT"),
471+
}
468472
}
469473

470474
let out_stdout = result_stdout.lock().unwrap().join("\n");
@@ -658,18 +662,24 @@ pub async fn install(
658662
if !status.success() {
659663
match status.code() {
660664
Some(code) => {
661-
println!("Unable to generate Android keystore: Exit code {code}\nCommand: {cmd:?}\nWriting default keystore.");
665+
println!(
666+
"Unable to generate Android keystore: Exit code {code}\nCommand: {cmd:?}\nWriting default keystore."
667+
);
662668
write_default_keystore(android_keystore)?;
663669
}
664670
None => {
665-
println!("Unable to generate Android keystore: Terminated by signal\nCommand: {cmd:?}\nWriting default keystore.");
671+
println!(
672+
"Unable to generate Android keystore: Terminated by signal\nCommand: {cmd:?}\nWriting default keystore."
673+
);
666674
write_default_keystore(android_keystore)?;
667675
}
668676
}
669677
};
670678
}
671679
Err(e) => {
672-
println!("Unable to generate Android keystore: {e}\nCommand: {cmd:?}\nWriting default keystore.");
680+
println!(
681+
"Unable to generate Android keystore: {e}\nCommand: {cmd:?}\nWriting default keystore."
682+
);
673683
write_default_keystore(android_keystore)?;
674684
}
675685
};
@@ -704,7 +714,7 @@ pub async fn install(
704714
std::os::unix::fs::symlink(base_path.join("renpy"), base_path.join("rapt/renpy"))?;
705715
}
706716

707-
env::set_var("RAPT_NO_TERMS", "1");
717+
unsafe { env::set_var("RAPT_NO_TERMS", "1") };
708718

709719
let mut cmd = Command::new(&python);
710720
cmd.args(["-EO", "android.py", "installsdk"]);

0 commit comments

Comments
 (0)