1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-20 18:56:39 +02:00

dd: fix issues in the count_bytes and seek_bytes flags change

These edge cases were missed in the previous commit 140eca15c.

* src/dd.c (main): Include the bytes slop when truncating
without further I/O.  Don't invalidate the whole file cache
in the case where 0 < count < ibs.
* tests/dd/bytes: Change to using the independent truncate
command to generate the file for comparison.  Remove a redundant
test case and replace with one testing the truncation only logic.
This commit is contained in:
Pádraig Brady
2012-02-13 21:47:28 +00:00
parent 140eca15c4
commit 4bb5dbcfef
2 changed files with 9 additions and 10 deletions

View File

@@ -45,13 +45,12 @@ esac
# seek bytes
echo abcdefghijklm |
dd bs=5 seek=8 oflag=seek_bytes > out 2> /dev/null || fail=1
echo abcdefghijklm |
dd bs=4 seek=2 > expected 2> /dev/null || fail=1
printf '\0\0\0\0\0\0\0\0abcdefghijklm\n' > expected
compare expected out || fail=1
# seek bytes on empty file
echo abcdefghijklm |
dd bs=5 seek=8 oflag=seek_bytes > out2 2> /dev/null || fail=1
compare expected out2 || fail=1
# Just truncation, no I/O
dd bs=5 seek=8 oflag=seek_bytes of=out2 count=0 2> /dev/null || fail=1
truncate -s8 expected2
compare expected2 out2 || fail=1
Exit $fail