From 01d32fd1fe05d87e5814f2efd9171aa47ef7f664 Mon Sep 17 00:00:00 2001 From: Zachary Dremann Date: Fri, 13 Jun 2014 12:23:39 -0400 Subject: Do not throw out buffered data by dropping a buffered reader --- src/lib.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 2574b3e..6974cd7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -73,14 +73,14 @@ impl IrcClient { }); spawn(proc() { - let mut reader = reader; + let mut reader = BufferedReader::new(reader); loop { - fn reader_by_ref<'a, R: Reader>(reader: &'a mut R) -> std::io::RefReader<'a, R> { reader.by_ref() } - - reader.set_read_timeout(Some(500)); - let mut buf_reader = BufferedReader::new(reader_by_ref(&mut reader)); + unsafe { + let raw: *mut TcpStream = reader.get_ref() as *_ as *mut _; + (*raw).set_read_timeout(Some(500)); + } - let line = buf_reader.read_line(); + let line = reader.read_line(); match line { Ok(line) => match from_str::(line.as_slice().trim_right()) { Some(msg) => { -- cgit v1.2.3-54-g00ecf