aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/net/file_loader.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/net/file_loader.rs')
-rw-r--r--src/components/net/file_loader.rs5
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(()),