diff --git a/qapi/src/lib.rs b/qapi/src/lib.rs index 93d8d76..1c3b540 100644 --- a/qapi/src/lib.rs +++ b/qapi/src/lib.rs @@ -225,9 +225,13 @@ mod qmp_impl { impl Qmp { pub fn read_capabilities(&mut self) -> io::Result { - self.inner.decode_line().map(|v: Option| - v.expect("unexpected eof").QMP - ) + match self.inner.decode_line()? { + None => Err(io::Error::new( + io::ErrorKind::UnexpectedEof, + "expected capabilities response", + )), + Some(v) => Ok(v.QMP), + } } pub fn read_response(&mut self) -> ExecuteResult {