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.