From fd678a44631bb6f0c7c519b0ee2cf9ac41f33cf6 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Fri, 8 Apr 2022 17:07:55 +0100 Subject: [PATCH 1/1] dvd-sector-copy.c: Fold `report_bad_blocks_progress' into `recovered'. It's not very complicated; it's only used once; and it saves a call to `store_filename'. --- dvd-sector-copy.c | 35 +++++++++++++---------------------- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/dvd-sector-copy.c b/dvd-sector-copy.c index ef099b7..d29fc50 100644 --- a/dvd-sector-copy.c +++ b/dvd-sector-copy.c @@ -365,27 +365,6 @@ static ssize_t read_sectors(secaddr pos, void *buf, secaddr want) return (!done && errno ? -1 : done); } -static void record_bad_sectors(secaddr bad_lo, secaddr bad_hi) -{ - char fn[MAXFNSZ]; - - if (!mapfile) return; - - open_file_on_demand(mapfile, &mapfp, "bad-sector region map"); - fprintf(mapfp, "%"PRIuSEC" %"PRIuSEC" # %"PRIuSEC" sectors", - bad_lo, bad_hi, bad_hi - bad_lo); - - if (file && id_kind(file->id) != RAW) { - store_filename(fn, file->id); - fprintf(mapfp, "; `%s' %"PRIuSEC" .. %"PRIuSEC" of %"PRIuSEC"", - fn, bad_lo - file->start, bad_hi - file->start, - file->end - file->start); - } - - fputc('\n', mapfp); - check_write(mapfp, "bad-sector region map"); -} - static void recovered(secaddr bad_lo, secaddr bad_hi) { char fn[MAXFNSZ]; @@ -404,7 +383,19 @@ static void recovered(secaddr bad_lo, secaddr bad_hi) file->end - file->start); } - record_bad_sectors(bad_lo, bad_hi); + if (mapfile) { + open_file_on_demand(mapfile, &mapfp, "bad-sector region map"); + fprintf(mapfp, "%"PRIuSEC" %"PRIuSEC" # %"PRIuSEC" sectors", + bad_lo, bad_hi, bad_hi - bad_lo); + + if (file && id_kind(file->id) != RAW) + fprintf(mapfp, "; `%s' %"PRIuSEC" .. %"PRIuSEC" of %"PRIuSEC"", + fn, bad_lo - file->start, bad_hi - file->start, + file->end - file->start); + + fputc('\n', mapfp); + check_write(mapfp, "bad-sector region map"); + } if (lseek(outfd, (off_t)(bad_hi - bad_lo)*SECTORSZ, SEEK_CUR) < 0) bail_syserr(errno, "failed to seek past bad sectors"); -- 2.11.0