diff --git a/Cargo.lock b/Cargo.lock index 199c4003812..96a1a147feb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3635,6 +3635,7 @@ dependencies = [ name = "uu_head" version = "0.8.0" dependencies = [ + "bytecount", "clap", "fluent", "memchr", @@ -4148,6 +4149,7 @@ version = "0.8.0" dependencies = [ "bigdecimal", "binary-heap-plus", + "bytecount", "clap", "codspeed-divan-compat", "compare", @@ -4258,6 +4260,7 @@ dependencies = [ name = "uu_tail" version = "0.8.0" dependencies = [ + "bytecount", "clap", "fluent", "libc", diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index c1fd0a51d68..b072c775b03 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -2004,6 +2004,7 @@ version = "0.8.0" dependencies = [ "bigdecimal", "binary-heap-plus", + "bytecount", "clap", "compare", "ctrlc", diff --git a/src/uu/head/Cargo.toml b/src/uu/head/Cargo.toml index 6135f4218e0..07717ffb8f0 100644 --- a/src/uu/head/Cargo.toml +++ b/src/uu/head/Cargo.toml @@ -19,7 +19,9 @@ path = "src/head.rs" doctest = false [dependencies] +bytecount = { workspace = true } clap = { workspace = true } +fluent = { workspace = true } memchr = { workspace = true } thiserror = { workspace = true } uucore = { workspace = true, features = [ @@ -28,7 +30,6 @@ uucore = { workspace = true, features = [ "lines", "fs", ] } -fluent = { workspace = true } [[bin]] name = "head" diff --git a/src/uu/head/src/take.rs b/src/uu/head/src/take.rs index b557036579f..f2a8aa38622 100644 --- a/src/uu/head/src/take.rs +++ b/src/uu/head/src/take.rs @@ -166,7 +166,7 @@ impl TakeAllLinesBuffer { self.partial_line = false; let bytes_read = self.inner.fill_buffer(reader)?; // Count the number of lines... - self.terminated_lines = memchr_iter(separator, self.inner.remaining_buffer()).count(); + self.terminated_lines = bytecount::count(self.inner.remaining_buffer(), separator); if let Some(last_char) = self.inner.remaining_buffer().last() { if *last_char != separator { self.partial_line = true; diff --git a/src/uu/sort/Cargo.toml b/src/uu/sort/Cargo.toml index 09763a4f9b0..e0863f66c5b 100644 --- a/src/uu/sort/Cargo.toml +++ b/src/uu/sort/Cargo.toml @@ -27,8 +27,11 @@ i18n-collator = ["uucore/i18n-collator"] [dependencies] bigdecimal = { workspace = true } binary-heap-plus = { workspace = true } +bytecount = { workspace = true } clap = { workspace = true } compare = { workspace = true } +fluent = { workspace = true } +foldhash = { workspace = true } itertools = { workspace = true } memchr = { workspace = true } rand = { workspace = true } @@ -44,8 +47,6 @@ uucore = { workspace = true, features = [ "i18n-collator", "i18n-datetime", ] } -fluent = { workspace = true } -foldhash = { workspace = true } [target.'cfg(not(any(target_os = "redox", target_os = "wasi")))'.dependencies] ctrlc = { workspace = true } diff --git a/src/uu/sort/src/chunks.rs b/src/uu/sort/src/chunks.rs index ce6b2118be4..1c2b0deb90f 100644 --- a/src/uu/sort/src/chunks.rs +++ b/src/uu/sort/src/chunks.rs @@ -286,7 +286,7 @@ fn parse_lines<'a>( let count = if read.is_empty() { 1 } else { - memchr_iter(separator, read).count() + 1 + bytecount::count(read, separator) + 1 }; exact_line_count = Some(count); estimated = count; diff --git a/src/uu/tail/Cargo.toml b/src/uu/tail/Cargo.toml index e39b575ad91..4ae37073c36 100644 --- a/src/uu/tail/Cargo.toml +++ b/src/uu/tail/Cargo.toml @@ -20,11 +20,12 @@ path = "src/tail.rs" doctest = false [dependencies] +bytecount = { workspace = true } clap = { workspace = true } +fluent = { workspace = true } memchr = { workspace = true } -uucore = { workspace = true, features = ["fs", "parser-size", "signals"] } same-file = { workspace = true } -fluent = { workspace = true } +uucore = { workspace = true, features = ["fs", "parser-size", "signals"] } [target.'cfg(not(target_os = "wasi"))'.dependencies] libc = { workspace = true } diff --git a/src/uu/tail/src/chunks.rs b/src/uu/tail/src/chunks.rs index 3ab7cf4e3ba..fab0334f6fe 100644 --- a/src/uu/tail/src/chunks.rs +++ b/src/uu/tail/src/chunks.rs @@ -371,7 +371,7 @@ impl LinesChunk { /// assert_eq!(2, chunk.count_lines()); /// ``` fn count_lines(&self) -> usize { - memchr::memchr_iter(self.delimiter, self.get_buffer()).count() + bytecount::count(self.get_buffer(), self.delimiter) } /// Creates a new [`LinesChunk`] from an existing one with an offset in lines. The new chunk