aboutsummaryrefslogtreecommitdiff
path: root/coreutils
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-08-05 23:16:27 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2009-08-05 23:16:27 +0200
commit334fcc8fd4fdad3c52ac0fb591771888325b5bcf (patch)
tree638869a0efdcdd73c7d385b9696ff3ee683f8810 /coreutils
parenteecbb547d2884129a2490a449cd3dab328d95e19 (diff)
downloadbusybox-w32-334fcc8fd4fdad3c52ac0fb591771888325b5bcf.tar.gz
busybox-w32-334fcc8fd4fdad3c52ac0fb591771888325b5bcf.tar.bz2
busybox-w32-334fcc8fd4fdad3c52ac0fb591771888325b5bcf.zip
dd: conv=noerror should skip read errors using lseek (bug 539)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'coreutils')
-rw-r--r--coreutils/dd.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/coreutils/dd.c b/coreutils/dd.c
index 38dacc71d..5281d8118 100644
--- a/coreutils/dd.c
+++ b/coreutils/dd.c
@@ -296,6 +296,8 @@ int dd_main(int argc UNUSED_PARAM, char **argv)
296 goto die_infile; 296 goto die_infile;
297 n = ibs; 297 n = ibs;
298 bb_simple_perror_msg(infile); 298 bb_simple_perror_msg(infile);
299 /* GNU dd with conv=noerror skips over "bad blocks" */
300 xlseek(ifd, ibs, SEEK_CUR);
299 } 301 }
300 if ((size_t)n == ibs) 302 if ((size_t)n == ibs)
301 G.in_full++; 303 G.in_full++;