From df47e5f96a680f8052ab238e985d683df386368b Mon Sep 17 00:00:00 2001 From: HimbeerserverDE Date: Thu, 17 Aug 2023 15:37:45 +0200 Subject: Revert "inexistent interfaces: report no address instead of error" This reverts commit 9a1f1e79810f2837fc9d7e22e6ce6547f29ec7c3. --- src/lib.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index 26af39a..2d47db2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -15,6 +15,7 @@ use tokio::runtime::Runtime; pub enum Error { RtNetlink(rtnetlink::Error), IoError(std::io::Error), + LinkNotFound(Option), } impl std::error::Error for Error {} @@ -24,6 +25,10 @@ impl fmt::Display for Error { match self { Self::RtNetlink(e) => write!(fmt, "rtnetlink error: {}", e), Self::IoError(e) => write!(fmt, "rtnetlink connection failed: {}", e), + Self::LinkNotFound(filter) => match filter { + Some(link) => write!(fmt, "link not found: {}", link), + None => write!(fmt, "no links found"), + }, } } } @@ -166,5 +171,9 @@ async fn internal_addresses(filter: Option) -> Result> { num_links.add_assign(1); } - Ok(link_addrs) + if num_links > 0 { + Ok(link_addrs) + } else { + Err(Error::LinkNotFound(filter)) + } } -- cgit v1.2.3