2
0
Fork 0
mirror of https://github.com/uutils/coreutils synced 2024-12-21 10:33:24 +00:00
Commit graph

1959 commits

Author SHA1 Message Date
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: 
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
Thomas Queiroz
670ed6324b
chmod: use UResult 2021-11-12 18:29:08 -03:00
Sylvestre Ledru
177374aa5a
Merge pull request 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 ()
* 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
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 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
Michael Debertol
7c94bb082e
Merge pull request from thomasqueirozb/strip_pre_suffix
uu+tests: use strip_prefix and strip_suffix
2021-11-01 23:34:27 +01: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 .
2021-10-28 22:47:07 -07: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 from thomasqueirozb/uniq_uresult
uniq: use UResult
2021-10-24 09:46:22 +02: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 from sylvestre/silent-a-warning-2
Ignore two question-mark warnings
2021-10-23 23:46:59 +02:00
Sylvestre Ledru
d286c3ba4b
Merge pull request from Smicry/master
uniq: use UResult in util
2021-10-23 21:35:51 +02:00
Sylvestre Ledru
a5bc2211d5 Ignore two question-mark warnings 2021-10-23 20:59:19 +02:00
Sylvestre Ledru
f28da04fc5
Merge pull request from sylvestre/version
Prepare version 0.0.8
2021-10-23 20:56:27 +02:00
Smicry
0ffbf28cba uniq: use UResult in util 2021-10-24 02:02:49 +08:00
Sylvestre Ledru
59e9870c56 Prepare version 0.0.8 2021-10-23 19:21:50 +02:00
Sylvestre Ledru
3ffc4c07eb fix a map-clone warning 2021-10-23 19:19:52 +02:00
Sylvestre Ledru
4c8b74797f Silent question_mark clippy warnings 2021-10-23 19:19:36 +02:00
Sylvestre Ledru
610fde45ef
Merge pull request from jaggededgedjustice/support-symboli-modes
Add symbolic mode support to mkdir
2021-10-23 17:54:15 +02:00
Sylvestre Ledru
811698b658
Merge pull request from jfinkels/head-take-lines-reader
head: use std::io::copy() with TakeLines reader
2021-10-23 17:53:44 +02:00
Sylvestre Ledru
803c05cb4a
Merge pull request from Smicry/master
head: use UResult in util
2021-10-23 17:53:35 +02:00
Jeffrey Finkelstein
858b0a9e9f head: use std::io::copy() with TakeLines reader
Replace the custom `split::walk_lines()` function with a call to
`std::io::copy()`, using a new `TakeLines` reader as the source and
`stdout` as the destination. The `TakeLines` reader is an adaptor that
scans the bytes being read for line ending characters and stops the
reading after a given number of lines has been read (similar to the
`std::io::Take` adaptor).

This change

* makes the `read_n_lines()` function more concise,
* allows it to mirror the implementation of `read_n_bytes()`,
* increases the speed of `head -n NUM`.
2021-10-20 20:59:44 -04:00
Smicry
b89b11f5da fix lint error 2021-10-21 00:22:36 +08:00
Smicry
396fa7a9b4 fix lint error 2021-10-21 00:13:28 +08:00
Smicry
2cbc2aa59b head: use UResult in util 2021-10-20 23:49:04 +08:00
Sylvestre Ledru
ede77c6099
Merge pull request from jfinkels/hashsum-crlf-windows-across-blocks
hashsum: fix handling of \r\n in Windows text mode
2021-10-19 20:50:16 +02:00
Smicry
cb34b660cb add tail usage 2021-10-19 00:15:17 +08:00
James Robson
0b2483452a Add symbolic mode support to mkdir 2021-10-16 12:57:55 +01:00
Sylvestre Ledru
40a895f79d
Merge pull request from adamreichold/tac-mmap
Minor improvements to tac
2021-10-12 21:51:38 +02:00
Jeffrey Finkelstein
429e1d0f12 head: use default() instead of new() for options
Remove the `HeadOptions::new()` function in favor of the `Default`
implementation. Both were implemented, but only `Default::default()` is
needed.
2021-10-11 18:30:03 -04:00
Jeffrey Finkelstein
d1e02665bf fixup! hashsum: fix handling of \r\n in Windows text mode 2021-10-11 18:18:29 -04:00
Jeffrey Finkelstein
c50b5ac110 hashsum: fix handling of \r\n in Windows text mode
Fix a bug in which "\r\n" was not being replaced with "\n" in text mode
on Windows. This would happen only if one call to `write()` ended with a
"\r" character and the next call to `write()` started with a "\n"
character. This commit fixes the bug by buffering a "\r" character if it
appears at the end of one call to `write()` and only writing if the
first character in the next call to `write()` is *not* a "\n" character.

Fixes issue .
2021-10-11 17:36:08 -04:00
Adam Reichold
86d22aaa1d tac: Add a simple how to for benchmarking 2021-10-10 14:29:37 +02:00
Adam Reichold
c526df57b8 tac: opportunistically use memory maps
Since tac must read its input files completely to start processing them
from the end, it is particularly suited to use memory maps to benefit
from the page cache maintained by the operating systems to bring the
necessary data into memory as required.

This does also include situations where the input is stdin, but not via
a pipe but for example a file descriptor set up by the user's shell
through an input redirection.
2021-10-10 13:20:31 +02:00
Adam Reichold
4eab275235 tac: buffer stdout more coarsely than line-based following the GNU tac implementation. 2021-10-10 13:20:31 +02:00
Adam Reichold
28b04fa899 tac: do not use a buffered read as fs::read is more efficient and io::Stdin is buffered internally 2021-10-10 13:20:31 +02:00
Adam Reichold
0d583754ca tac: lock stdout only once instead for each line 2021-10-10 13:20:31 +02:00
Adam Reichold
e041fda51d tac: do not re-compile regular expression for each file 2021-10-10 13:20:31 +02:00
Adam Reichold
b4864d760e pr: fix locking of stdout 2021-10-10 11:33:46 +02:00
Jan Scheer
3e985cb029
Merge branch 'master' into fix_chroot_2687 2021-10-10 01:04:25 +02:00
Sylvestre Ledru
080d3d2fa7
Merge pull request from vulppine/cp-uresult
cp: uumain returns UResult, implements UError for Error enum in cp.rs
2021-10-09 11:03:33 +02:00
Sylvestre Ledru
03a037e8ea
Merge pull request from vulppine/seq-hex
seq: Adds hexadecimal integer parsing
2021-10-09 11:01:42 +02:00
vulppine
cddd40b4e1 seq: Updates hex parse readability, adds hex test 2021-10-05 18:41:28 -07:00
Thomas Queiroz
e2fa6f9412
users: use UResult 2021-10-04 19:53:46 -03:00
Thomas Queiroz
00c9710206
uucore_procs+uu: specify uucore::show_error
This allows crates to use `#[uucore_procs::gen_uumain]` without `use uucore::show_error` or

    #[macro_use]
    extern crate uucore;

Removed unecessary usage
2021-10-04 19:53:16 -03:00
Sylvestre Ledru
368fa54520
Merge pull request from thomasqueirozb/base_uresult
base32 + base64 + basenc: use UResult
2021-10-03 17:34:56 +02:00
Thomas Queiroz
b924774c8a
basenc: use UResult 2021-10-02 23:17:16 -03:00
Thomas Queiroz
452329ad19
base64: use UResult 2021-10-02 23:15:40 -03:00
Thomas Queiroz
97df700d67
base32: use UResult 2021-10-02 23:12:09 -03:00
Thomas Queiroz
9dd401c358
base32: base_common use UResult 2021-10-02 23:10:00 -03:00
vulppine
d5caa0d9d8 seq: Adds hexadecimal integer parsing 2021-10-02 08:15:25 -07:00
Jeffrey Finkelstein
548a5121ae dd: use assert! instead of if then panic! 2021-10-02 10:15:15 -04:00
Jeffrey Finkelstein
6aee05a0f1 od: use assert! instead of if then panic! 2021-10-02 09:46:43 -04:00
Jeffrey Finkelstein
de158c0122 sort: replace redundant closure with function itself 2021-10-02 09:46:43 -04:00
Jeffrey Finkelstein
06ae968ecf csplit: use assert! instead of if then panic! 2021-10-02 09:46:43 -04:00
Jeffrey Finkelstein
71b7d6b57d more: remove redundant mut from stdout accesses 2021-10-02 09:46:43 -04:00
Jeffrey Finkelstein
d013461a6f ls: replace redundant closure with function itself 2021-10-02 09:46:43 -04:00
Sylvestre Ledru
b2fa51ddd9
Merge pull request from jhscheer/ls_selinux
`ls`: add support for showing SELinux context (--context/-Z)
2021-10-02 12:56:09 +02:00
vulppine
4319248bb6 cp: Changes '1' to 'EXIT_ERR' in UError impl 2021-10-01 16:45:19 -07:00
vulppine
c64f09dc59 cp: Adds a needed macro, changes a return 2021-10-01 15:18:05 -07:00
vulppine
4ff5fea502 cp: uumain returns UResult, UError for Error 2021-10-01 14:58:26 -07:00
Sylvestre Ledru
01d098993b
Merge pull request from Smicry/master
add kill -l final new line 
2021-09-29 09:58:50 +02:00
Thomas Queiroz
3882df5cdc
expr: use UResult 2021-09-25 15:36:04 -03:00
Jan Scheer
8cd8c25b0d
ls: silence clippy warnings if feat_selinx is not set 2021-09-22 13:49:08 +02:00
Jan Scheer
8f229aad87
ls: move SELinux String building logic to its own function 2021-09-22 12:24:27 +02:00
Jan Scheer
8c0b7d1314
chroot: move logic so it can be triggered by tests
* move the command building logic before the `chroot` syscall so it
will be reachable by tests that don't have root permissions.
2021-09-22 11:59:43 +02:00
Raphaël Thériault
6931dd11f1 Use non-yanked version of digest crate in hashsum 2021-09-19 12:38:56 -07:00
Jan Scheer
94fbe1edef
chroot: quick fix for
* fixes 
* change error message to better mimic GNU
2021-09-19 13:58:44 +02:00
Sylvestre Ledru
8d418cd61c
Merge pull request from oeble/kill_with_signal_name
Kill with signal name
2021-09-18 22:55:27 +02:00
Sylvestre Ledru
3e8b4045c8
Merge pull request from blyxxyz/whoami-cleanup
whoami: Cleanup
2021-09-18 17:20:09 +02:00
Sylvestre Ledru
b59bbddcbf
Merge pull request from jfinkels/hashsum-std-io-copy
hashsum: use std::io::copy() to simplify digest
2021-09-18 17:19:16 +02:00
Jan Verbeek
7ea2bfbe26 seq: replace loops with a single format string
Replace two loops that print leading and trailing 0s when printing a
number in fixed-width mode with a single call to `write!()` with the
appropriate formatting parameters.
2021-09-18 10:27:03 -04:00
Jeffrey Finkelstein
bfb1327ad4 seq: use print_seq_integers() regardless of last
Ensure that the `print_seq_integers()` function is called when the first
number and the increment are integers, regardless of the type of the
last value specified.
2021-09-18 10:27:03 -04:00
Sylvestre Ledru
522d4d39e3
Merge pull request from blyxxyz/utmpx-safety
uucore::utmpx: Make thread-safe
2021-09-18 16:15:52 +02:00
Jeffrey Finkelstein
7fea771f32 hashsum: use std::io::copy() to simplify digest
Create a `DigestWriter` struct that implements `Write` by passing bytes
directly to `Digest::input()`, so that `hashsum` can use
`std::io::copy()`. Using `std::io::copy()` eliminates some boilerplate
code around reading and writing bytes. And defining `DigestWriter` makes
it easier to add a `#[cfg(windows)]` guard around the Windows-specific
replacement of "\r\n" with "\n".
2021-09-18 09:51:33 -04:00
Jeffrey Finkelstein
3854a97749 seq: remove unused Number::num_digits() function
Remove the `Number::num_digits()` function in favor of the
`digits::num_integral_digits()` functions.
2021-09-17 23:50:13 -04:00
Jeffrey Finkelstein
2ac5dc0a70 seq: compute correct width for scientific notation
Change the way `seq` computes the number of digits needed to print a
number so that it works for inputs given in scientific notation.
Specifically, this commit parses the input string to determine whether
it is an integer, a float in decimal notation, or a float in scientific
notation, and then computes the number of integral digits and the number
of fractional digits based on that. This also supports floating point
negative zero, expressed in both decimal and scientific notation.
2021-09-17 23:49:54 -04:00
Jan Scheer
79d838b1c3
Merge branch 'master' into ls_selinux 2021-09-17 14:14:47 +02:00
Sylvestre Ledru
88a689075c
Merge pull request from jfinkels/seq-simpler-terminator-check
seq: add is_first_iteration to avoid comparisons
2021-09-17 12:19:05 +02:00
Sylvestre Ledru
3d867fcf7c
Merge pull request from blyxxyz/hostname-cleanup
hostname: Cleanup
2021-09-16 22:22:34 +02:00
Jan Verbeek
5bb56ec528
whoami: Restrict scope of unsafe
Co-authored-by: Jan Scheer <jhscheer@users.noreply.github.com>
2021-09-15 15:37:15 +02:00
Jan Verbeek
3f37ddbd22 hostname: Cleanup
- Attach context to I/O errors
- Make flags override each other
- Support invalid unicode as argument
- Call WsaCleanup() even on panic
- Do not use deprecated std::mem::uninitialized()
2021-09-15 13:45:02 +02:00
Sylvestre Ledru
7eaae75bfc add a github action job to identify unused deps 2021-09-15 12:06:50 +02:00
Jeffrey Finkelstein
53a91be2df seq: add is_first_iteration to avoid comparisons
Add the `is_first_iteration` Boolean variable to the `print_seq()`
function in order to avoid unnecessary comparisons. Specifically, before
this change, the `done_printing()` function was called twice on each
iteration of the main loop. After this change, it is only called once
per iteration.

Furthermore, this change makes the `print_seq()` function similar in
structure to the `print_seq_integers()` function.

Co-authored-by: Jan Verbeek <jan.verbeek@posteo.nl>
2021-09-14 20:57:38 -04:00
Jan Verbeek
519c0d16b3 uucore::utmpx: Make thread-safe 2021-09-14 21:17:50 +02:00
Michael Debertol
5c97c1ccc4
Merge pull request from blyxxyz/io-error-detect-os
Do not discard non-OS error messages
2021-09-14 20:21:48 +02:00
Jan Verbeek
1edd2bf3a8 Do not discard non-OS error messages 2021-09-14 15:11:54 +02:00
Jeffrey Finkelstein
60025800c3 seq: trim leading whitespace from inputs 2021-09-13 21:46:17 -04:00
Jan Verbeek
4555c85564 whoami: Cleanup
- Use modern conventions
- Restrict the scope of unsafe
- Do not use deprecated `std::mem::unitialized()`
- Do not bake unicode into design
2021-09-13 22:54:45 +02:00
Sylvestre Ledru
e9d63519dd
Merge pull request from sylvestre/unused-deps
Remove plenty of unused deps
2021-09-13 21:45:39 +02:00
Michael Debertol
570f23ac90
Merge pull request from jfinkels/seq-test-inf
seq: use stdout.write_all() instead of print!()
2021-09-13 18:34:24 +02:00
Sylvestre Ledru
a74e4bf095 shred: remove the unused dep on filetime 2021-09-13 18:15:51 +02:00
Sylvestre Ledru
a6c235bcd1 csplit: remove the unused dep on glob 2021-09-13 18:15:51 +02:00
Sylvestre Ledru
826c948234 ls: remove the unused dep on locale 2021-09-13 18:15:51 +02:00
Sylvestre Ledru
2d67252dc4 rm: only set the winapi dep on Windows 2021-09-13 18:15:51 +02:00
Sylvestre Ledru
cca2b19b4e tail: only set the winapi dep on Windows 2021-09-13 18:15:49 +02:00
Michael Debertol
5faa4c41db
Merge pull request from jfinkels/tac-regex
tac: add support for --regex option to tac
2021-09-13 18:12:57 +02:00
Sylvestre Ledru
87b6aa89e3
pr: remove unused "time" dep () 2021-09-13 18:08:51 +02:00
Sylvestre Ledru
68df4de1a2
nice: update to use the same version of nix as other programs () 2021-09-13 18:08:41 +02:00
Sylvestre Ledru
ebe897e4d4
shred: remove unused "time" dep () 2021-09-13 18:05:06 +02:00
Jan Scheer
4dc6536bb9
Merge branch 'master' into ls_selinux 2021-09-13 13:42:51 +02:00
Jan Scheer
cd2153eac6
ls: (--context/-Z) add support for invalid utf8
If security context byte slice contains invalid utf8:
* issue warning
* show replacement characters for invalid utf8 sequences
2021-09-13 13:24:44 +02:00
Sylvestre Ledru
b4f45bcc1a
Merge pull request from jfinkels/wc-remove-mut-width
wc: remove mutable min_width parameter
2021-09-13 08:25:46 +02:00
Jan Verbeek
3e0b3c93ef mktemp: Do not use unsafe 2021-09-12 21:50:36 +02:00
Jeffrey Finkelstein
7ec6452265 wc: remove mutable min_width parameter
Remove mutability from the `min_width` parameter to the `print_stats()`
function in `wc`.
2021-09-12 12:25:52 -04:00
Smicry
7e577476d8 add kill -l final new line 2021-09-12 23:20:05 +08:00
Jan Verbeek
4a20ef1850 chcon: Remove unused Options.dereference to fix Clippy 2021-09-12 13:17:55 +02:00
Sylvestre Ledru
447d6f2b61
Merge pull request from blyxxyz/dedup-splice
Move common pipe and splice functions into uucore
2021-09-12 09:23:05 +02:00
Jeffrey Finkelstein
664c7a6ec5 tac: add support for --regex option to tac
Add support for `tac --regex`, where the line separator is interpreted
as a regular expression.
2021-09-11 22:54:55 -04:00
Olivier EBLÉ
df64c19107
kill: kill old form with signal name
This commit aim to correct .
The origin of the problem was that `handle_obsolete` was not looking for
named signals but only for numbers preceded by '-'. I have made a few
changes:

- Change `handle_obsolete` to use `signal_by_name_or_value` to parse the
  possible signal.
- Since now the signal is already parsed return an `Option<usize>`
  instead of `Option<&str>` to parse later.
- Change the way to decide the pid to use from a `match` to a `if`
  because the tested element are actually not the same for each branch.
- Parse the signal from the `-s` argument outside of `kill` function for
  consistency with the "obsolete" signal case.
- Again for consistency, parse the pids outside the `kill` function.
2021-09-12 00:44:11 +02:00
Jan Scheer
e018a45b54
test_ls: add/adjust tests for SELinux context 2021-09-11 04:13:30 +02:00
Jeffrey Finkelstein
96b8616a1a seq: use stdout.write_all() instead of print!()
Change from using `print!()` to using `stdout.write_all()` in order to
allow the main function to handle broken pipe errors gracefully.
2021-09-10 20:00:26 -04:00
Jan Verbeek
b7d697753c unlink: Simplify, remove unsafe, move to core
This makes it no longer possible to pass multiple filenames, but every
other implementation I tried (GNU, busybox, FreeBSD, sbase) also
forbids that so I think it's for the best.
2021-09-10 21:50:38 +02:00
Jan Scheer
fe3645d4d5
ls: add support for showing SELinux context (--context/-Z) 2021-09-10 21:33:34 +02:00
Jan Verbeek
23647be07a cat: Use larger splice size
This raises performance by 10-20% or so.
2021-09-10 21:24:34 +02:00
Jan Verbeek
d002810a47 cat: Do not assume complete writes 2021-09-10 21:24:34 +02:00
Jan Verbeek
c1079e0b1c Move common pipe and splice functions into uucore
This cuts down on repetitive unsafe code and repetitive code in
general.
2021-09-10 21:24:34 +02:00
Jan Verbeek
91d39de16e sort: derive Default impl for FieldSelector 2021-09-10 19:25:54 +02:00
Jeffrey Finkelstein
fc77e51b64 printf: derive Default impl for FormatPrimitive 2021-09-10 19:24:59 +02:00
Jan Verbeek
d05410383f chown: Fix clippy warning to fix CI 2021-09-10 18:56:31 +02:00
Sylvestre Ledru
75e5c42e40
chown: support '.' as 'user.group' separator (like ':') ()
* chown: support '.' as 'user.group' separator (like ':')

It also manages the case:
user.name:group (valid too)

Should fix:
gnu/tests/chown/separator.sh
2021-09-10 08:15:23 +02:00
Sylvestre Ledru
ed258e3c9c
touch: add --ref as an alias () 2021-09-09 21:48:17 +02:00
Michael Debertol
2170d81621
Merge pull request from blyxxyz/update-quoting
Update filename quoting and printing
2021-09-09 20:42:00 +02:00
Michael Debertol
37c6b794c8
Merge pull request from 353fc443/uresult-uptime
uptime: added UResult
2021-09-09 20:32:06 +02:00