aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHristo Venev <hristo@venev.name>2019-09-28 18:20:33 +0000
committerHristo Venev <hristo@venev.name>2019-09-29 16:11:35 +0300
commit56d37f135536c7d17ab98c6671094925dee64a5e (patch)
tree652b972cef0c1700b4c8ee457afd7b79861f1672
parent8e6318f29eb022126e82e0c084262c77d9ee3300 (diff)
I don't like `if let` that much.
-rw-r--r--src/manager/builder.rs8
-rw-r--r--src/manager/mod.rs20
-rw-r--r--src/manager/updater.rs24
-rw-r--r--src/model/ip.rs14
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)?;