diff options
| author | Oliver Schneider <git1984941651981@oli-obk.de> | 2015-03-20 08:19:13 +0100 |
|---|---|---|
| committer | Oliver Schneider <git1984941651981@oli-obk.de> | 2015-03-20 08:19:13 +0100 |
| commit | b4a1e59146c70a12d8c4c1f85c08a2ecf9fb3d2e (patch) | |
| tree | 7b986ee36f81d3566200a9acda28c20b5921e032 /src/libterm | |
| parent | 0084f92302b3352372bfd14ebbf083bae695d16e (diff) | |
| download | rust-b4a1e59146c70a12d8c4c1f85c08a2ecf9fb3d2e.tar.gz rust-b4a1e59146c70a12d8c4c1f85c08a2ecf9fb3d2e.zip | |
don't use Result::ok just to be able to use unwrap/unwrap_or
Diffstat (limited to 'src/libterm')
| -rw-r--r-- | src/libterm/terminfo/mod.rs | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/libterm/terminfo/mod.rs b/src/libterm/terminfo/mod.rs index 3c269cc485d..309320b52ff 100644 --- a/src/libterm/terminfo/mod.rs +++ b/src/libterm/terminfo/mod.rs @@ -181,21 +181,24 @@ impl<T: Write+Send+'static> TerminfoTerminal<T> { } }; - let entry = open(&term[..]); - if entry.is_err() { - if env::var("MSYSCON").ok().map_or(false, |s| { - "mintty.exe" == s - }) { - // msys terminal - return Some(box TerminfoTerminal {out: out, - ti: msys_terminfo(), - num_colors: 8} as Box<Terminal<T>+Send>); - } - debug!("error finding terminfo entry: {:?}", entry.err().unwrap()); - return None; - } + let mut file = match open(&term[..]) { + Ok(f) => f, + Err(err) => return match env::var("MSYSCON") { + Ok(ref val) if &val[..] == "mintty.exe" => { + // msys terminal + Some(box TerminfoTerminal{ + out: out, + ti: msys_terminfo(), + num_colors: 8, + } as Box<Terminal<T>+Send>) + }, + _ => { + debug!("error finding terminfo entry: {:?}", err); + None + }, + }, + }; - let mut file = entry.unwrap(); let ti = parse(&mut file, false); if ti.is_err() { debug!("error parsing terminfo entry: {:?}", ti.err().unwrap()); |
