File tree Expand file tree Collapse file tree 3 files changed +14
-11
lines changed
Expand file tree Collapse file tree 3 files changed +14
-11
lines changed Original file line number Diff line number Diff line change 11use std:: {
2- env:: { self , VarError } ,
3- io,
2+ env, io,
43 path:: { Path , PathBuf } ,
54} ;
65
76use anyhow:: { Context , Result } ;
87use serde:: { Deserialize , Serialize } ;
98
9+ use crate :: utils:: env:: get_var_if_exists;
10+
1011#[ derive( Deserialize , Serialize , Default ) ]
1112pub struct Configuration {
1213 pub execute_pre : Option < PathBuf > ,
1314}
1415
15- fn get_var_if_exists ( name : & str ) -> Option < Result < String > > {
16- match env:: var ( name) {
17- Ok ( val) => Some ( Ok ( val) ) ,
18- Err ( VarError :: NotPresent ) => None ,
19- Err ( e) => Some ( Err ( e. into ( ) ) ) ,
20- }
21- }
22-
2316fn get_user_config_path ( ) -> Result < PathBuf > {
2417 let mut path = get_var_if_exists ( "XDG_CONFIG_DIR" ) . map_or_else (
2518 || {
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ use muvm::guest::server::server_main;
1717use muvm:: guest:: socket:: setup_socket_proxy;
1818use muvm:: guest:: user:: setup_user;
1919use muvm:: guest:: x11:: setup_x11_forwarding;
20+ use muvm:: utils:: env:: get_var_if_exists;
2021use muvm:: utils:: launch:: { Emulator , GuestConfiguration , PULSE_SOCKET } ;
2122use nix:: unistd:: { Gid , Uid } ;
2223use rustix:: process:: { getrlimit, setrlimit, Resource } ;
@@ -82,7 +83,8 @@ fn main() -> Result<ExitCode> {
8283 None => "/usr/lib/systemd/systemd-udevd" ,
8384 } ;
8485 Command :: new (
85- env:: var ( "MUVM_UDEVD_PATH" ) . unwrap_or_else ( |_| DEFAULT_UDEVD_PATH . parse ( ) . unwrap ( ) ) ,
86+ get_var_if_exists ( "MUVM_UDEVD_PATH" )
87+ . unwrap_or_else ( || Ok ( DEFAULT_UDEVD_PATH . to_owned ( ) ) ) ?,
8688 )
8789 . spawn ( )
8890 . context ( "Failed to execute `systemd-udevd` as a child process" ) ?;
Original file line number Diff line number Diff line change 3232
3333 Ok ( None )
3434}
35+
36+ pub fn get_var_if_exists ( name : & str ) -> Option < Result < String > > {
37+ match env:: var ( name) {
38+ Ok ( val) => Some ( Ok ( val) ) ,
39+ Err ( env:: VarError :: NotPresent ) => None ,
40+ Err ( e) => Some ( Err ( e. into ( ) ) ) ,
41+ }
42+ }
You can’t perform that action at this time.
0 commit comments