summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorSunil Nimmagadda <sunil@nimmagadda.net>2025-05-04 11:20:52 +0530
committerSunil Nimmagadda <sunil@nimmagadda.net>2025-05-04 11:20:52 +0530
commit6646d54312f2ef22307414701f41b3389c9378ad (patch)
tree5c8373e5cb939d8d16f1d82d0bf6fd81204738b5 /src/main.rs
parent874b752825934267649000f357d3dc2e56302719 (diff)
Stick to standard error handling.
Avoid std::process::exit. Let the buffer be long enough.
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs24
1 files changed, 7 insertions, 17 deletions
diff --git a/src/main.rs b/src/main.rs
index aca7b97..6f2b133 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -2,23 +2,13 @@ use socket2::{Domain, Protocol, Socket, Type};
use std::mem::MaybeUninit;
use std::net::Ipv4Addr;
-fn main() {
- let res = Socket::new(Domain::IPV4, Type::RAW, Some(Protocol::from(112)));
- let Ok(sock) = res else {
- eprintln!("Socket::new(): {}", res.err().unwrap());
- std::process::exit(1);
- };
- let res = sock.join_multicast_v4(
+fn main() -> std::io::Result<()> {
+ let sock = Socket::new(Domain::IPV4, Type::RAW, Some(Protocol::from(112)))?;
+ let _ = sock.join_multicast_v4(
&Ipv4Addr::new(224, 0, 0, 18),
&Ipv4Addr::UNSPECIFIED,
- );
- let Ok(_) = res else {
- eprintln!("join_multicast_v4(): {}", res.err().unwrap());
- std::process::exit(1);
- };
- let mut buf = [MaybeUninit::<u8>::uninit()];
- let Ok(_) = sock.recv_from(&mut buf) else {
- eprintln!("Socket::recv_from(): {}", res.err().unwrap());
- std::process::exit(1);
- };
+ )?;
+ let mut buf = [MaybeUninit::<u8>::uninit(); 256];
+ let _ = sock.recv_from(&mut buf)?;
+ Ok(())
}