diff options
Diffstat (limited to 'src/components/net/file_loader.rs')
-rw-r--r-- | src/components/net/file_loader.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/components/net/file_loader.rs b/src/components/net/file_loader.rs index 336df6e0193..900e295298a 100644 --- a/src/components/net/file_loader.rs +++ b/src/components/net/file_loader.rs @@ -13,8 +13,9 @@ static READ_SIZE: uint = 1024; fn read_all(reader: &mut io::Stream, progress_chan: &Chan<ProgressMsg>) -> Result<(), ()> { loop { - match (reader.read_bytes(READ_SIZE)) { - Ok(data) => progress_chan.send(Payload(data)), + let mut buf = ~[]; + match (reader.push_bytes(&mut buf, READ_SIZE)) { + Ok(_) => progress_chan.send(Payload(buf)), Err(e) => match e.kind { io::EndOfFile => return Ok(()), _ => return Err(()), |