X-Git-Url: https://git.distorted.org.uk/~mdw/dvdrip/blobdiff_plain/27c10313957eebbde9f788f645316e03f32861d4..1315f9be0dcc934802495c49e3341775b8bfa96e:/dvd-sector-copy.c diff --git a/dvd-sector-copy.c b/dvd-sector-copy.c index 40ee26d..16edf5a 100644 --- a/dvd-sector-copy.c +++ b/dvd-sector-copy.c @@ -777,16 +777,16 @@ static ssize_t find_good_sector(secaddr *pos_inout, secaddr end, if (n == want) good = pos; else bad_hi = pos + n + 1; } - recovered(bad_lo, bad_hi); *pos_inout = bad_hi; - if (bad_hi < r.pos + r.start || r.pos + r.end <= bad_hi) + recovered(bad_lo, good); *pos_inout = good; + if (good < r.pos + r.start || r.pos + r.end <= good) n = 0; else { - n = r.pos + r.end - bad_hi; - rearrange_sectors(&r, 0, bad_hi - r.pos, n); + n = r.pos + r.end - good; + rearrange_sectors(&r, 0, good - r.pos, n); } #ifdef DEBUG show_recovery_buffer_map(&r, "returning %zd good sectors at %"PRIuSEC"", - n, bad_hi); + n, good); #endif return (n); }