Commit graph

2707 commits

Author SHA1 Message Date
Zachary Dremann
8905d52279 paste: Write to a locked stdout 2022-01-30 23:01:01 -05:00
Zachary Dremann
c6ec4f8f17 paste: Store delimiters as chars, rather than strings 2022-01-30 23:00:56 -05:00
Zachary Dremann
fa44957a63 paste: Handle unicode delimiters 2022-01-30 23:00:49 -05:00
Jeffrey Finkelstein
b9c2066ee9 uucore: move lines.rs to be a uucore feature
Refactor the `lines.rs` module to be a feature in `uucore`. It was
common to both `head` and `tail`.
2022-01-30 22:15:35 -05:00
Jeffrey Finkelstein
cba0696b90 head: don't add trailing newline to end of file
Prevent `head` from adding a trailing newline to the end of a file
that did not originally have one when using `head --lines=-0`.
2022-01-30 22:04:19 -05:00
Jeffrey Finkelstein
371278e043 truncate: fix typo in docs: "the any" -> "any" 2022-01-30 22:03:13 -05:00
Jeffrey Finkelstein
fe5b537f56 truncate: error when trying to truncate a fifo
Terminate the `truncate` program with an error message when trying to
truncate a named pipe (also known as a fifo).
2022-01-30 22:03:12 -05:00
Jeffrey Finkelstein
83eac9c0a8 head: incorporate "all but last" option into Mode
Refactor the `Mode` enum in the `head.rs` module so that it includes
not only the mode type---lines or bytes---but also whether to read the
first NUM items of that type or all but the last NUM. Before this
commit, these two pieces of information were stored separately. This
made it difficult to read the code through several function calls and
understand at a glance which strategy was being employed.
2022-01-30 22:01:25 -05:00
Justin Tracey
58d65fb953 join: add support for non-unicode field separators
This allows for `-t` to take invalid unicode (but still single-byte) values
on unix-like platforms. Other platforms, which as of the time of this commit
do not support `OsStr::as_bytes()`, could possibly be supported in the future,
but would require design decisions as to what that means.
2022-01-30 20:04:22 -05:00
Zachary Dremann
d6a0b3c920 Allow echo with escapes to work with \0
Testing with gecho on macos outputs a nul character for a \0
2022-01-30 17:24:29 -05:00
Terts Diepraam
7b3cfcf708
Merge pull request #2868 from jfinkels/split-filename-iterator
split: use iterator to produce filenames
2022-01-30 22:37:37 +01:00
Allan Douglas R. de Oliveira
f22051a4e1 Updated sha libraries 2022-01-30 17:23:02 -03:00
Daniel Eades
41e2197188 squash some repeated match blocks 2022-01-30 18:32:09 +01:00
Sylvestre Ledru
de07df5992
Merge pull request #2963 from danieleades/refactor/code-quality
Refactor/code quality
2022-01-30 18:26:16 +01:00
Jeffrey Finkelstein
a5b435da58 split: use iterator to produce filenames
Replace the `FilenameFactory` with `FilenameIterator` and calls to
`FilenameFactory::make()` with calls to `FilenameIterator::next()`. We
did not need the fully generality of being able to produce the
filename for an arbitrary chunk index. Instead we need only iterate
over filenames one after another. This allows for a less
mathematically dense algorithm that is easier to understand and
maintain. Furthermore, it can be connected to some familiar concepts
from the representation of numbers as a sequence of digits.

This does not change the behavior of the `split` program, just the
implementation of how filenames are produced.

Co-authored-by: Terts Diepraam <terts.diepraam@gmail.com>
2022-01-30 11:18:58 -05:00
Daniel Eades
ba45fe312a use 'Self' and derive 'Default' where possible 2022-01-30 15:08:26 +01:00
Daniel Eades
2f85610cc3 remove explicit iter loops 2022-01-30 15:08:26 +01:00
Daniel Eades
cf24620d3d remove 'let and return' 2022-01-30 15:08:26 +01:00
Daniel Eades
784f2e2ea1 use semicolons if nothing returned 2022-01-30 15:08:26 +01:00
Daniel Eades
a2d5f06be4 remove needless pass by value 2022-01-30 15:08:26 +01:00
Daniel Eades
8bb6c4effa use pointer args 2022-01-30 14:01:21 +01:00
Daniel Eades
f2074140ec use 'char' instead of 'str' for single character patterns 2022-01-30 14:01:21 +01:00
Daniel Eades
5af66753af remove needless borrows 2022-01-30 14:01:21 +01:00
Sylvestre Ledru
2f6f6867c5
Merge branch 'main' into 2940 2022-01-30 13:33:35 +01:00
Sylvestre Ledru
57dc11e586
Merge pull request #2871 from jfinkels/split-settings-methods
split: add a method to convert ArgMatches to Settings
2022-01-30 11:31:58 +01:00
Sylvestre Ledru
81b2a240e6
Merge pull request #2960 from water-ghosts/fix-cp-a-panic
Don't panic when calling cp -a with a nonexistent file
2022-01-30 11:30:56 +01:00
Sylvestre Ledru
bfa2d8b7da
Merge pull request #2875 from kimono-koans/ls_bad_fd_2
ls: Fix display of bad file descriptor errors
2022-01-30 09:59:58 +01:00
Sylvestre Ledru
7c1abdb7d9
Merge pull request #2866 from jfinkels/split-number-2
split: implement -n option
2022-01-30 09:58:04 +01:00
Sylvestre Ledru
b8b642101f
Merge pull request #2898 from jfinkels/tail-lines-zero-terminated
tail: support zero-terminated lines in streams
2022-01-30 09:44:04 +01:00
Eli Youngs
680e9081fe Don't panic when calling cp -a with a nonexistent file 2022-01-29 22:59:53 -08:00
Dan Klose
bb7f37e8b4 fix: update itertools 0.8.0 -> 0.10.0
Targets https://github.com/uutils/coreutils/issues/2940

* since versions were mxing versions of x.y and x.y.z I changed all to x.y.z
* minor whitespace formatting
2022-01-29 22:35:51 +00:00
Terts Diepraam
eb82015b23 all: change macros
- Change the main! proc_macro to a bin! macro_rules macro.
- Reexport uucore_procs from uucore
- Make utils to not import uucore_procs directly
- Remove the `syn` dependency and don't parse proc_macro input (hopefully for faster compile times)
2022-01-29 15:26:32 +01:00
Sylvestre Ledru
1dcd3b2c24
Merge pull request #2943 from jfinkels/truncate-no-such-dir
truncate: better error msg when dir does not exist
2022-01-29 12:25:38 +01:00
Sylvestre Ledru
52ab6325a0
Merge pull request #2881 from jtracey/join-null-field-sep
join: add support for `-t '\0'`
2022-01-29 10:55:04 +01:00
Sylvestre Ledru
196a7a921c
Merge pull request #2877 from jfinkels/head-use-uucore-error-handling
head: use uucore error handling instead of custom
2022-01-29 10:53:48 +01:00
Sylvestre Ledru
24744ca42b
Merge pull request #2911 from jfinkels/dd-seek-stdout
dd: support seek=N when destination is stdout
2022-01-29 10:47:17 +01:00
Sylvestre Ledru
57ee6b5302
Merge branch 'main' into truncate-no-such-dir 2022-01-29 09:58:17 +01:00
Sylvestre Ledru
cbc7da3d7d
Merge pull request #2936 from tertsdiepraam/clap-infer-long-args
all: enable infer long arguments in clap
2022-01-29 09:57:15 +01:00
Sylvestre Ledru
bd44c59043
Merge pull request #2945 from jfinkels/truncate-reduce-underflow
truncate: prevent underflow when reducing size
2022-01-29 09:55:29 +01:00
Sylvestre Ledru
52b7a725ed
Merge pull request #2938 from sylvestre/selinux-dep
selinux: add consistency in the dep declaration
2022-01-29 09:46:16 +01:00
Jeffrey Finkelstein
0454d3b243 truncate: prevent underflow when reducing size
Prevent usize underflow when reducing the size of a file by more than
its current size. For example, if `f` is a file with 3 bytes, then

    truncate -s-5 f

will now set the size of the file to 0 instead of causing a panic.
2022-01-28 22:44:07 -05:00
Jeffrey Finkelstein
c780c96e17 truncate: better error msg when dir does not exist
Improve the error message that gets printed when a directory does not
exist. After this commit, the error message is

    truncate: cannot open '{file}' for writing: No such file or directory

where `{file}` is the name of a file in a directory that does not
exist.
2022-01-28 21:21:37 -05:00
Terts Diepraam
5f1933a89f df: no longer override help 2022-01-29 02:06:32 +01:00
Terts Diepraam
9c8e865b55 all: enable infer long arguments in clap 2022-01-29 02:06:29 +01:00
Sylvestre Ledru
96584027e5 selinux: add consistency in the dep declaration 2022-01-29 01:31:17 +01:00
Sylvestre Ledru
f1d72018d7
Merge pull request #2923 from jfinkels/seq-error-zero-increment-value
seq: correct error message for zero increment
2022-01-29 01:25:57 +01:00
Sylvestre Ledru
c702154a84
Merge pull request #2934 from jfinkels/truncate-division-by-zero
truncate: add a division by zero error
2022-01-29 01:25:10 +01:00
Sylvestre Ledru
fed5ca4ba9
Merge pull request #2935 from tertsdiepraam/wc-unusual-files
wc: fix counting files from pseudo-filesystem
2022-01-29 01:09:02 +01:00
Sylvestre Ledru
b94bd96bc6 ignore spelling issue 2022-01-29 00:35:16 +01:00
Sylvestre Ledru
7f79fef2cd fix various doc warnings 2022-01-29 00:09:09 +01:00
Terts Diepraam
dd311b294b wc: fix counting files from pseudo-filesystem 2022-01-28 19:08:44 +01:00
electricboogie
72c53219e3 Prevent potential unwrap on a None value 2022-01-27 22:07:07 -06:00
Jeffrey Finkelstein
9dda23d8c6 seq: correct error message for zero increment
Change a word in the error message displayed when an increment value
of 0 is provided to `seq`. This commit changes the message from "Zero
increment argument" to "Zero increment value" to match the GNU `seq`
error message.
2022-01-27 21:17:27 -05:00
Jeffrey Finkelstein
b636ff04a0 split: implement -n option
Implement the `-n` command-line option to `split`, which splits a file
into a specified number of chunks by byte.
2022-01-27 21:16:27 -05:00
Jeffrey Finkelstein
1e5e637990 truncate: add a division by zero error
Add an error for division by zero. Previously, running `truncate -s /0
file` or `-s %0` would panic due to division by zero. After this
change, it writes an error message "division by zero" to stderr and
terminates with an error code.
2022-01-27 21:12:59 -05:00
Jeffrey Finkelstein
1074deeb03 truncate: make better use of UResult
Replace some uses of `crash!()` and move `UError` handling down into
the `truncate()` function. This does not change the behavior of the
program, just organizes the code to facilitate introducing code to
handle other types of errors in the future.
2022-01-27 21:05:34 -05:00
electricboogie
5e82d6069f Fix comments 2022-01-27 16:12:34 -06:00
Sylvestre Ledru
b816e80e2f
Merge pull request #2912 from jfinkels/truncate-create-non-existent-file
truncate: create non-existent file by default
2022-01-27 23:03:55 +01:00
electricboogie
463c1ac2ff Make suggested changes: Move logic into PathData struct, etc. 2022-01-27 11:57:19 -06:00
electricboogie
7512200ba2 Cleanup comments 2022-01-26 16:52:05 -06:00
electricboogie
1d629d8d66 Move more logic into md function, make enter_directory function clearer 2022-01-26 16:41:52 -06:00
Jeffrey Finkelstein
4fbe2b2b5e seq: implement -f FORMAT option
Add support for the `-f FORMAT` option to `seq`. This option instructs
the program to render each value in the generated sequence using a
given `printf`-style floating point format. For example,

    $ seq -f %.2f 0.0 0.1 0.5
    0.00
    0.10
    0.20
    0.30
    0.40
    0.50

Fixes issue #2616.
2022-01-25 20:48:26 -05:00
Sylvestre Ledru
c7fc0a703b
Merge pull request #2893 from g-k/2888-rand-0.8
update rand crate to 0.8
2022-01-25 23:23:43 +01:00
Sylvestre Ledru
5932937952
Merge pull request #2777 from jfinkels/uucore-printf
uucore: move printf::memo module to uucore
2022-01-25 23:22:27 +01:00
Sylvestre Ledru
5c45911c13
Merge pull request #2915 from jfinkels/dd-status-noxfer
dd: correct behavior when status=noxfer
2022-01-25 23:19:53 +01:00
Jeffrey Finkelstein
e8df666c2e dd: support seek=N when destination is stdout
Add support for the `seek=N` argument when the destination is stdout
and not a file. Previously, the argument was ignored when writing to
stdout.
2022-01-25 12:34:13 -05:00
Sylvestre Ledru
630b5d8577
Merge pull request #2909 from jfinkels/dd-conv-ascii-unblock
dd: block/unblock on ebcdic/ascii conversions
2022-01-25 14:37:20 +01:00
Sylvestre Ledru
b5df3723df
Merge pull request #2897 from tertsdiepraam/mdbook
Automatic mdBook Documentation
2022-01-25 14:33:41 +01:00
Sylvestre Ledru
1415ebc263
Merge pull request #2908 from cohosh/join_chkodr_default
join: fix default check order behaviour
2022-01-25 13:47:34 +01:00
Sylvestre Ledru
c74cfdc33e
Merge pull request #2916 from jfinkels/tail-follow-non-utf8-bytes
tail: don't error when following non-UTF-8 data
2022-01-25 13:47:16 +01:00
Sylvestre Ledru
e6733881d6
Merge pull request #2850 from sbentmar/numfmt-error-handling
numfmt: use UResult in more functions
2022-01-25 13:46:46 +01:00
Jeffrey Finkelstein
83f96ec29d tail: don't error when following non-UTF-8 data
Fix a bug where `tail -f` would terminate with an error due to failing
to parse a UTF-8 string from a sequence of bytes read from the
followed file. This commit replaces the call to `BufRead::read_line()`
with a call to `BufRead::read_until()` so that any sequence of bytes
regardless of encoding can be read.

Fixes #1050.
2022-01-24 21:32:52 -05:00
Greg Guthe
e6fdf0761f factor: ignore quickcheck tests using unhandled large vals
refs: #1559
2022-01-24 20:51:10 -05:00
Greg Guthe
e24ecea1da factor: tests: update Arbitrary impl for Factors
Upstream removed the Gen trait and made the gen method private in
d286e4db20
2022-01-24 20:41:22 -05:00
Greg Guthe
c037382df7 factor: update quickcheck dev dep to 1.0.3
quickcheck <1 uses rand 0.6.x which results in E0599 errors.  Upgrading resolves that error and lets
us remove the older rand version from our deps.

refs: https://stackoverflow.com/questions/56901973/errore0599-no-method-named-gen-found-for-type-mut-g-in-the-current-scope/56902740#56902740
2022-01-24 20:41:20 -05:00
Greg Guthe
a6f8d1d9fd shuf: fix crate relative import for vendored rand read adapter 2022-01-24 20:40:57 -05:00
Greg Guthe
2630894658 shuf: remove ReadRng deprecation notices 2022-01-24 20:40:57 -05:00
Greg Guthe
6bcca01e83 shuf: add deprecated rand crate ReadRng adapter
It is deprecated pending future removal. This version copied from:
https://github.com/rust-random/rand/blob/0.8.4/src/rngs/adapter/read.rs
2022-01-24 20:40:55 -05:00
Greg Guthe
a342df03f0 tests: update factor Distribution<Factors> sample to take range 2022-01-24 20:40:31 -05:00
Greg Guthe
cae6bc5e82 deps: update rand to 0.8
fix: #2888
2022-01-24 20:40:29 -05:00
Jeffrey Finkelstein
80ac2619e4 dd: correct behavior when status=noxfer
Correct the behavior of `dd` with the `status=noxfer` option. Before
this commit, the status output was entirely suppressed (as happens
with `status=none`). This was incorrect behavior. After this commit,
the input/output counts are printed to stderr as expected.

For example,

    $ printf "" | dd status=noxfer
    0+0 records in
    0+0 records out

This commit also updates a unit test that was enforcing the wrong
behavior.
2022-01-23 17:36:14 -05:00
Terts Diepraam
d2fe245192
Merge pull request #2502 from hbina/hbina-tr-reimplement-expansion
`tr`: Expanding expansion module
2022-01-23 19:08:00 +01:00
Jeffrey Finkelstein
129cfe12b8 truncate: create non-existent file by default
Fix the behavior of truncate when given a non-existent file so that it
correctly creates the file before truncating it (unless the
`--no-create` option is also given).
2022-01-23 11:24:53 -05:00
Jeffrey Finkelstein
1c8df122d7 dd: block/unblock on ebcdic/ascii conversions
Update `dd` so that the conversion `conv=ascii` implies `conv=unblock`
and, symmetrically, the conversion `conv=ebcdic` implies `conv=block`.
2022-01-23 09:57:37 -05:00
Cecylia Bocovich
594157d1e0
join: fix default check order behaviour
If neither --nocheck-order or --check-order are specified, only fail on
unsorted inputs if either file contains unpaired lines.
2022-01-22 17:51:29 -05:00
Terts Diepraam
7014607f0a Merge branch 'main' into mdbook 2022-01-22 12:42:19 +01:00
Jeffrey Finkelstein
f595edaded tail: fix a bug in tail [ -n | -c ] +NUM <file>
Fix a bug when getting all but the first NUM lines or bytes of a file
via `tail -n +NUM <file>` or `tail -c +NUM <file>`. The bug only
existed when a file is given as an argument; it did not exist when the
input data came from stdin.
2022-01-21 19:05:53 -05:00
Jeffrey Finkelstein
d27d6bc32c split: add forwards_thru_file() helper function
Add helper function `forwards_thru_file()` that finds the index in a
reader of the byte immediately following the `n`th instance of a given
byte.
2022-01-21 18:33:15 -05:00
Jeffrey Finkelstein
58d84d5107 tail: support zero-terminated lines in streams
Support `-z` option when the input is not a seekable file. Previously,
the option was accepted by the argument parser, but it was being
ignored by the application logic.
2022-01-21 18:31:15 -05:00
Sylvestre Ledru
8c298e97a5
expr: Fix a warning in the doc generation (#2900)
```
warning: this URL is not a hyperlink
```
2022-01-21 23:14:05 +01:00
Terts Diepraam
ab3623f65a docs: usage and values for options 2022-01-21 19:20:55 +01:00
Cecylia Bocovich
67878de379
join: print unsorted line in error message
This expands the error message that is printed if either input file has
an unsorted line. Both the program name (join) and the offending line
are printed out with the message to match the behaviour of the GNU
utility.
2022-01-21 11:47:37 -05:00
Terts Diepraam
9ddd61ab6b Merge branch 'main' into hbina-tr-reimplement-expansion 2022-01-21 14:42:30 +01:00
Terts Diepraam
55a47f6fc0
Merge pull request #2863 from tertsdiepraam/clap-3
Clap 3
2022-01-20 23:14:52 +01:00
Sylvestre Ledru
d64b32d121
Merge pull request #2885 from jfinkels/head-find-nth-line-from-end
head: refactor helper function find_nth_line_from_end()
2022-01-20 21:53:47 +01:00
electricboogie
0b53cd8c4a Make suggested changes 2022-01-20 14:52:45 -06:00
Terts Diepraam
b51a6e8fe3 tr: make parsing of sets more terse 2022-01-19 21:03:57 +01:00
Terts Diepraam
da728dd2b6 Merge branch 'main' into hbina-tr-reimplement-expansion 2022-01-19 19:34:13 +01:00
Terts Diepraam
6aa433c70a tr: adapt copyright to new guidelines 2022-01-19 19:07:17 +01:00
Roy Ivy III
2e251f91f1 0.0.12 2022-01-19 05:35:00 -06:00
Jeffrey Finkelstein
ca812a7558 tail: rm trailing \n if input doesn't end with one
Fix a bug where `tail` would inappropriately add a newline to the last
line of output even though the input did not end with one.
2022-01-18 17:34:41 -05:00
Terts Diepraam
4b79419514 runcon/hashsum: remove references to get_matches_from_safe 2022-01-18 16:34:06 +01:00
Terts Diepraam
0a30c43bb6 chcon: use try_get_matches_from 2022-01-18 13:06:02 +01:00
Terts Diepraam
e345768484 base64: remove clap dependency again 2022-01-18 12:56:58 +01:00
Terts Diepraam
270a6ee83e rm: fix 3 leading hyphens for ---presume-input-tty 2022-01-18 12:54:50 +01:00
Justin Tracey
ce3df12eaa join: "support" field numbers larger than usize::MAX
They silently get folded to usize::MAX, which is the official GNU behavior.
2022-01-17 17:49:41 -05:00
Jeffrey Finkelstein
e575007629 tail: improve error handling when file not found 2022-01-17 10:57:24 -05:00
Jeffrey Finkelstein
0f1053ce68 head: refactor helper func find_nth_line_from_end
Factor out a loop for finding the index of the byte immediately
following the `n`th line from the end of a file. This does not change
the behavior of the code, just its organization.
2022-01-17 10:55:40 -05:00
Terts Diepraam
951f3bb689 fix up runcon and chcon for clap 3 2022-01-17 16:52:17 +01:00
Terts Diepraam
55893f0e3d od: use clap options instead of custom mock options for unit tests 2022-01-17 16:25:49 +01:00
sbentmar
b0cf6f9b34 numfmt: minor adjustments to test cases 2022-01-17 16:24:40 +01:00
sbentmar
635c2d0c31 numfmt: remove unused function 2022-01-17 16:24:40 +01:00
sbentmar
1287ce3780 numfmt: add tests for handle_buffer 2022-01-17 16:24:40 +01:00
sbentmar
4a7d313712 numfmt: add unit test for io error 2022-01-17 16:24:40 +01:00
sbentmar
5cab4e41b3 numfmt: add copyright notice 2022-01-17 16:24:40 +01:00
Sebastian Holgersson
9b04c98ddb numfmt: use UResult in more functions
This commit replaces generic Results with UResults in some key
functions in numfmt. As a result of this, we can provide different
exit codes for different errors, which resolves ~70 failing test
cases in the GNU numfmt.pl test suite.
2022-01-17 16:24:40 +01:00
Jeffrey Finkelstein
ab4036297b head: use uucore error handling instead of custom
Use `show!()` and `USimpleError` to handle I/O errors instead of using
custom code.
2022-01-17 08:58:44 -05:00
Jeffrey Finkelstein
58f2000406 split: method to convert ArgMatches to Settings
Create a `Settings::from` method that converts a `clap::ArgMatches`
instance into a `Settings` instance. This eliminates the unnecessary
use of a mutable variable when initializing the settings.
2022-01-17 08:58:10 -05:00
Jeffrey Finkelstein
d9afdf0527 uucore: move printf::memo module to uucore
Move the `printf::memo` module to `uucore` so that it can be used by
other programs, not just `printf`. For example, the `-f` option to `seq`
requires parsing and formatting numbers according to the same logic as
`printf`.
2022-01-17 08:46:45 -05:00
Jeffrey Finkelstein
2d66c84413 printf: remove cli module
Remove the cli module from the printf crate and move its functions into
the module tokenize::unescaped_text module, the only place they are
used.
2022-01-17 08:43:36 -05:00
Terts Diepraam
8872485922 Merge branch 'main' into clap-3 2022-01-17 13:25:51 +01:00
Terts Diepraam
08efa1fe5a
Merge branch 'main' into join-null-field-sep 2022-01-17 12:59:52 +01:00
Sylvestre Ledru
a87a71893f
Merge pull request #2879 from sylvestre/chrono-issue
Force minimal version of chrono to avoid a security issue
2022-01-17 12:53:31 +01:00
Justin Tracey
109277d405 join: add support for -t '\0' 2022-01-16 18:05:58 -05:00
Justin Tracey
346415e1d2 join: add support for -z option 2022-01-16 17:56:07 -05:00
Sylvestre Ledru
fcff6fec6d Force minimal version of chrono to avoid a security issue
See: https://rustsec.org/advisories/RUSTSEC-2020-0071.html
2022-01-16 23:33:12 +01:00
Sylvestre Ledru
4fc47aba61
Merge pull request #2878 from tertsdiepraam/stdbuf-trouble
`stdbuf`: fix `cargo publish` problem
2022-01-16 23:23:35 +01:00
Sylvestre Ledru
516bdfcfd5
Merge pull request #2872 from jfinkels/split-verbose
split: add --verbose option
2022-01-16 23:19:30 +01:00
Terts Diepraam
c5e2515833 fix stdbuf problem 2022-01-16 22:50:34 +01:00
electricboogie
16b7b38b92 Run cargo fmt 2022-01-16 11:17:43 -06:00
electricboogie
e6ce049d2c Fix Windows lints/build errors 2022-01-16 11:07:22 -06:00
electricboogie
e1bffea595 Merge branch 'master' into ls_bad_fd_2 2022-01-16 10:26:44 -06:00
electricboogie
15efba54c5 Use dir_entry metadata for dereferenced bad fds to match GNU, add comments, clippy lints 2022-01-16 10:20:50 -06:00
Sylvestre Ledru
1fbda8003c coreutils 0.0.8 => 0.0.9, uucore_procs 0.0.7 => 0.0.8, uucore 0.0.10 => 0.0.11 2022-01-16 17:05:48 +01:00
Sylvestre Ledru
00c11b184f
Merge pull request #2851 from jtracey/join-strless
join: operate on bytes instead of Strings
2022-01-16 16:24:38 +01:00
Terts Diepraam
448b84806f
fix Rust 1.58 clippy lints (#2874) 2022-01-16 15:57:33 +01:00
Jeffrey Finkelstein
7af3007204 split: add --verbose option 2022-01-16 09:34:28 -05:00
electricboogie
37ca6edfdc Fix display of bad fd errors 2022-01-15 22:39:07 -06:00
kimono-koans
fd5310411e
ls: Fix device display (#2855) 2022-01-15 00:39:56 +01:00
Sylvestre Ledru
3cc1fb593a
Merge pull request #2859 from jfinkels/split-dynamic-suffix-length
split: correct filename creation algorithm
2022-01-14 18:06:57 +01:00
Terts Diepraam
49e5412580 tsort: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
e62fdb9307 yes: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
fe69ad25f8 whoami: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
e3b8e6c993 who: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
e9e5768591 wc: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
e5a775be46 users: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
ac76eefb99 uptime: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
2cd32beb70 unlink 2022-01-11 19:16:48 +01:00
Terts Diepraam
5105a59fda uniq: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
dafa0737c8 unexpand: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
7de993fa4f uname: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
48c65934c7 tty: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
263357666f truncate: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
6c37cdebce true: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
fd777866a3 tr: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
9f58715d65 touch: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
7318d1d24b timeout: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
0ff1984471 test: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
3cac8a631f tee: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
9c9643807a tail: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
219498c2e8 tac: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
57361292aa sync: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
bad790840a sum: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
0fca4460de stdbuf: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
eaaa16291e stat: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
ecf6f18ab3 split: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
b43839a8a8 sort: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
d0a52c95e6 sleep: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
793e540323 shuf: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
92e94de2d7 shred: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
41513a8ba6 seq: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
ec42e824f0 runcon: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
4edab26dcc pr: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
f260f60093 rmdir: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
283973c5bf rm: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
a02e40fcad relpath: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
d52887e6c0 pwd: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
edafc468ed realpath: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
d8f2be2f3b readlink: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
24dc4d9037 ptx: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
b94809197f printf: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
8ba10936b0 printenv: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
c39a9b49d4 pinky: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
49b19972cc pathchk: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
8f7f3d18ee paste: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
9efd6654f8 od: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
7cebb2563b numfmt: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
5702313e9c nproc: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
5e9443567d nohup: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
5b13ec9c66 nl: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
64f57a9200 nice: clap 3 2022-01-11 19:16:48 +01:00
Terts Diepraam
ba93684a7e mv: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
41d567f44b more: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
f902ec7d6e mktemp: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
6e39eddbc1 mknod: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
c8eddad610 mkfifo: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
0e021e956a mkdir: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
c8270b202e ls: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
ebaf5caae8 logname: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
9951958b93 ln: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
0531f13cfd link: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
83f39619d5 kill: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
b61494337e join: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
89112fb1c2 install: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
8c58f8e2b1 id: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
82aadbf38f hostname: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
6876521b08 hostid: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
9fc9fdb1f3 head: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
6e34d8a53c hashsum: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
742fe8500c groups: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
ebe96f1454 fold: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
e3e35cb1a9 fmt: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
df5bf0c2a4 false: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
b5ba2fc5ca factor: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
55eb4a271b expr: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
449a536c59 expand: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
4d917e28b2 env: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
812f2db464 echo: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
1f2c3064b8 du: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
db1e630c6c dirname: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
9bd1c3e967 dircolors: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
739217968f df: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
11bfb5c73f dd: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
f5797275b7 date: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
7a0309a5aa cut: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
88447c2e50 csplit: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
37ab05bd7a cp: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
99a3dc324c comm: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
cf78121746 cksum: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
16afe58371 chroot: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
8261cf05f3 chown: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
2576615576 chmod: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
e4acb64880 chgrp: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
f35b132f67 chcon: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
048cfaf97f cat: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
fb1f9ecf80 basenc: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
7e9529b8b8 arch: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
031bde97bf base32: clap 3 2022-01-11 19:16:47 +01:00
Terts Diepraam
0fb7ceb1a0 base64: remove clap dependency (handled by base_common) 2022-01-11 19:06:36 +01:00
Terts Diepraam
67e5ede0a1 basename: clap 3 2022-01-11 19:06:36 +01:00
Sylvestre Ledru
6723a54610
Merge pull request #2862 from rivy/fix.whitespace
refactor/polish ~ whitespace fixup
2022-01-11 17:51:37 +01:00
kimono-koans
016d5e72ad
ls: Fix padding for dangling links in non-Long formats (#2856)
* Fix padding for dangling links in non-long formats

Co-authored-by: electricboogie <32370782+electricboogie@users.noreply.github.com>
2022-01-11 12:01:54 +01:00
Jeffrey Finkelstein
cfe5a0d82c split: correct filename creation algorithm
Fix two issues with the filename creation algorithm. First, this
corrects the behavior of the `-a` option. This commit ensures a
failure occurs when the number of chunks exceeds the number of
filenames representable with the specified fixed width:

    $ printf "%0.sa" {1..11} | split -d -b 1 -a 1
    split: output file suffixes exhausted

Second, this corrects the behavior of the default behavior when `-a`
is not specified on the command line. Previously, it was always
settings the filenames to have length 2 suffixes. This commit corrects
the behavior to follow the algorithm implied by GNU split, where the
filename lengths grow dynamically by two characters once the number of
chunks grows sufficiently large:

    $ printf "%0.sa" {1..91} | ./target/debug/coreutils split -d -b 1 \
    >   && ls x* | tail
    x81
    x82
    x83
    x84
    x85
    x86
    x87
    x88
    x89
    x9000
2022-01-10 20:43:22 -05:00
Jeffrey Finkelstein
e5d6b7a1cf split: correct arg parameters for -b option 2022-01-10 20:43:22 -05:00
Terts Diepraam
f60c36f242
Merge pull request #2610 from miDeb/cp/abuse
cp: handle edge cases when dest is a symlink
2022-01-11 00:34:55 +01:00
Roy Ivy III
7a760cae99 refactor/polish ~ re-normalize whitespace
* minimize inconsistent/invisible whitespace

- consistent indentation (either spaces-only, tabs, *or* tabs with following spaces [for indentation])
- no internal/invisible tabs
- no trailing whitespace
- EOF EOLNs
2022-01-09 21:35:39 -06:00
Roy Ivy III
d6b93e42c9 update ~ pin 'retain_mut' to v0.1.2 (with MinSRV maint ToDO)
- v0.1.5 uses const generics which aren't stable until rust v1.51.0
2022-01-09 18:57:25 -06:00
Roy Ivy III
774e72551b change ~ relax 'nix' version and remove 'nix' patch
- code coverage compilation on MacOS latest (MacOS-11+) now works with newer 'nix' versions
2022-01-09 18:57:25 -06:00
Sylvestre Ledru
dcfdeb334d
Merge pull request #2854 from kimono-koans/ls_fix_errno_1
ls: Fix Errno 1, print errors at the md call point
2022-01-09 20:56:06 +01:00
moko256
5659bf8fae
ls: On Windows use DirEntry#metadata() instead of fs::metadata 2022-01-10 02:56:22 +09:00
Sylvestre Ledru
63ef039b4f
Merge pull request #2826 from jfinkels/stdbuf-uresult
stdbuf: return UResult from uumain() function
2022-01-08 22:34:06 +01:00
Sylvestre Ledru
6637fba988
Merge pull request #2833 from jfinkels/tr-uresult
tr: return UResult from uumain() function
2022-01-08 22:30:43 +01:00
Sylvestre Ledru
a007ef2c1a
Merge pull request #2834 from jfinkels/truncate-uresult
truncate: return UResult from uumain() function
2022-01-08 22:29:57 +01:00
kimono-koans
4ea61545c6
Merge branch 'uutils:master' into ls_fix_errno_1 2022-01-07 21:48:53 -06:00
Sylvestre Ledru
9922e48ba6
Merge pull request #2853 from kimono-koans/ls_fix_first_newline
ls: Fix newline when only dirs in base directory
2022-01-07 23:10:44 +01:00
Sylvestre Ledru
c9d982fb4d
Merge pull request #2848 from jfinkels/realpath-uresult
realpath: return UResult from uumain() function
2022-01-07 21:51:57 +01:00
Sylvestre Ledru
5f778ffa2e
Merge pull request #2847 from jfinkels/pr-uresult
pr: return UResult from uumain() function
2022-01-07 21:51:41 +01:00
Sylvestre Ledru
480bd3c36a
Merge pull request #2835 from jfinkels/tsort-uresult
tsort: return UResult from uumain() function
2022-01-07 21:51:25 +01:00
Sylvestre Ledru
0f4b0fd9cd
Merge pull request #2832 from jfinkels/timeout-uresult
timeout: return UResult from uumain() function
2022-01-07 21:51:01 +01:00
Sylvestre Ledru
3f27597fca
Merge pull request #2823 from jfinkels/split-uresult
split: return UResult from uumain() function
2022-01-07 21:49:11 +01:00
Sylvestre Ledru
c14ba865ce
Merge pull request #2821 from jfinkels/runcon-uresult
runcon: return UResult from uumain() function
2022-01-07 21:47:51 +01:00
Sylvestre Ledru
969f3cbf39
Merge pull request #2793 from tertsdiepraam/cksum-result-io-error
`cksum`: use `UIoError`
2022-01-07 21:47:01 +01:00
electricboogie
01585a57f6 Fix Errno 1, print errors at the md call point 2022-01-07 00:38:24 -06:00
electricboogie
30b2425541 Fix newline when only dirs in base directory, and test 2022-01-06 14:58:56 -06:00
Justin Tracey
9ad8a03646 join: operate on bytes instead of Strings 2022-01-05 13:24:10 -05:00
kimono-koans
421330d07a
ls: Improve error handling and other improvements (#2809)
*  print error in the correct order by flushing the stdout buffer before printing an error
*  print correct GNU error codes
*  correct formatting for config.inode, and for dangling links
*  correct padding for Format::Long
*  remove colors after the -> link symbol as this doesn't match GNU
*  correct the major, minor #s for char devices, and correct padding
*  improve speed for all metadata intensive ops by not allocating metadata unless in a Sort mode
*  new tests, have struggled with how to deal with stderr, stdout ordering in a test though
*  tried to implement UIoError, but am still having issues matching the formatting of GNU


Co-authored-by: electricboogie <32370782+electricboogie@users.noreply.github.com>
2022-01-05 14:50:37 +01:00
Sylvestre Ledru
ae7190ec73
Merge pull request #2846 from jfinkels/wc-uresult
wc: return UResult from uumain() function
2022-01-05 14:39:39 +01:00
Sylvestre Ledru
64effa5e78
Merge branch 'master' into split-uresult 2022-01-05 13:51:48 +01:00
Sylvestre Ledru
8ef2ea1356
Merge pull request #2830 from jfinkels/tee-uresult
tee: return UResult from uumain() function
2022-01-05 13:51:05 +01:00
Jeffrey Finkelstein
b30a20d895 chcon: return UResult from uumain() function 2022-01-02 20:08:11 -05:00
Jeffrey Finkelstein
49dca9adcb realpath: return UResult from uumain() function 2022-01-02 19:59:15 -05:00
Jeffrey Finkelstein
c80e44fb08 pr: return UResult from uumain() function 2022-01-02 19:48:52 -05:00
Jeffrey Finkelstein
cb92db322b timeout: return UResult from uumain() function 2022-01-02 19:41:21 -05:00
Jeffrey Finkelstein
9caf15c44f fixup! wc: return UResult from uumain() function 2022-01-02 19:40:22 -05:00
Sylvestre Ledru
cd1a0fbe36
Merge pull request #2841 from sbentmar/add-suffix-to-numfmt
numfmt: implement missing --suffix option
2022-01-02 23:07:29 +01:00
Sylvestre Ledru
3c68988ae7
Merge pull request #2843 from tertsdiepraam/stdbuf/fix-cargo-git-build
stdbuf: fix cargo --git build (#1276) (Attempt 2)
2022-01-02 23:06:59 +01:00
Sylvestre Ledru
e7dd56c1d5
Merge pull request #2845 from jfinkels/unexpand-uresult
unexpand: return UResult from uumain() function
2022-01-02 19:02:30 +01:00
Jeffrey Finkelstein
e060ac53f2 wc: return UResult from uumain() function 2022-01-02 11:15:30 -05:00
Jeffrey Finkelstein
f89dc6585d unexpand: return UResult from uumain() function 2022-01-02 10:33:41 -05:00
Jeffrey Finkelstein
b7e646e710 tty: return UResult from uumain() function 2022-01-02 10:28:53 -05:00
Terts Diepraam
ebd5e965e9 stdbuf: fix cargo --git build (#1276) 2022-01-02 14:17:05 +01:00
Sebastian Holgersson
a3895bba59 numfmt: replace if let with simpler match 2022-01-02 02:16:59 +01:00
Sylvestre Ledru
406cd887e0
Merge pull request #2828 from jfinkels/sum-uresult
sum: return UResult from uumain() function
2022-01-01 22:37:01 +01:00
Sylvestre Ledru
8673fbaa03
Merge pull request #2829 from jfinkels/sync-uresult
sync: return UResult from uumain() function
2022-01-01 22:36:11 +01:00
Sylvestre Ledru
46767952ce
Merge pull request #2831 from jfinkels/test-uresult
test: return UResult from uumain() function
2022-01-01 22:35:51 +01:00
Sebastian Holgersson
af5919e466 numfmt: implement missing --suffix option
adds support for the --suffix option from issue #1280.
2022-01-01 21:57:23 +01:00
Terts Diepraam
7fa720d311 fix lint, fmt & udeps errors 2022-01-01 19:43:44 +01:00
Terts Diepraam
62341112df remove cut-specific macros 2022-01-01 18:50:34 +01:00
Terts Diepraam
c075f105a4 remove unnecessary and unused macros 2022-01-01 18:31:47 +01:00
Jeffrey Finkelstein
d03dcc0231 test: return UResult from uumain() function 2021-12-31 18:25:26 -05:00
Jeffrey Finkelstein
3339060ece tsort: return UResult from uumain() function 2021-12-31 14:57:00 -05:00
Jeffrey Finkelstein
c23a844c1e truncate: return UResult from uumain() function 2021-12-31 14:50:52 -05:00
Jeffrey Finkelstein
21c1d832ae tr: return UResult from uumain() function 2021-12-31 14:44:57 -05:00
Jeffrey Finkelstein
1ead016f35 fixup! sync: return UResult from uumain() function 2021-12-31 14:28:27 -05:00
Jeffrey Finkelstein
28958a3ed2 tee: return UResult from uumain() function 2021-12-31 14:07:39 -05:00
Jeffrey Finkelstein
4e16717c22 sync: return UResult from uumain() function 2021-12-31 13:59:20 -05:00
Jeffrey Finkelstein
29d7103670 sum: return UResult from uumain() function 2021-12-31 13:53:56 -05:00
Jeffrey Finkelstein
df188258ec stdbuf: return UResult from uumain() function 2021-12-31 12:23:45 -05:00
Jeffrey Finkelstein
1f937b0760 split: return UResult from uumain() function 2021-12-31 12:19:36 -05:00
Jeffrey Finkelstein
b5522e1132 runcon: return UResult from uumain() function 2021-12-31 12:12:13 -05:00
Sylvestre Ledru
cb051e7416
Merge pull request #2825 from jfinkels/stat-uresult
stat: return UResult from uumain() function
2021-12-31 11:06:02 +01:00
Sylvestre Ledru
e3ba10cf1f
Merge pull request #2824 from jfinkels/split-strategy-enum
split: replace string checking with Strategy enum
2021-12-31 10:44:49 +01:00
Sylvestre Ledru
3e97de6946
Merge pull request #2820 from jfinkels/rm-uresult
rm: return UResult from uumain() function
2021-12-31 10:43:47 +01:00
Sylvestre Ledru
a99ce6f3f0
Merge pull request #2819 from jfinkels/relpath-uresult
relpath: return UResult from uumain() function
2021-12-31 10:43:21 +01:00
Sylvestre Ledru
60f501bab3
Merge pull request #2818 from jfinkels/readlink-uresult
readlink: return UResult from uumain() function
2021-12-31 10:43:09 +01:00
Sylvestre Ledru
e08f94ca28
Merge pull request #2817 from jfinkels/ptx-uresult
ptx: return UResult from uumain() function
2021-12-31 10:42:45 +01:00
Jeffrey Finkelstein
a862fdd60b stat: return UResult from uumain() function 2021-12-30 22:39:23 -05:00
Jeffrey Finkelstein
8f04613a84 split: create Strategy enum for chunking strategy 2021-12-30 22:18:17 -05:00
Jeffrey Finkelstein
25d0ccc61d split: move parsing outside of *Splitter::new()
Move the parsing of the output chunk size from inside
`ByteSplitter::new()` and `LineSplitter::new()` to outside. This
eliminates duplicate code and reduces the responsibilities of the
`ByteSplitter` and `LineSplitter` implementations.
2021-12-30 22:17:26 -05:00
Jeffrey Finkelstein
75e742a008 split: correct help text for -l option 2021-12-30 22:17:20 -05:00
Sylvestre Ledru
9f21cd0d37
Merge pull request #2822 from jfinkels/shred-uresult
shred: return UResult from uumain() function
2021-12-30 09:51:51 +01:00
Jeffrey Finkelstein
e9093681a5 shred: return UResult from uumain() function 2021-12-29 20:33:04 -05:00
Sylvestre Ledru
a8457bfad6
Merge pull request #2798 from jfinkels/fmt-uresult
fmt: return UResult from uumain() function
2021-12-29 21:59:50 +01:00
Jeffrey Finkelstein
f6305e2a3e rm: return UResult from uumain() function 2021-12-29 15:57:55 -05:00
Jeffrey Finkelstein
ab495427b4 relpath: return UResult from uumain() function 2021-12-29 15:49:30 -05:00
Jeffrey Finkelstein
980708cdee readlink: return UResult from uumain() function 2021-12-29 14:44:22 -05:00
Jeffrey Finkelstein
2a7831bd94 readlink: eliminate duplicate code 2021-12-29 14:42:00 -05:00
Jeffrey Finkelstein
da198e5469 ptx: return UResult from uumain() function 2021-12-29 14:28:45 -05:00
Terts Diepraam
4ae838a8b2
Merge pull request #2786 from E3uka/cut_uresult
cut: use UResult
2021-12-29 15:24:05 +01:00
Terts Diepraam
25c10ad540
Merge pull request #2791 from jfinkels/csplit-uresult
csplit: return UResult from uumain() function
2021-12-29 15:21:56 +01:00
jfinkels
8a55205521
seq: return UResult from uumain() function (#2784) 2021-12-29 15:20:17 +01:00
jfinkels
3f18b98c9d
dd: return UResult from uumain() function (#2792)
* dd: return UResult from uumain() function

* fixup! dd: return UResult from uumain() function
2021-12-29 15:13:52 +01:00
Terts Diepraam
645eea0c09
Merge pull request #2815 from jfinkels/printf-uresult
printf: return UResult from uumain() function
2021-12-29 15:10:20 +01:00
Terts Diepraam
12770ca2a9
Merge pull request #2814 from jfinkels/pinky-uresult
pinky: return UResult from uumain() function
2021-12-29 15:09:58 +01:00
Terts Diepraam
a285e8bfa9
Merge pull request #2813 from jfinkels/pathchk-uresult
pathchk: return UResult from uumain() function
2021-12-29 15:09:30 +01:00
Terts Diepraam
36b4ab4e7e
Merge pull request #2812 from jfinkels/paste-uresult
paste: return UResult from uumain() function
2021-12-29 15:09:12 +01:00
Terts Diepraam
80fab36639
Merge pull request #2811 from jfinkels/od-uresult
od: return UResult from uumain() function
2021-12-29 15:08:49 +01:00
Terts Diepraam
463127f59f
Merge pull request #2810 from jfinkels/numfmt-uresult
numfmt: return UResult from uumain() function
2021-12-29 15:08:27 +01:00
Terts Diepraam
5faf7a37f9
Merge pull request #2808 from jfinkels/nohup-uresult
nohup: return UResult from uumain() function
2021-12-29 15:08:04 +01:00
Terts Diepraam
689ae1dd84
Merge pull request #2807 from jfinkels/nice-uresult
nice: return UResult from uumain() function
2021-12-29 15:07:40 +01:00
Terts Diepraam
46a6b85ba0
Merge pull request #2806 from jfinkels/mv-uresult
mv: return UResult from uumain() function
2021-12-29 15:07:12 +01:00
Terts Diepraam
3a76cbe9b9
Merge pull request #2805 from jfinkels/mknod-uresult
mknod: return UResult from uumain() function
2021-12-29 15:06:37 +01:00
Terts Diepraam
92259b6959
Merge pull request #2804 from jfinkels/mkfifo-uresult
mkfifo: return UResult from uumain() function
2021-12-29 15:06:03 +01:00
Terts Diepraam
b81fb167e2
Merge pull request #2803 from jfinkels/logname-uresult
logname: return UResult from uumain() function
2021-12-29 15:05:23 +01:00
Terts Diepraam
27da982150
Merge pull request #2802 from jfinkels/link-uresult
link: return UResult from uumain() function
2021-12-29 15:05:01 +01:00
Terts Diepraam
50bd240451
Merge pull request #2801 from jfinkels/join-uresult
join: return UResult from uumain() function
2021-12-29 15:04:37 +01:00
Terts Diepraam
2d77ea6b68
Merge pull request #2800 from jfinkels/hashsum-uresult
hashsum: return UResult from uumain() function
2021-12-29 15:04:03 +01:00
Terts Diepraam
ee60d58410
Merge pull request #2799 from jfinkels/groups-uresult
groups: return UResult from uumain() function
2021-12-29 15:03:31 +01:00
Terts Diepraam
2fa0c55a6e
Merge pull request #2797 from jfinkels/factor-uresult
factor: return UResult from uumain() function
2021-12-29 15:02:22 +01:00
Terts Diepraam
a6f5238f19
Merge pull request #2796 from jfinkels/expand-uresult
expand: return UResult from uumain() function
2021-12-29 15:01:40 +01:00
Terts Diepraam
bd98dda7fb
Merge pull request #2795 from jfinkels/dircolor-uresult
dircolors: return UResult from uumain() function
2021-12-29 15:00:34 +01:00
Terts Diepraam
33bd5e0913
Merge pull request #2788 from jfinkels/chroot-uresult
chroot: return UResult from uumain() function
2021-12-29 14:59:39 +01:00
Jeffrey Finkelstein
c875eef632 printf: return UResult from uumain() function 2021-12-28 21:05:32 -05:00
Jeffrey Finkelstein
a6a4e0acd2 pinky: return UResult from uumain() function 2021-12-28 20:59:55 -05:00
Jeffrey Finkelstein
fcd5c0a30f pathchk: return UResult from uumain() function 2021-12-28 20:43:57 -05:00
Jeffrey Finkelstein
dd9ce9d267 paste: return UResult from uumain() function 2021-12-28 20:27:13 -05:00
Jeffrey Finkelstein
45a5fb8391 od: return UResult from uumain() function 2021-12-28 20:07:21 -05:00
Jeffrey Finkelstein
595d4dbb95 numfmt: return UResult from uumain() function 2021-12-28 19:46:20 -05:00
Jeffrey Finkelstein
f91773037e nohup: return UResult from uumain() function 2021-12-28 14:45:29 -05:00
Jeffrey Finkelstein
b89bb391c2 nice: return UResult from uumain() function 2021-12-27 19:44:26 -05:00
Jeffrey Finkelstein
d8c5b50923 mv: return UResult from uumain() function 2021-12-27 19:35:38 -05:00
Jeffrey Finkelstein
882a293974 mknod: return UResult from uumain() function 2021-12-27 18:49:35 -05:00
Jeffrey Finkelstein
b8bc5129fa mkfifo: return UResult from uumain() function 2021-12-27 18:37:28 -05:00
Jeffrey Finkelstein
14c62cc5e3 logname: return UResult from uumain() function 2021-12-27 18:32:39 -05:00
Jeffrey Finkelstein
a882b0cf3e link: return UResult from uumain() function 2021-12-27 18:26:25 -05:00
Jeffrey Finkelstein
a8c2beb548 join: return UResult from uumain() function 2021-12-27 15:53:21 -05:00
Jeffrey Finkelstein
354cd7d3df hashsum: return UResult from uumain() function 2021-12-27 15:46:47 -05:00
Jeffrey Finkelstein
c3cf88df83 groups: return UResult from uumain() function 2021-12-27 15:22:55 -05:00
Jeffrey Finkelstein
be13ff4890 fmt: return UResult from uumain() function 2021-12-26 16:41:16 -05:00
Jeffrey Finkelstein
e9fc964a3e factor: return UResult from uumain() function 2021-12-26 16:06:33 -05:00
Jeffrey Finkelstein
bb3efc7c30 expand: return UResult from uumain() function 2021-12-26 16:02:35 -05:00
Jeffrey Finkelstein
adce52571d dircolors: return UResult from uumain() function 2021-12-26 15:57:23 -05:00
Ebuka Agbanyim
ae6e3fdaf7 cut: use UResult 2021-12-26 20:56:23 +00:00
Terts Diepraam
7ae9e0a7eb cksum: accept directories as empty files 2021-12-26 21:50:13 +01:00
Jeffrey Finkelstein
f2bf1a7ff7 fixes suggested by nightly version of clippy 2021-12-26 15:45:33 -05:00
Jeffrey Finkelstein
a84f57dd1f fixup! csplit: return UResult from uumain() function 2021-12-26 15:20:09 -05:00
Terts Diepraam
8885263ad5 cksum: use UIoError 2021-12-26 18:41:25 +01:00
Terts Diepraam
4b4a83ac2e
Merge pull request #2789 from jfinkels/cksum-uresult
cksum: return UResult from uumain() function
2021-12-26 18:30:30 +01:00
Jeffrey Finkelstein
a26fbe7c8e csplit: return UResult from uumain() function 2021-12-25 20:19:16 -05:00
Sylvestre Ledru
5f71e0c8c8
Merge pull request #2790 from jfinkels/comm-uresult
comm: return UResult from uumain() function
2021-12-25 10:41:39 +01:00
Sylvestre Ledru
4ada922a4a
Merge pull request #2741 from jfinkels/seq-width-negative-decimal
seq: correct width for certain negative decimals
2021-12-24 20:46:43 +01:00
Jeffrey Finkelstein
2aebfc9f8d comm: return UResult from uumain() function 2021-12-24 13:40:18 -05:00
Jeffrey Finkelstein
aacbfe681f chroot: return UResult from uumain() function 2021-12-24 13:26:48 -05:00
Jeffrey Finkelstein
6f7ce781cb cksum: return UResult from uumain() function 2021-12-24 13:24:09 -05:00
Jeffrey Finkelstein
294bde8e08 seq: correct width for certain negative decimals
Fix a bug in which a negative decimal input would not be displayed with
the correct width in the output. Before this commit, the output was
incorrectly

    $ seq -w -.1 .1 .11
    -0.1
    0.0
    0.1

After this commit, the output is correctly

    $ seq -w -.1 .1 .11
    -0.1
    00.0
    00.1

The code was failing to take into account that the input decimal "-.1"
needs to be displayed with a leading zero, like "-0.1".
2021-12-23 20:37:29 -05:00
Jeffrey Finkelstein
b8c572b32d tac: return UResult from uumain() function 2021-12-23 20:30:51 -05:00
kimono-koans
fd64e01d92
ls: Reduce binary size of ls by removing regex crate (#2781) 2021-12-22 18:31:45 +01:00
Sylvestre Ledru
a3041843c9 bump the platform-info dep 2021-12-18 00:04:03 +01:00
Jeffrey Finkelstein
e88a8e8eb2 more: return Ok in main loop 2021-12-15 20:49:41 -05:00
Sylvestre Ledru
5e2dd9d0bc
Merge pull request #2767 from E3uka/more_uresult
more: use UResult
2021-12-15 23:40:38 +01:00
Sylvestre Ledru
5bcc53ecde
Merge pull request #2771 from E3uka/next_prev
more: add next-line and prev-line command.
2021-12-15 23:39:09 +01:00
electricboogie
a1960f5da0
Fix cp bug: pre-write permission change (#2769) 2021-12-15 22:18:02 +01:00
Ebuka Agbanyim
d2095edf6c more: add next-line and prev-line command. 2021-12-14 19:32:38 +00:00
Ebuka Agbanyim
0bf2266ef0 more: use UResult 2021-12-13 00:37:34 +00:00
electricboogie
c7f7a222b9
Fix mv bug: Should be able to stat files, but not able to mv if source and target are the same (#2763)
Closes #2760
2021-12-12 17:49:38 +01:00
Jan Verbeek
f2ddae93fa uucore::entries: Make Passwd::locate and Group::locate thread-safe 2021-11-26 14:48:33 +01:00
Hanif Ariffin
c86cb91dee Merge branch 'master' of github.com:uutils/coreutils into hbina-tr-reimplement-expansion 2021-11-26 16:39:27 +08:00
Sylvestre Ledru
fe286fa8c8
Merge pull request #2749 from thomasqueirozb/utils_uresult
basename+date+fold+nl+nproc+shuf+uname: use UResult
2021-11-25 13:43:46 +01:00
Smicry
81a1fde9f4 tail use UResult 2021-11-21 12:37:56 +08:00
Hanif Ariffin
38659de66d Merge branch 'master' of github.com:uutils/coreutils into hbina-tr-reimplement-expansion 2021-11-20 17:06:36 +08:00
Hanif Ariffin
0d3fa51d1e Add license headers
Signed-off-by: Hanif Ariffin <hanif.ariffin.4326@gmail.com>
2021-11-20 17:04:28 +08:00
Roy Ivy III
7e06ddaa92 fix/tee ~ repair 'unstable_name_collisions' compiler warning 2021-11-19 21:40:22 -06:00
Roy Ivy III
7784a252f2 fix/yes ~ revise to match 'nix' changes 2021-11-19 18:04:53 -06:00
Roy Ivy III
03e0cbb020 update 'nix' within workspace to force patched version 2021-11-19 17:55:03 -06:00
Roy Ivy III
f07a1749a1 fix spell-check errors 2021-11-19 17:55:02 -06:00
Roy Ivy III
f20aa49821 maint/CICD ~ (GHA) fix cargo-udeps false positives (add 'ignore' exceptions to sub-crates) 2021-11-19 17:55:02 -06:00
Sylvestre Ledru
43bdcaf212
Merge pull request #2532 from hbina/hbina-rm-silently-accept-presume-input-tty
Silently accepts ---presume-input-tty
2021-11-19 21:42:41 +01:00
Sylvestre Ledru
b4416abc82
Merge pull request #2743 from thomasqueirozb/who_uresult
who: use UResult
2021-11-19 21:41:14 +01:00
Sylvestre Ledru
01440734a4
Merge pull request #2735 from thomasqueirozb/printenv_env_compat
env+printenv: use UResult + improve compatibility
2021-11-19 21:39:34 +01:00
Sylvestre Ledru
da69ab19db
Merge pull request #2745 from thomasqueirozb/chmod_uresult
chmod: use UResult
2021-11-19 21:38:31 +01:00
Smicry
fc851e036b
Implement tail -<number> (#2747)
And add obsolete_syntax test
2021-11-19 21:37:47 +01:00
Thomas Queiroz
ed3e6b5201
uname: use UResult 2021-11-16 20:35:28 -03:00
Thomas Queiroz
06f3db8c55
shuf: use UResult 2021-11-16 20:35:28 -03:00
Thomas Queiroz
bcef1d6cca
nproc: use UResult 2021-11-16 20:35:28 -03:00
Thomas Queiroz
f015b041ec
nl: use UResult 2021-11-16 20:35:28 -03:00
Thomas Queiroz
a7d18f43b4
fold: use UResult 2021-11-16 20:35:28 -03:00
Thomas Queiroz
abc93d6f17
date: use UResult 2021-11-16 20:35:28 -03:00
Thomas Queiroz
2dc4cba64a
basename: use UResult 2021-11-16 17:51:56 -03:00
Roy Ivy III
363453f5e4 tests ~ (factor) refactor divisor() to return quickcheck::TestResult
- return standard quickcheck results
- drop `a == 0 && b == 0` from test domain via TestResult::discard()
- avoid divide by zero panics
- ref: #1589
2021-11-13 14:18:23 -06:00
Roy Ivy III
740d8e9bc5 docs/factor ~ (BENCHMARKING.md) fix formatting, returning missing newlines 2021-11-13 11:07:02 -06:00
Hanif Bin Ariffin
da46cc8015 Merge branch 'master' of github.com:uutils/coreutils into hbina-tr-reimplement-expansion 2021-11-13 18:33:25 +08:00
Thomas Queiroz
670ed6324b
chmod: use UResult 2021-11-12 18:29:08 -03:00
Sylvestre Ledru
177374aa5a
Merge pull request #2740 from jfinkels/seq-inf-width-spaces
seq: correct fixed-width spacing for inf sequences
2021-11-12 21:16:40 +01:00
nicoo
bed45602a7 factor/Cargo.toml: Document feature pending a MinRustV bump 2021-11-10 15:26:36 +01:00
nicoo
32b0178a72 factor: Update to current versions of smallvec
smallvec 1.0 and later wasn't compatible with Rust 1.33 but the
minimum supported Rust version for coreutils moved on.
2021-11-10 15:12:37 +01:00
Thomas Queiroz
cbe6d7d5c1
who: use UResult 2021-11-09 20:00:34 -03:00
Jeffrey Finkelstein
0b86afa858 seq: correct fixed-width spacing for inf sequences
Pad infinity and negative infinity values with spaces when using the
`-w` option to `seq`. This corrects the behavior of `seq` to match that
of the GNU version:

    $ seq -w 1.000 inf inf | head -n 4
    1.000
      inf
      inf
      inf

Previously, it incorrectly padded with 0s instead of spaces.
2021-11-08 20:12:54 -05:00
jfinkels
2e12316ae1
seq: use BigDecimal to represent floats (#2698)
* seq: use BigDecimal to represent floats

Use `BigDecimal` to represent arbitrary precision floats in order to
prevent numerical precision issues when iterating over a sequence of
numbers. This commit makes several changes at once to accomplish this
goal.

First, it creates a new struct, `PreciseNumber`, that is responsible for
storing not only the number itself but also the number of digits (both
integer and decimal) needed to display it. This information is collected
at the time of parsing the number, which lives in the new
`numberparse.rs` module.

Second, it uses the `BigDecimal` struct to store arbitrary precision
floating point numbers instead of the previous `f64` primitive
type. This protects against issues of numerical precision when
repeatedly accumulating a very small increment.

Third, since neither the `BigDecimal` nor `BigInt` types have a
representation of infinity, minus infinity, minus zero, or NaN, we add
the `ExtendedBigDecimal` and `ExtendedBigInt` enumerations which extend
the basic types with these concepts.

* fixup! seq: use BigDecimal to represent floats

* fixup! seq: use BigDecimal to represent floats

* fixup! seq: use BigDecimal to represent floats

* fixup! seq: use BigDecimal to represent floats

* fixup! seq: use BigDecimal to represent floats
2021-11-06 15:44:42 +01:00
equal-l2
cda3d5a29b ls: add possible value for --color= 2021-11-06 03:42:27 +09:00
Thomas Queiroz
a290c77cfc
env: add contributor 2021-11-04 20:18:59 -03:00
Hanif Bin Ariffin
ac68bc9ac7 Merge branch 'master' of github.com:uutils/coreutils into hbina-rm-silently-accept-presume-input-tty 2021-11-04 16:57:14 +08:00
Hanif Bin Ariffin
a9bc457d89 Merge branch 'master' of github.com:uutils/coreutils into hbina-tr-reimplement-expansion 2021-11-04 16:55:55 +08:00
Thomas Queiroz
8ad95c375a
env: force specifying command with --chdir 2021-11-02 20:06:23 -03:00
Thomas Queiroz
013405d1e6
env: change -c to -C 2021-11-02 19:51:45 -03:00
Thomas Queiroz
3d74e7b452
env: prevent panic when unsetting invalid variable 2021-11-02 19:42:52 -03:00
Thomas Queiroz
db00fab7e4
env: use UResult everywhere 2021-11-02 19:17:54 -03:00
Thomas Queiroz
b157a73a1f
printenv: change exit code when variable not found
GNU printenv has this behavior
2021-11-02 18:36:28 -03:00
Thomas Queiroz
f2a3a1f920
printenv: use UResult 2021-11-02 18:36:28 -03:00
Michael Debertol
a05628f018
Merge pull request #2731 from thomasqueirozb/env_empty_name
env: don't panic when name is empty
2021-11-02 21:33:42 +01:00
Thomas Queiroz
1afc7242a5
env: change comment 2021-11-02 17:23:34 -03:00
Thomas Queiroz
c58bd9f569
env: don't panic when name is empty 2021-11-02 16:40:03 -03:00
Hanif Bin Ariffin
5a056c2c93 Merge branch 'master' of github.com:uutils/coreutils into hbina-tr-reimplement-expansion 2021-11-02 20:58:03 +08:00
Michael Debertol
7c94bb082e
Merge pull request #2726 from thomasqueirozb/strip_pre_suffix
uu+tests: use strip_prefix and strip_suffix
2021-11-01 23:34:27 +01:00
Michael Debertol
3fdff304db cp: handle edge cases when dest is a symlink
- Fail if dest is a dangling symlink
- Fail if dest is a symlink that was previously created by the same
invocation of cp
2021-11-01 22:48:48 +01:00
Michael Debertol
8696193b66 cat: use FileInformation from uucore 2021-11-01 22:42:15 +01:00
Hanif Bin Ariffin
33b5e67bea Merge branch 'master' of github.com:uutils/coreutils into hbina-tr-reimplement-expansion 2021-10-30 10:01:41 +08:00
Kevin Burke
3e1c5c2d99
rm: allow -r flag to be specified multiple times
GNU rm allows the `-r` flag to be specified multiple times, but
uutils/coreutils would previously exit with an error.

I encountered this while attempting to run `make clean` on the
Postgres source tree (github.com/postgres/postgres).

Updates #1663.
2021-10-28 22:47:07 -07:00
Hanif Bin Ariffin
02fd7176b7 Merge branch 'master' of https://github.com/uutils/coreutils into hbina-tr-reimplement-expansion 2021-10-27 13:08:57 +08:00
Thomas Queiroz
007f1b9f84
uu+tests: use strip_prefix and strip_suffix 2021-10-24 12:23:32 -03:00
Sylvestre Ledru
15fcbf3aac
Merge pull request #2728 from thomasqueirozb/uniq_uresult
uniq: use UResult
2021-10-24 09:46:22 +02:00
Hanif Bin Ariffin
002584d0dd Merge branch 'hbina-tr-reimplement-expansion' of github.com:hbina/coreutils into hbina-tr-reimplement-expansion 2021-10-24 11:41:19 +08:00
Hanif Bin Ariffin
2dad536785 Merge branch 'master' of github.com:uutils/coreutils into hbina-tr-reimplement-expansion
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-10-24 11:40:42 +08:00
Thomas Queiroz
ea9b239841
uniq: use UResult 2021-10-24 00:03:33 -03:00
Thomas Queiroz
1f15b8fce4
cksum: use while loops instead of unroll! 2021-10-23 23:25:22 -03:00
Thomas Queiroz
21a2d0ce40
sort: use Range.is_empty 2021-10-23 23:22:21 -03:00
Thomas Queiroz
5e5bb91043
sort: remove unecessary implementation 2021-10-23 23:21:45 -03:00
Sylvestre Ledru
43e85ae9ce install: Also import fs from uucore 2021-10-24 00:33:00 +02:00
Sylvestre Ledru
6946377e02 cp: Also import entries from uucore 2021-10-24 00:29:24 +02:00
Sylvestre Ledru
b5977021bc Fix the uu_base32 dep 2021-10-24 00:12:05 +02:00
Sylvestre Ledru
995826e4a2
Merge pull request #2724 from sylvestre/silent-a-warning-2
Ignore two question-mark warnings
2021-10-23 23:46:59 +02:00