X-Git-Url: https://git.distorted.org.uk/~mdw/dvdrip/blobdiff_plain/dc53ebfaa3fb887f962b574c6bafa45b160fc765..e0c3a82de1bce18a32f95fba7b22b08b61354111:/dvd-sector-copy.c diff --git a/dvd-sector-copy.c b/dvd-sector-copy.c index 7b7e674..0f2ddb7 100644 --- a/dvd-sector-copy.c +++ b/dvd-sector-copy.c @@ -1,7 +1,5 @@ #include "lib.h" -static int status = 0; - static void usage(FILE *fp) { fprintf(fp, @@ -437,11 +435,12 @@ static void record_bad_sectors(secaddr bad_lo, secaddr bad_hi) if (!mapfile) return; open_file_on_demand(mapfile, &mapfp, "bad-sector region map"); - fprintf(mapfp, "%"PRIuSEC" %"PRIuSEC"", bad_lo, bad_hi); + 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"", + fprintf(mapfp, "; `%s' %"PRIuSEC" .. %"PRIuSEC" of %"PRIuSEC"", fn, bad_lo - file->start, bad_hi - file->start, file->end - file->start); } @@ -1228,7 +1227,9 @@ int main(int argc, char *argv[]) copy_progress.render = render_copy_progress; progress_additem(&progress, ©_progress); - if (nsectors != limit) { + if (nsectors == limit - start) + { ndone = start; nsectors = limit; } + else { disc_progress.render = render_disc_progress; progress_additem(&progress, &disc_progress); } @@ -1297,6 +1298,7 @@ int main(int argc, char *argv[]) if (f&f_stats) { gettimeofday(&tv1, 0); t = tvdiff(&tv0, &tv1); + if (nsectors == limit - start) { ndone -= start; nsectors -= start; } tot = scale_bytes((double)nsectors*SECTORSZ, &totunit); rate = scale_bytes((double)nsectors*SECTORSZ/t, &rateunit); moan("all done: %.1f %sB in %s -- %.1f %sB/s", @@ -1316,5 +1318,5 @@ int main(int argc, char *argv[]) #undef f_stats #undef f_write - return (status); + return (0); }