From: Mark Wooding Date: Sat, 19 Feb 2022 01:55:28 +0000 (+0000) Subject: dvdrip: Collect together bad-blocks lists from repeated runs. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/dvdrip/commitdiff_plain/b1a4618a7789290d1a5159edb2228d2c940719cf dvdrip: Collect together bad-blocks lists from repeated runs. --- diff --git a/dvdrip b/dvdrip index 73400b6..5c1e72b 100755 --- a/dvdrip +++ b/dvdrip @@ -117,6 +117,16 @@ case $rc,$force in 0,t) warn "output file already exists; will overwrite" ;; esac +accumulate_badblocks () { + if [ -f "$tmp/$tag/badblocks.new" ]; then + if [ ! -f "$tmp/$tag/badblocks" ]; then + { echo "## bad-blocks region map"; echo; } >"$tmp/$tag/badblocks" + fi + sed -n "/^[^#]/p" "$tmp/$tag/badblocks.new" >>"$tmp/$tag/badblocks" + rm "$tmp/$tag/badblocks.new" + fi +} + mkdir -p "$tmp/$tag" case $backup in t) @@ -133,8 +143,10 @@ case $backup in ;; nil) if [ ! -f "$tmp/$tag/iso" ]; then - run_setrc "$DVD_SECTOR_COPY" -c -b"$tmp/$tag/badblocks" \ + accumulate_badblocks + run_setrc "$DVD_SECTOR_COPY" -c -b"$tmp/$tag/badblocks.new" \ "$dev" "$tmp/$tag/iso.new" + accumulate_badblocks case $rc in 0) run mv "$tmp/$tag/iso.new" "$tmp/$tag/iso"