From 50058305a9505e18678292e9f4b9b1dc17cd3949 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 9 Sep 2014 17:41:24 -0400 Subject: propagate a few more errors --- src/message.rs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'src/message.rs') diff --git a/src/message.rs b/src/message.rs index b90cafb..b7076d5 100644 --- a/src/message.rs +++ b/src/message.rs @@ -45,30 +45,33 @@ impl Message { &self.params } - pub fn write_protocol_string (&self, w: &mut W) { + pub fn write_protocol_string (&self, w: &mut W) -> io::IoResult<()> { match self.from { - Some(ref f) => { write!(w, ":{} ", f); }, + Some(ref f) => { try!(write!(w, ":{} ", f)) }, None => {}, } - write!(w, "{}", self.message_type); + try!(write!(w, "{}", self.message_type)); for param in self.params.iter() { if param.as_slice().contains_char(' ') { - write!(w, " :{}", param); + try!(write!(w, " :{}", param)); } else { - write!(w, " {}", param); + try!(write!(w, " {}", param)); } } - write!(w, "\r\n"); - w.flush(); + try!(write!(w, "\r\n")); + try!(w.flush()); + + Ok(()) } pub fn to_protocol_string (&self) -> String { let mut w = io::MemWriter::new(); - self.write_protocol_string(&mut w); + // this should never fail, so unwrap is fine + self.write_protocol_string(&mut w).unwrap(); // XXX error handling, encoding String::from_utf8(w.unwrap()).unwrap() } -- cgit v1.2.3-54-g00ecf