jfinkels
86b012d3be
dd: handle stdout redirected to seekable file ( #3880 )
...
* dd: move argument parsing outside of Input, Output
Move the argument parsing code out of the `Input::new()` and
`Output::new()` functions and into the calling code. This allows the
calling code to make decisions about how to instantiate the `Input`
and `Output` objects if necessary.
* dd: handle stdout redirected to seekable file
Fix a bug in `dd` where null bytes would be unintentionally written if
stdout were redirected to a seekable file. For example, before this
commit, if `dd` were invoked from the command-line as
dd if=infile bs=1 count=10 seek=5 > /dev/sda1
then five zeros would be written to `/dev/sda1` before copying ten
bytes of `infile` to `/dev/sda1`. After this commit, `dd` will
correctly seek five bytes forward in `/dev/sda1` before copying the
ten bytes of `infile`.
Fixes #3542 .
2022-09-18 21:53:01 +02:00
Terts Diepraam
8c839888e1
Merge pull request #3905 from Joining7943/refactor-tail
...
Refactor tail
2022-09-17 20:39:53 +02:00
Terts Diepraam
513e61f434
Merge pull request #3923 from snapdgn/main
...
refactor: `stat` declarative macros to functions
2022-09-17 20:36:47 +02:00
Niyaz Nigmatullin
774f498aa8
chore(deps): Bump terminal_size + cargo update
2022-09-17 01:08:41 +03:00
dependabot[bot]
05b7183112
build(deps): bump digest from 0.10.3 to 0.10.5
...
Bumps [digest](https://github.com/RustCrypto/traits ) from 0.10.3 to 0.10.5.
- [Release notes](https://github.com/RustCrypto/traits/releases )
- [Commits](https://github.com/RustCrypto/traits/compare/digest-v0.10.3...digest-v0.10.5 )
---
updated-dependencies:
- dependency-name: digest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-16 06:34:05 +00:00
snapdgn
f7601c022e
updated documentation
2022-09-14 10:51:03 +05:30
Jeffrey Finkelstein
61345cbdc9
mktemp: respect TMPDIR environment variable
...
Change `mktemp` so that it respects the value of the `TMPDIR`
environment variable if no directory is otherwise specified in its
arguments. For example, before this commit
$ TMPDIR=. mktemp
/tmp/tmp.WDJ66MaS1T
After this commit,
$ TMPDIR=. mktemp
./tmp.h96VZBhv8P
This matches the behavior of GNU `mktemp`.
2022-09-13 19:38:25 -04:00
Joining7943
951c51e740
tail: large refactoring and cleanup of the tail code base. See also #3905 for details
2022-09-13 22:54:36 +02:00
Sylvestre Ledru
78a9f6edf8
Merge pull request #3908 from tertsdiepraam/chroot-err-codes
...
`chroot`: set exit codes to 125, 126 or 127 for errors from chroot itself
2022-09-12 22:43:12 +02:00
Sylvestre Ledru
1ed281fce9
Merge pull request #3921 from niyaznigmatullin/ls_exit_code_2_some_cases
...
ls: exit code 2 when `IOError` happened for argument
2022-09-12 22:20:08 +02:00
Niyaz Nigmatullin
4e0b238748
ls: add command_line bool to error for exit code 2
2022-09-12 19:47:16 +03:00
snapdgn
b723be4fe2
reposition functions
2022-09-12 19:56:02 +05:30
snapdgn
d8226bf658
add: documentation to refactored macros->functions
2022-09-12 18:35:30 +05:30
snapdgn
243546ce96
fix: style/spelling
2022-09-12 12:19:56 +05:30
snapdgn
39e352e2af
fix: failing test cases & some refactoring
2022-09-12 12:04:43 +05:30
dependabot[bot]
bf7e5a6ec0
build(deps): bump onig from 6.3.2 to 6.4.0
...
Bumps [onig](https://github.com/iwillspeak/rust-onig ) from 6.3.2 to 6.4.0.
- [Release notes](https://github.com/iwillspeak/rust-onig/releases )
- [Changelog](https://github.com/rust-onig/rust-onig/blob/main/CHANGELOG.md )
- [Commits](https://github.com/iwillspeak/rust-onig/compare/v6.3.2...v6.4.0 )
---
updated-dependencies:
- dependency-name: onig
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-11 20:08:28 +02:00
Sylvestre Ledru
4280c2a8a1
Merge pull request #3913 from uutils/dependabot/cargo/notify-5.0.0
...
build(deps): bump notify from 5.0.0-pre.16 to 5.0.0
2022-09-11 20:06:19 +02:00
snapdgn
26301d05f6
refactor: declarative macros to rust
2022-09-11 15:36:18 +05:30
Terts Diepraam
51bd8a2ba8
chroot: set exit codes to 125, 126 or 127 for errors from chroot itself
2022-09-11 12:02:54 +02:00
Terts Diepraam
975a1d170d
change remaining usage codes of 2 to 1 for GNU compat
2022-09-10 20:24:24 +02:00
dependabot[bot]
d02ee4b1eb
build(deps): bump notify from 5.0.0-pre.16 to 5.0.0
...
Bumps [notify](https://github.com/notify-rs/notify ) from 5.0.0-pre.16 to 5.0.0.
- [Release notes](https://github.com/notify-rs/notify/releases )
- [Changelog](https://github.com/notify-rs/notify/blob/main/CHANGELOG.md )
- [Commits](https://github.com/notify-rs/notify/compare/notify-5.0.0-pre.16...notify-5.0.0 )
---
updated-dependencies:
- dependency-name: notify
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-10 07:56:32 +00:00
Niyaz Nigmatullin
999db68042
pr: migrate from chrono crate to time
...
It seems that `chrono` is the reason of deadlock or UB in android
CI. Also `chrono` had some security issues and wasn't maintained for
two years until March 2022, so other unstabilities can happen. Plus
`chrono` uses old `time` dependency.
2022-09-09 21:59:08 +03:00
Joining7943
2658f8ae5b
tail: improve performance of piped stdin
...
Rewrite handling of stdin when it is piped and read input in chunks.
Fixes https://github.com/uutils/coreutils/issues/3842
2022-09-09 13:51:37 +02:00
dependabot[bot]
2d59ec3453
build(deps): bump half from 1.8.2 to 2.1.0
...
Bumps [half](https://github.com/starkat99/half-rs ) from 1.8.2 to 2.1.0.
- [Release notes](https://github.com/starkat99/half-rs/releases )
- [Changelog](https://github.com/starkat99/half-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/starkat99/half-rs/compare/v1.8.2...v2.1.0 )
---
updated-dependencies:
- dependency-name: half
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-08 20:21:18 +00:00
Jan Scheer
88d3aee71c
tail: fix offset for stdin redirect if multiple input files
2022-09-05 10:09:04 +02:00
Jan Scheer
74f359bd76
tail: use same-file crate to get a handle of stdin redirected file
2022-09-05 10:09:04 +02:00
Jan Scheer
942928b0ea
tail: fix stdin redirect when file is not at its beginning
...
Previously, if stdin redirect pointed to a regular file,
tailing started at the beginning of the file. However,
tailing needs to start at the current position because this
is expected by tests/tail-2/start-middle.sh.
This fixes the issue by taking the current offset into account
while going backwards through the stdin redirected file.
2022-09-05 10:09:04 +02:00
Jan Scheer
92c3f60440
tail: fix stdin redirect ( #3842 )
...
This fixes a bug where calling `tail - < file.txt` would result
in invoking `unbounded_tail()`.
However, it is a stdin redirect to a seekable regular file and
therefore `bounded_tail` should be invoked as if `tail file.txt` had
been called.
2022-09-05 10:09:04 +02:00
Daniel Hofstetter
4fcedb4cdc
rm: fix indentation within uu_app()
2022-09-04 14:42:23 +02:00
Daniel Hofstetter
8344855183
expand: fix line that's too long
2022-09-03 14:48:58 +02:00
Sylvestre Ledru
f21fda46b4
Merge pull request #3887 from cakebaker/cp_fix_indentation
...
cp: fix indentation within uu_app()
2022-09-02 10:21:07 +02:00
Daniel Hofstetter
da0f1a98b5
ls: fix indentation within uu_app()
2022-09-01 13:38:46 +02:00
Daniel Hofstetter
e5e6a48200
cp: fix indentation within uu_app()
2022-08-30 13:59:28 +02:00
Sylvestre Ledru
282774a3ef
Merge pull request #3853 from stefins/rm-write-protected
...
rm: added write-protected check for files
2022-08-29 17:03:24 +02:00
Stefin
a33bc185a5
rm: added check for write protected regular empty file
...
Signed-off-by: Stefin <stefin@pm.me>
2022-08-29 18:09:02 +05:30
Daniel Hofstetter
a9b5d9dccf
Replace forbid_empty_values() with value_parser()
2022-08-29 10:44:52 +02:00
Owen Anderson
08d3da8f6c
Fix a TODO by making conv_block_unblock_helper consume the input. ( #3787 )
...
* Fix a TODO by making `conv_block_unblock_helper` consume the input.
2022-08-28 10:07:04 +02:00
Stefin
4c1c9ebf89
rm: change InteractiveMode::Default to InteractiveMode::PromptProtected
...
Signed-off-by: Stefin <stefin@pm.me>
2022-08-27 19:38:10 +05:30
Sylvestre Ledru
0dbcdde64e
Merge pull request #3873 from kilpkonn/tail_seek_outside_bounds
...
Fix tail panicing when seeking backwards
2022-08-26 22:35:50 +02:00
Daniel Hofstetter
2d42434911
link: move use statement after copyright
2022-08-25 16:39:34 +02:00
Daniel Hofstetter
747ed592d9
Replace allow_invalid_utf8() with value_parser()
2022-08-25 15:21:50 +02:00
Sylvestre Ledru
9afb2e7038
Merge pull request #3871 from cakebaker/clap_replace_deprecated_occurrences_of
...
Replace deprecated occurrences_of()
2022-08-25 08:53:42 +02:00
Tavo Annus
09cfa44560
Fix tail panicing when seeking backwards
...
Previously `tail -c n file.txt` caused panic if n > sizeof file.txt.
Now it prints out whole file similarly to GNU tail.
2022-08-24 21:02:47 +03:00
Jeffrey Finkelstein
8458bf1387
Clippy fixes in multiple crates
2022-08-23 18:30:43 -04:00
Daniel Hofstetter
c6e313372e
Replace deprecated occurrences_of()
2022-08-23 16:31:32 +02:00
Stefin
a8326d7f3f
rm: added new InteractiveMode InteractiveMode::Never
...
Signed-off-by: Stefin <stefin@pm.me>
2022-08-23 19:33:34 +05:30
Sylvestre Ledru
5a726e1ab3
Merge pull request #3864 from niyaznigmatullin/migrate_termsize_to_terminal_size
...
deps: change `termsize` dependency to `terminal_size`
2022-08-23 11:53:24 +02:00
dependabot[bot]
ed83439a20
build(deps): bump ouroboros from 0.15.2 to 0.15.3
...
Bumps [ouroboros](https://github.com/joshua-maros/ouroboros ) from 0.15.2 to 0.15.3.
- [Release notes](https://github.com/joshua-maros/ouroboros/releases )
- [Commits](https://github.com/joshua-maros/ouroboros/commits/0.15.3 )
---
updated-dependencies:
- dependency-name: ouroboros
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-23 06:26:24 +00:00
Niyaz Nigmatullin
c9a81f5a17
deps: use terminal_size instead of termsize
2022-08-22 18:53:20 +03:00
Daniel Hofstetter
6f07a3418d
mv: fix indentation within uu_app()
2022-08-22 12:50:08 +02:00