From: Mark Wooding Date: Fri, 18 Feb 2022 22:51:28 +0000 (+0000) Subject: dvd-sector-copy.c: Adjust the base position when shifting. X-Git-Url: https://git.distorted.org.uk/~mdw/dvdrip/commitdiff_plain/ea027dd67d0b1a23995c0029248d52a1dc1a625c dvd-sector-copy.c: Adjust the base position when shifting. Fixes stupid bug. --- diff --git a/dvd-sector-copy.c b/dvd-sector-copy.c index a2cf9c6..c336d3d 100644 --- a/dvd-sector-copy.c +++ b/dvd-sector-copy.c @@ -557,7 +557,7 @@ static ssize_t recovery_read(struct recoverybuf *r, } else { if (r->end + diff > r->sz) r->end = r->sz - diff; rearrange_sectors(r, r->start + diff, r->start, r->end - r->start); - r->start += diff; r->end += diff; + r->pos -= diff; r->start += diff; r->end += diff; #ifdef DEBUG show_recovery_buffer_map(r, "shifted up by %"PRIuSEC"", diff); #endif @@ -577,7 +577,7 @@ static ssize_t recovery_read(struct recoverybuf *r, } else { if (r->start < diff) r->start = diff; rearrange_sectors(r, r->start - diff, r->start, r->end - r->start); - r->start -= diff; r->end -= diff; + r->pos += diff; r->start -= diff; r->end -= diff; #ifdef DEBUG show_recovery_buffer_map(r, "shifted down by %"PRIuSEC"", diff); #endif