bad_hi - bad_lo, bad_lo, bad_hi);
if (mapfile) {
open_file_on_demand(mapfile, &mapfp, "bad-sector region map");
- fprintf(mapfp, "%"PRIuSEC" %"PRIuSEC"\n", bad_lo, bad_hi);
+ fprintf(mapfp, "%"PRIuSEC" %"PRIuSEC"", bad_lo, bad_hi);
+ if (file)
+ fprintf(mapfp, " # %s #%d %"PRIuSEC"..%"PRIuSEC" of %"PRIuSEC" (%.1f%%)",
+ id_part(file->id) ? "title" : "menu",
+ id_title(file->id),
+ bad_lo - file->start, bad_hi - file->start,
+ file->end - file->start,
+ (bad_lo - file->start)*100.0/(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)
{ rc = -1; goto end; }
if (!(f&PRF_HYPHEN)) while (ISSPACE(*p)) p++;
- if (*p) { rc = -1; goto end; }
+ if (*p && ((f&PRF_HYPHEN) || *p != '=')) { rc = -1; goto end; }
rc = 0;
end: