diff options
| author | Linus Färnstrand <linus@mullvad.net> | 2017-04-05 15:45:55 +0200 |
|---|---|---|
| committer | Linus Färnstrand <linus@mullvad.net> | 2017-04-05 15:45:55 +0200 |
| commit | 1396ca198ab5216beadd4f267fbf5dc176b2753a (patch) | |
| tree | 8d60fdb0f21bf4251b52d26899db6a77c83c5682 /talpid_cli | |
| parent | a13391b0d8b8484b33039a8c19097a3f4c55a065 (diff) | |
| download | mullvadvpn-1396ca198ab5216beadd4f267fbf5dc176b2753a.tar.xz mullvadvpn-1396ca198ab5216beadd4f267fbf5dc176b2753a.zip | |
Simplified errors in talpid_cli
Diffstat (limited to 'talpid_cli')
| -rw-r--r-- | talpid_cli/src/main.rs | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/talpid_cli/src/main.rs b/talpid_cli/src/main.rs index 2e5e4d4397..e07a8126a7 100644 --- a/talpid_cli/src/main.rs +++ b/talpid_cli/src/main.rs @@ -10,27 +10,18 @@ extern crate log; extern crate env_logger; use std::io::{self, Read, Write}; +use std::result::Result as StdResult; use std::sync::mpsc::{self, Receiver}; use std::thread; -use talpid_core::process::openvpn::{OpenVpnCommand, OpenVpnEvent, OpenVpnMonitor}; +use talpid_core::process::openvpn::{self, OpenVpnCommand, OpenVpnEvent, OpenVpnMonitor}; mod cli; use cli::Args; -error_chain! { - errors { - InitLoggingFailed { - description("Failed to bootstrap logging system") - } - } - links { - Monitor(talpid_core::process::openvpn::Error, talpid_core::process::openvpn::ErrorKind); - } -} - +error_chain!{} quick_main!(run); @@ -43,7 +34,7 @@ fn run() -> Result<()> { } pub fn init_logger() -> Result<()> { - env_logger::init().chain_err(|| ErrorKind::InitLoggingFailed) + env_logger::init().chain_err(|| "Failed to bootstrap logging system") } fn create_openvpn_command(args: &Args) -> OpenVpnCommand { @@ -75,15 +66,16 @@ fn main_loop(mut monitor: OpenVpnMonitor) -> Result<()> { } } -fn start_monitor(monitor: &mut OpenVpnMonitor) -> Result<Receiver<OpenVpnEvent>> { +fn start_monitor(monitor: &mut OpenVpnMonitor) + -> StdResult<Receiver<OpenVpnEvent>, openvpn::Error> { let (tx, rx) = mpsc::channel(); let callback = move |clean| tx.send(clean).unwrap(); - Ok(monitor.start(callback) + monitor.start(callback) .map(|(stdout, stderr)| { stdout.map(|stream| pass_io(stream, io::stdout())); stderr.map(|stream| pass_io(stream, io::stderr())); rx - })?) + }) } fn pass_io<I, O>(mut input: I, mut output: O) |
