aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mumctl/src/main.rs10
-rw-r--r--mumd/src/main.rs3
2 files changed, 7 insertions, 6 deletions
diff --git a/mumctl/src/main.rs b/mumctl/src/main.rs
index 3cbbcf7..123f5cd 100644
--- a/mumctl/src/main.rs
+++ b/mumctl/src/main.rs
@@ -615,15 +615,15 @@ fn parse_status(server_state: &mumlib::state::Server) {
}
fn send_command(command: Command) -> Result<mumlib::error::Result<Option<CommandResponse>>, crate::Error> {
- let mut connection = UnixStream::connect("/tmp/mumd").unwrap();
+ let mut connection = UnixStream::connect("/tmp/mumd").map_err(|_| Error::ConnectionError)?;
let serialized = bincode::serialize(&command).unwrap();
- connection.write(&(serialized.len() as u32).to_be_bytes()).unwrap();
- connection.write(&serialized).unwrap();
+ connection.write(&(serialized.len() as u32).to_be_bytes()).map_err(|_| Error::ConnectionError)?;
+ connection.write(&serialized).map_err(|_| Error::ConnectionError)?;
- connection.read_exact(&mut [0; 4]).unwrap();
- let response = bincode::deserialize_from(&mut connection).unwrap();
+ connection.read_exact(&mut [0; 4]).map_err(|_| Error::ConnectionError)?;
+ let response = bincode::deserialize_from(&mut connection).map_err(|_| Error::ConnectionError)?;
Ok(response)
}
diff --git a/mumd/src/main.rs b/mumd/src/main.rs
index 5b22089..18b84b8 100644
--- a/mumd/src/main.rs
+++ b/mumd/src/main.rs
@@ -77,7 +77,8 @@ async fn receive_commands(
reader.filter_map(|buf| async {
buf.ok()
})
- .map(|buf| bincode::deserialize::<Command>(&buf).unwrap())
+ .map(|buf| bincode::deserialize::<Command>(&buf))
+ .filter_map(|e| async { e.ok() })
.filter_map(|command| async {
let (tx, rx) = oneshot::channel();