aboutsummaryrefslogtreecommitdiff
path: root/coreutils
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2020-03-24 16:37:13 +0000
committerRon Yorston <rmy@pobox.com>2020-03-24 16:43:46 +0000
commite6680912a298dc2dee83f41837cb52160cf562d9 (patch)
tree90e61d8566d6279d8dfbb0c823b87c1cc91148d7 /coreutils
parent87a56761cf04eca49295f95f353f252a53b33a46 (diff)
downloadbusybox-w32-e6680912a298dc2dee83f41837cb52160cf562d9.tar.gz
busybox-w32-e6680912a298dc2dee83f41837cb52160cf562d9.tar.bz2
busybox-w32-e6680912a298dc2dee83f41837cb52160cf562d9.zip
dd: create a sparse file when seek=N is used
When the seek=N argument is used mark the file as sparse and set the range that is sparse. See https://stackoverflow.com/questions/4011508/how-to-create-a-sparse-file-on-ntfs
Diffstat (limited to 'coreutils')
-rw-r--r--coreutils/dd.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/coreutils/dd.c b/coreutils/dd.c
index 3054ec6ea..fc8b1dbb2 100644
--- a/coreutils/dd.c
+++ b/coreutils/dd.c
@@ -502,6 +502,9 @@ int dd_main(int argc UNUSED_PARAM, char **argv)
502 } 502 }
503 if (seek) { 503 if (seek) {
504 size_t blocksz = (G.flags & FLAG_SEEK_BYTES) ? 1 : obs; 504 size_t blocksz = (G.flags & FLAG_SEEK_BYTES) ? 1 : obs;
505#if ENABLE_PLATFORM_MINGW32
506 seek_sparse(ofd, seek * blocksz);
507#endif
505 if (lseek(ofd, seek * blocksz, SEEK_CUR) < 0) 508 if (lseek(ofd, seek * blocksz, SEEK_CUR) < 0)
506 goto die_outfile; 509 goto die_outfile;
507 } 510 }