1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2026-01-17 10:41:03 +00:00
Commit graph

85 commits

Author SHA1 Message Date
Roy Ivy III
3bddf84aec refactor/polish ~ fix cargo clippy complaints (match => if let) 2020-01-27 21:33:52 -06:00
Roy Ivy III
bb15dcf1b8 refactor/polish ~ fix cargo clippy complaints (use is_empty / is_none) 2020-01-27 21:33:52 -06:00
Roy Ivy III
ab87a1ab5f refactor/polish ~ fix cargo clippy complaints ('better' ref indirection) 2020-01-27 21:33:51 -06:00
Roy Ivy III
1216378c72 refactor/polish ~ fix cargo clippy complaints (unneeded ref for copiable) 2020-01-27 21:33:50 -06:00
Roy Ivy III
bc558f301a refactor/polish ~ fix cargo clippy complaints (unneeded mut) 2020-01-27 21:33:50 -06:00
Roy Ivy III
d192ebea5b refactor/polish ~ fix cargo clippy complaints (unwrap_or_else) 2020-01-27 21:33:49 -06:00
Alex Lyon
b73a664677 Split off uucore into its own repository 2019-05-12 22:42:20 -07:00
Vinzent Steinberg
e46e3594d2 Fix more clippy warnings and remove redundant 'static 2018-09-04 14:33:36 +02:00
dependabot[bot]
2c796811ca
Bump getopts from 0.2.17 to 0.2.18
Bumps [getopts](https://github.com/rust-lang/getopts) from 0.2.17 to 0.2.18.
- [Release notes](https://github.com/rust-lang/getopts/releases)
- [Commits](https://github.com/rust-lang/getopts/compare/0.2.17...v0.2.18)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-07-06 07:17:46 +00:00
dependabot[bot]
c66dd59489
Bump libc from 0.2.39 to 0.2.42
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.39 to 0.2.42.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.39...0.2.42)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-06-11 17:13:54 +00:00
Ian Douglas Scott
fa867e93ea
Port 'tail' to Redox 2018-03-18 22:00:00 -07:00
Alex Lyon
880a4973c1 Format everything using rustfmt 2018-03-12 01:20:58 -07:00
Alex Lyon
8ba5fae6e3 cp, tail: update winapi 2018-03-04 18:38:33 -08:00
Bulat Musin
6afddc4d6a tail: squashed two commits
commit ceaeb5ec2a284555e6c061070c74b050efb129f0
Author: Bulat Musin <bulatmusin@outlook.com>
Date:   Thu Jan 4 11:01:29 2018 +0300

    tail: fix typo

commit 50e3568e460c7ec9786835c9795d1496a2463901
Author: Bulat Musin <bulatmusin@outlook.com>
Date:   Thu Jan 4 10:54:17 2018 +0300

    collapse similar changes into one commit

    commit a54df8d92d534b801b364c2e74635dfe282441d8
    Author: Bulat Musin <bulatmusin@outlook.com>
    Date:   Wed Jan 3 21:05:33 2018 +0300

        tail: add --silent option

    commit 5c9aec7e5bb5ff79f1421e5b33bf82809795bc64
    Author: Bulat Musin <bulatmusin@outlook.com>
    Date:   Wed Jan 3 20:43:36 2018 +0300

        tail: add spaces after hashes
2018-01-06 16:49:23 +03:00
Alex Lyon
75f11e9635
Handle SIGPIPE correctly and autogenerate main() for each util 2017-12-08 15:05:07 -08:00
shutefan
bf2a591b0a tail: suppress headers when --quiet flag is used 2017-10-05 21:25:21 +02:00
Joshua Miller
e8073d2596 pin dependencies 2017-07-15 15:16:09 -05:00
Alexander Batischev
f2166fed0a tail: implement --pid. Closes #846.
Kudos to zHz for helping out with Windows API part.
2016-12-22 01:32:09 +03:00
Robert Clancy
3a0c23561e tail: fix bug when following /dev/stdin
main panics when following /dev/stdin since /dev/stdin is not seekable.
Check to see if file is seekable and use unbounded_seek if so.

Also `tail -f` with no files should not follow stdin.
2016-08-20 11:47:02 +01:00
king6cong
ff7d2bae16 skip directory tail 2016-07-23 23:03:00 +08:00
Neel Kowdley
519c1caa23 add verbose flag to tail 2016-06-18 14:44:05 -04:00
Mariano Casco
79d281394f 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.
2016-05-31 12:37:03 -03:00
Mariano Casco
fafab00cd8 tail: remove extra println 2016-05-31 10:52:53 -03:00
Mariano Casco
f9627e02d0 tail: print empty line between headers 2016-05-30 17:33:16 -03:00
Mariano Casco
440fb867bc tail: no headers when following a single file
Headers should only be printed when following more than one file. This
commit makes the test_follow() test pass again.
2016-05-30 16:43:14 -03:00
Mariano Casco
8866e05e98 tail: print headers when following multiple files
Before each line of content is printed, check if it's from a different
file than the last one we printed for. If so, print a '==> file <=='
header to separate the output in the way tail does.
2016-05-30 16:12:00 -03:00
Mariano Casco
966bfde70f tail: follow multiple files
If multiple files are passed as arguments with the -f option, a vector
of BufReaders is built as the files are first tailed, so that follow()
can take control for the rest of the time the program is running.

follow() loops over each reader and prints all new available content on
each file before moving on to the next.
2016-05-30 16:11:49 -03:00
Mariano Casco
2132889940 tail: don't follow() as part of bounded_tail
To get the -f option to follow multiple files, bounded_tail should just
tail a single file and return, instead of blocking processing of other
files by calling follow() (which loops forever).
2016-05-30 16:11:32 -03:00
Nick Fitzgerald
3972c6eb53 tail: Clean up and test suffix multiplier
Makes `parse_size` return a `Result` where the `Err` part indicates whether
there was a parsing error, or the parse size is too big to store. Also makes the
value parsed a `u64` rather than a `usize`.

Adds unit tests for `parse_size` and integration tests using the suffix
multiplier in a number passed with the `-n` flag.
2016-04-02 14:16:11 -07:00
Valentin Lorentz
2fd7164cda tail: Implement tail -z.
This options makes tail use NULL instead of newline as a line
delimiter.
2016-04-02 12:32:33 +02:00
Nick Fitzgerald
2b2c2b64c2 tail: When tailing a file in bytes mode, seek directly to the specified byte
When tailing a file, as opposed to stdin, and we are tailing bytes rather than
lines, we can seek the requested number of bytes from the end of the file. This
side steps the whole `backwards_thru_file` file loop and blocks of reads.

Fixes #833.
2016-03-27 14:34:58 -07:00
Nick Fitzgerald
f851611001 tail: Pre-fill the buffer with zeroes
Rather than fill the buffer on every file read iteration, pre-fill it with
zeroes once at initialization time.
2016-03-27 14:34:58 -07:00
Nick Fitzgerald
56d16ca7e7 tail: Optimize tail for bounded searches in files
When tail'ing a file, we do not need to read the whole file from start to finish
just to find the last n lines or bytes. Instead, we can seek to the end of the
file, and then read the file "backwards" in chunks until we find the location of
the first line/byte we wish to print. This ends up being a nice performance win
for very large files.

Fixes #764
2016-03-21 07:51:38 -07:00
Nick Fitzgerald
977742f209 tail: Take ownership of the provided BufReader<T>
The `BufReader` argument passed to the `fn tail<T: Read>(&mut BufReader<T>,
settings: &settings)` function is never reused, so the `tail` function should
just take ownership of it.
2016-03-21 07:51:32 -07:00
Michael Gehring
a2944e06db Fix clippy warnings 2016-01-06 09:36:20 +01:00
Joseph Crail
aa0ce61b3f tail: use read_line/read instead of lines/bytes
In order to work around lines() removing the newline byte and CRLF, I
switched from the iterator methods (lines/bytes) to the direct methods
(read_line/read). I also manually skipped lines/bytes.

Fixes #744.
2015-12-18 23:52:09 -05:00
Joseph Crail
77abd58be7 Refactor settings into dedicated struct 2015-12-12 18:37:17 -05:00
Joseph Crail
b6abe56357 Fix whitespace 2015-12-12 15:29:45 -05:00
Joseph Crail
b90d253584 Refactor and simplify build for utilities.
For coreutils, there are two build artifacts:

  1. multicall executable (each utility is a separate static library)
  2. individual utilities (still separate library with main wrapper)

To avoid namespace collision, each utility crate is defined as
"uu_{CMD}". The end user only sees the original utility name. This
simplifies build.rs.

Also, the thin wrapper for the main() function is no longer contained in
the crate. It has been separated into a dedicated file. This was
necessary to work around Cargo's need for the crate name attribute to
match the name in the respective Cargo.toml.
2015-12-07 21:56:45 -05:00
Michael Gehring
ca16e66a55 switch to cargo version numbers 2015-11-25 10:58:49 +01:00
Joseph Crail
ca1074201f Split utility files into separate library.
Everything in src/common has been moved to src/uucore. This is defined
as a Cargo library, instead of directly included. This gives us
flexibility to make the library an external crate in the future.

Fixes #717.
2015-11-24 22:20:27 -05:00
Nathan Ross
502957dc3e use cargo idioms to manage dependency resolution and compilation 2015-11-23 02:04:15 -05:00
Nathan Ross
b20b2cca19 update uses of libc 0.1.x and deprecated stdlib uses 2015-11-23 02:04:15 -05:00
Joseph Crail
4121d1e25d Remove unnecessary parentheses. 2015-10-31 02:32:55 -04:00
Carlos Liam
87d14978e9 Clean whitespace
Remove leading newlines and replace lines containing only whitespace
with empty lines
2015-10-06 12:04:46 -04:00
Michael Gehring
9d8abbcb06 Basic Cargo build
Builds the uutils multicall binary containing all utils (except stdbuf)
by default. To only build a subset
    `cargo --no-default-features --features <utils>`
can be used.

Whats missing is building the standalone binaries and a mechanism to
automatically disable the build of unix only utils on windows.
2015-08-28 21:12:30 +02:00
Joseph Crail
28e00cbd78 Standardize display of utility name and version. 2015-05-25 14:50:15 -04:00
Joseph Crail
496d5883a4 Switch to external getopts cargo (part 3).
I switched over to the getopts crate on crates.io, instead of Rust's
private implementation. This will allow coreutils to build for Rust 1.0.

I'm splitting the updates into several commits for easier reviewing.
2015-05-21 21:32:55 -04:00
Joseph Crail
c6cfca8366 Remove redundant length checks. 2015-04-29 02:37:29 -04:00
Joseph Crail
3b09af815d Fix head and tail.
I upgraded to the recent Rust release. The only major change was the
reduction of the sleep millisecond resolution from u64 to u32 (this
matches the thread::sleep_ms() method).
2015-04-29 02:37:29 -04:00