* echo: handle multibyte escape sequences
Bug was reported, with root cause analysis, by kkew3
Added tests were derived from test cases provided by kkew3
See https://github.com/uutils/coreutils/issues/6741
* Use concrete type
* Fix MSRV issue
* Fix non-UTF-8 argument handling
* Fix MSRV issue
* Fix Clippy violation
* Fix compiler warning
* Address PR comments
* Add MSRV TODO comments
* echo: use stdout_only_bytes instead of stdout_is_bytes
---------
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
* join: add test for multibyte separators
* join: implement support for multibyte separators
* join: use a trait instead of an enum for separator
* join: test whitespace merging
* fix#5186 by adding explicit flush.
* make test machine-independent
---------
Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
Improve the performance, both in memory and time, of the encoding
performed by the basenc (except in --z85 mode), base32, and base64
programs.
These programs now perform encoding in a buffered/streaming manner,
so encoding is not constrained by the amount of available memory.
Specifically:
- check_against_gnu_tr_tests_e: Yes, the test is about octal interpretation.
- check_against_gnu_tr_tests_ross_0a: Yes, the [Y*] generates multiple Y's, which causes conflicting replacements, which is why the operation is rejected.
- check_against_gnu_tr_tests_ross_0b: Same, plus a newline character was accidentally forgotten.
- check_against_gnu_tr_tests_fowler_1: Apparently the problem was fixed at some point.
* cp: show mode if target does not have S_IWUSR
If the target exists, and does not have the user write bit (S_IWUSR)
set, additional information should be added to the overwrite
confirmation prompt.
This should get the "i-2" test to pass. See
https://github.com/uutils/coreutils/issues/6658.
* cp: with -i, delete destination if needed
---------
Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
* uucore: add update control `none-fail`
* uucore: show suggestion when parse errors occurs because of an ambiguous value
* added tests for fail-none and ambiguous parse error
* uucore: ambiguous value code refractor
* cp: no-clobber fail silently and outputs skipped message in debug
* mv: add --debug support
* minor changes
---------
Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
* Changed dd parsing error message to be in line with GNU dd
* Correct logic to make dd incorrect number error message fully compatible with GNU. Add test
---------
Co-authored-by: just-an-engineer <Julian.Beltz@zetier.com>
* test: -o arg should trigger an error
Should fix tests/test/test-diag.pl
* test: use var directly in string
---------
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>