mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2026-01-21 20:51:11 +00:00
Open stdin using its file descriptor so that a `dd skip=N` command in
a subshell does not consume all bytes from stdin.
For example, before this commit, multiple instances of `dd` reading
from stdin and appearing in a single command line would incorrectly
result in an empty stdin for each instance of `dd` after the first:
$ printf "abcdef\n" | (dd bs=1 skip=3 count=0 && dd) 2> /dev/null
# incorrectly results in no output
After this commit, the `dd skip=3` process reads three bytes from the
file descriptor referring to stdin without draining the remaining
three bytes when it terminates:
$ printf "abcdef\n" | (dd bs=1 skip=3 count=0 && dd) 2> /dev/null
def
|
||
|---|---|---|
| .. | ||
| benches/factor | ||
| by-util | ||
| common | ||
| fixtures | ||
| test_util_name.rs | ||
| tests.rs | ||