Commit graph

7085 commits

Author SHA1 Message Date
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
Terts Diepraam
96d3a95a39 test: fix wsl executable permission 2022-01-31 00:22:21 +01: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
Sylvestre Ledru
a20bf22592
Merge pull request #2974 from sylvestre/ci-size
Run the release builds and store the size
2022-01-30 22:17:05 +01:00
Sylvestre Ledru
beca3ae2b5
Merge pull request #2968 from danieleades/refactor/code-quality2
Squash some repetitive `match` blocks
2022-01-30 22:08:50 +01:00
Sylvestre Ledru
96a6784b48
Merge pull request #2972 from sylvestre/sphinx
ci: Remove the sphinx legacy
2022-01-30 22:08:08 +01:00
Allan Douglas R. de Oliveira
f22051a4e1 Updated sha libraries 2022-01-30 17:23:02 -03:00
Terts Diepraam
e01e2141f5 ls: fix flaky test (#2969) 2022-01-30 20:09:20 +01:00
Sylvestre Ledru
90949ae045 Run the release builds and store the size 2022-01-30 19:58:47 +01:00
Sylvestre Ledru
6112ac5750 ci: Remove the sphinx legacy 2022-01-30 19:50:59 +01: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
Sylvestre Ledru
fa7a0ecf3f
Merge pull request #2962 from Dr-Emann/phf_dispatch
Use a PHF map for util_map()
2022-01-30 18:24:30 +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
Sylvestre Ledru
ff4ac206f5
Merge pull request #2967 from tertsdiepraam/make-remove-installdir
make: no longer create INSTALLDIR_MAN
2022-01-30 16:40:55 +01:00
Sylvestre Ledru
c57ea0a938
Merge pull request #2964 from biomunky/2940
fix: update itertools 0.8.0 -> 0.10.0
2022-01-30 16:40:39 +01: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
Zachary Dremann
f9f7e7d490 Avoid unneeded Strings in building phf map 2022-01-30 08:49:34 -05:00
Terts Diepraam
6cfed3bd50 make: no longer create INSTALLDIR_MAN
Creating this is no longer necessary and might result in a permission error, which causes installation errors
2022-01-30 14:47:29 +01:00
Zachary Dremann
ad847fa645 Add codegen to the jargon wordlist 2022-01-30 08:40:29 -05:00
Daniel Eades
f4c6ea0ee8 remove unnecessary 'to_owned' 2022-01-30 14:01:21 +01:00
Daniel Eades
8bb6c4effa use pointer args 2022-01-30 14:01:21 +01:00
Daniel Eades
191e29f951 simplify some boolean operations 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
Zachary Dremann
bb41f4ffe5 Use a PHF map for util_map()
Rather than building a HashMap at compile time, use the phf (and phf_codegen) crate to build the map
at compile time in build.rs
2022-01-30 06:58:33 -05: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
71c889116e Fix formatting and unused variable checks 2022-01-30 00:33:06 -08: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
5afc3354f2
Merge pull request #2956 from water-ghosts/fix-documentation-link
README: Update link for Developer Documentation
2022-01-29 22:14:51 +01:00
Eli Youngs
23ec195962 Fix 404 link 2022-01-29 12:55:07 -08:00
Sylvestre Ledru
5dd7d13cbd
Merge pull request #2948 from tertsdiepraam/new-macros
all: change macros
2022-01-29 18:51:32 +01: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