diff options
| author | Hristo Venev <hristo@venev.name> | 2019-09-28 18:20:33 +0000 | 
|---|---|---|
| committer | Hristo Venev <hristo@venev.name> | 2019-09-29 16:11:35 +0300 | 
| commit | 56d37f135536c7d17ab98c6671094925dee64a5e (patch) | |
| tree | 652b972cef0c1700b4c8ee457afd7b79861f1672 | |
| parent | 8e6318f29eb022126e82e0c084262c77d9ee3300 (diff) | |
I don't like `if let` that much.
| -rw-r--r-- | src/manager/builder.rs | 8 | ||||
| -rw-r--r-- | src/manager/mod.rs | 20 | ||||
| -rw-r--r-- | src/manager/updater.rs | 24 | ||||
| -rw-r--r-- | src/model/ip.rs | 14 | 
4 files changed, 25 insertions, 41 deletions
| diff --git a/src/manager/builder.rs b/src/manager/builder.rs index e5fe2da..a5f04f2 100644 --- a/src/manager/builder.rs +++ b/src/manager/builder.rs @@ -162,11 +162,9 @@ fn find_psk<'a>(      src: &'a Source,      p: &proto::Peer,  ) -> Result<Option<&'a model::Key>, Error> { -    let want = gc.peers.get(&p.public_key); -    let want = if let Some(v) = want { -        v -    } else { -        return Ok(None); +    let want = match gc.peers.get(&p.public_key) { +        Some(v) => v, +        None => return Ok(None),      };      if let Some(ref want_src) = &want.source { diff --git a/src/manager/mod.rs b/src/manager/mod.rs index 78d579f..aa8b792 100644 --- a/src/manager/mod.rs +++ b/src/manager/mod.rs @@ -95,20 +95,15 @@ impl Manager {      }      fn state_path(&self) -> Option<PathBuf> { -        let mut path = if let Some(ref path) = self.state_directory { -            path.clone() -        } else { -            return None; -        }; +        let mut path = self.state_directory.as_ref()?.clone();          path.push("state.json");          Some(path)      }      fn current_load(&mut self) -> bool { -        let path = if let Some(path) = self.state_path() { -            path -        } else { -            return false; +        let path = match self.state_path() { +            Some(v) => v, +            None => return false,          };          let data = match load_file(&path) { @@ -136,10 +131,9 @@ impl Manager {      }      fn current_update(&mut self, c: &model::Config) { -        let path = if let Some(path) = self.state_path() { -            path -        } else { -            return; +        let path = match self.state_path() { +            Some(v) => v, +            None => return,          };          let data = serde_json::to_vec(c).unwrap(); diff --git a/src/manager/updater.rs b/src/manager/updater.rs index 0de675c..14d55fc 100644 --- a/src/manager/updater.rs +++ b/src/manager/updater.rs @@ -19,20 +19,15 @@ impl Updater {      }      fn cache_path(&self, s: &Source) -> Option<PathBuf> { -        if let Some(ref dir) = self.config.cache_directory { -            let mut p = dir.clone(); -            p.push(&s.name); -            Some(p) -        } else { -            None -        } +        let mut p = self.config.cache_directory.as_ref()?.clone(); +        p.push(&s.name); +        Some(p)      }      fn cache_update(&self, src: &Source) { -        let path = if let Some(path) = self.cache_path(src) { -            path -        } else { -            return; +        let path = match self.cache_path(src) { +            Some(v) => v, +            None => return,          };          let data = serde_json::to_vec(&src.data).unwrap(); @@ -45,10 +40,9 @@ impl Updater {      }      pub fn cache_load(&self, src: &mut Source) -> bool { -        let path = if let Some(path) = self.cache_path(src) { -            path -        } else { -            return false; +        let path = match  self.cache_path(src) { +            Some(v) => v, +            None => return false,          };          let data = match load_file(&path) { diff --git a/src/model/ip.rs b/src/model/ip.rs index c20464f..490dada 100644 --- a/src/model/ip.rs +++ b/src/model/ip.rs @@ -159,10 +159,9 @@ macro_rules! per_proto {              }              pub fn insert(&mut self, mut net: $nett) { -                let mut i = if let Err(i) = self.nets.binary_search(&net) { -                    i -                } else { -                    return; +                let mut i = match self.nets.binary_search(&net) { +                    Err(v) => v, +                    Ok(_) => return,                  };                  let mut j = i;                  if i != 0 && self.nets[i - 1].contains(&net) { @@ -317,10 +316,9 @@ per_proto!(Ipv4Net(Ipv4Addr; "IPv4 network"); u32(4); Ipv4Set);  per_proto!(Ipv6Net(Ipv6Addr; "IPv6 network"); u128(16); Ipv6Set);  fn pfx_split(s: &str) -> Result<(&str, u8), NetParseError> { -    let i = if let Some(i) = s.find('/') { -        i -    } else { -        return Err(NetParseError); +    let i = match s.find('/') { +        Some(v) => v, +        None => return Err(NetParseError),      };      let (addr, pfx) = s.split_at(i);      let pfx = u8::from_str(&pfx[1..]).map_err(|_| NetParseError)?; | 
