From 16be0640a8dea96fdbfd1f548517d405fd7591f2 Mon Sep 17 00:00:00 2001 From: Corey Farwell Date: Tue, 19 Apr 2016 09:20:03 -0400 Subject: [PATCH] Refactor `loop` into a `while` loop. --- components/net/file_loader.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/components/net/file_loader.rs b/components/net/file_loader.rs index db87cb33375..b3b905c7dcb 100644 --- a/components/net/file_loader.rs +++ b/components/net/file_loader.rs @@ -44,17 +44,14 @@ fn read_block(reader: &mut File) -> Result { fn read_all(reader: &mut File, progress_chan: &ProgressSender, cancel_listener: &CancellationListener) -> Result { - loop { - if cancel_listener.is_cancelled() { - let _ = progress_chan.send(Done(Err("load cancelled".to_owned()))); - return Ok(LoadResult::Cancelled); - } - + while !cancel_listener.is_cancelled() { match try!(read_block(reader)) { ReadStatus::Partial(buf) => progress_chan.send(Payload(buf)).unwrap(), ReadStatus::EOF => return Ok(LoadResult::Finished), } } + let _ = progress_chan.send(Done(Err("load cancelled".to_owned()))); + Ok(LoadResult::Cancelled) } fn get_progress_chan(load_data: LoadData, file_path: PathBuf,