From 977742f20960ef6f41dd23d0a2b949a23e3250fe Mon Sep 17 00:00:00 2001 From: Nick Fitzgerald Date: Sat, 19 Mar 2016 16:03:42 -0700 Subject: [PATCH] tail: Take ownership of the provided BufReader The `BufReader` argument passed to the `fn tail(&mut BufReader, settings: &settings)` function is never reused, so the `tail` function should just take ownership of it. --- src/tail/tail.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) mode change 100644 => 100755 src/tail/tail.rs diff --git a/src/tail/tail.rs b/src/tail/tail.rs old mode 100644 new mode 100755 index e6bab3a5d..cbcd7fddc --- a/src/tail/tail.rs +++ b/src/tail/tail.rs @@ -134,8 +134,8 @@ pub fn uumain(args: Vec) -> i32 { let files = given_options.free; if files.is_empty() { - let mut buffer = BufReader::new(stdin()); - tail(&mut buffer, &settings); + let buffer = BufReader::new(stdin()); + tail(buffer, &settings); } else { let mut multiple = false; let mut firstime = true; @@ -153,8 +153,8 @@ pub fn uumain(args: Vec) -> i32 { let path = Path::new(file); let reader = File::open(&path).unwrap(); - let mut buffer = BufReader::new(reader); - tail(&mut buffer, &settings); + let buffer = BufReader::new(reader); + tail(buffer, &settings); } } @@ -169,7 +169,7 @@ fn parse_size(mut size_slice: &str) -> Option { } else { 1024usize }; - let exponent = + let exponent = if size_slice.len() > 0 { let mut has_suffix = true; let exp = match size_slice.chars().last().unwrap_or('_') { @@ -248,7 +248,7 @@ fn obsolete(options: &[String]) -> (Vec, Option) { (options, None) } -fn tail(reader: &mut BufReader, settings: &Settings) { +fn tail(mut reader: BufReader, settings: &Settings) { // Read through each line/char and store them in a ringbuffer that always // contains count lines/chars. When reaching the end of file, output the // data in the ringbuf.