diff --git a/src/tools.rs b/src/tools.rs index 3d95b184..9cdca03c 100644 --- a/src/tools.rs +++ b/src/tools.rs @@ -234,12 +234,12 @@ pub fn nodename() -> &'static str { lazy_static!{ static ref NODENAME: String = { - let utsname = nix::sys::utsname::uname(); - let nodename = utsname.nodename(); - - let parts: Vec<&str> = nodename.split('.').collect(); - - parts[0].to_owned() + nix::sys::utsname::uname() + .nodename() + .split('.') + .next() + .unwrap() + .to_owned() }; } @@ -252,3 +252,10 @@ pub fn required_string_param<'a>(param: &'a Value, name: &str) -> Result<&'a str None => bail!("missing parameter '{}'", name), } } + +pub fn required_integer_param<'a>(param: &'a Value, name: &str) -> Result { + match param[name].as_i64() { + Some(s) => Ok(s), + None => bail!("missing parameter '{}'", name), + } +}