[git commit] dd: conv=noerror should skip read errors using lseek (bug 539)

Denys Vlasenko vda.linux at googlemail.com
Wed Aug 5 21:16:27 UTC 2009


commit: http://git.busybox.net/busybox/commit/?id=334fcc8fd4fdad3c52ac0fb591771888325b5bcf
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 coreutils/dd.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/coreutils/dd.c b/coreutils/dd.c
index 38dacc7..5281d81 100644
--- a/coreutils/dd.c
+++ b/coreutils/dd.c
@@ -296,6 +296,8 @@ int dd_main(int argc UNUSED_PARAM, char **argv)
 				goto die_infile;
 			n = ibs;
 			bb_simple_perror_msg(infile);
+			/* GNU dd with conv=noerror skips over "bad blocks" */
+			xlseek(ifd, ibs, SEEK_CUR);
 		}
 		if ((size_t)n == ibs)
 			G.in_full++;
-- 
1.6.3.3



More information about the busybox-cvs mailing list