From 79d281394f70fd0fdc9e981c8c482160f5d87e28 Mon Sep 17 00:00:00 2001 From: Mariano Casco Date: Tue, 31 May 2016 12:36:45 -0300 Subject: [PATCH] tail: -f option on stdin The follow() function takes slices instead of the actual vectors, and in the case of unbounded_tail the single bufReader is on stdin. --- src/tail/tail.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/tail/tail.rs b/src/tail/tail.rs index d4d17003c..05651a25d 100755 --- a/src/tail/tail.rs +++ b/src/tail/tail.rs @@ -172,7 +172,7 @@ pub fn uumain(args: Vec) -> i32 { } if settings.follow { - follow(readers, &files, &settings); + follow(&mut readers[..], &files[..], &settings); } } @@ -304,7 +304,7 @@ fn obsolete(options: &[String]) -> (Vec, Option) { /// block read at a time. const BLOCK_SIZE: u64 = 1 << 16; -fn follow(mut readers: Vec>, filenames: &Vec, settings: &Settings) { +fn follow(readers: &mut [BufReader], filenames: &[String], settings: &Settings) { assert!(settings.follow); let mut last = readers.len() - 1; @@ -482,10 +482,8 @@ fn unbounded_tail(mut reader: BufReader, settings: &Settings) { } } - // TODO: make following stdin work with the new follow() signature - // maybe wrap stdin in a 1-element vec? if settings.follow { - //follow(reader, settings); + follow(&mut [reader], &["stdin".to_string()], settings); } }