diff --git a/Cargo.lock b/Cargo.lock index 1105e4951e..9ec341303e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,15 +4,9 @@ version = 3 [[package]] name = "bitflags" -version = "1.3.2" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "init" @@ -23,26 +17,26 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.149" +version = "0.2.159" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" [[package]] name = "libredox" -version = "0.0.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.4.1", + "bitflags", "libc", "redox_syscall", ] [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ - "bitflags 1.3.2", + "bitflags", ] diff --git a/Cargo.toml b/Cargo.toml index a71a34ff22..1c2eee4630 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,4 +5,4 @@ edition = "2021" license = "MIT" [dependencies] -libredox = "0.0.2" +libredox = "0.1" diff --git a/src/main.rs b/src/main.rs index 5b557c470a..8b8eef158f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,7 +2,7 @@ use std::collections::BTreeMap; use std::env; use std::ffi::CString; use std::fs::{read_dir, File}; -use std::io::{BufRead, BufReader, Error, Result, Write}; +use std::io::{BufRead, BufReader, Result, Write}; use std::path::Path; use std::process::Command; @@ -29,22 +29,13 @@ fn set_default_scheme(scheme: &str) -> std::result::Result<(), OsError> { } fn switch_stdio(stdio: &str) -> Result<()> { - let stdin = libredox::Fd::open(stdio, O_RDONLY, 0) - .map_err(|err| Error::from_raw_os_error(err.errno))?; - let stdout = libredox::Fd::open(stdio, O_WRONLY, 0) - .map_err(|err| Error::from_raw_os_error(err.errno))?; - let stderr = libredox::Fd::open(stdio, O_WRONLY, 0) - .map_err(|err| Error::from_raw_os_error(err.errno))?; + let stdin = libredox::Fd::open(stdio, O_RDONLY, 0)?; + let stdout = libredox::Fd::open(stdio, O_WRONLY, 0)?; + let stderr = libredox::Fd::open(stdio, O_WRONLY, 0)?; - stdin - .dup2(0, &[]) - .map_err(|err| Error::from_raw_os_error(err.errno))?; - stdout - .dup2(1, &[]) - .map_err(|err| Error::from_raw_os_error(err.errno))?; - stderr - .dup2(2, &[]) - .map_err(|err| Error::from_raw_os_error(err.errno))?; + stdin.dup2(0, &[])?; + stdout.dup2(1, &[])?; + stderr.dup2(2, &[])?; Ok(()) }