From 410341025e517d40adc6e2efe122873a8b2c3657 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Mon, 7 Mar 2022 23:47:20 +0000 Subject: [PATCH] dvd-sector-copy.c: Truncate the event list before processing a lost `stop'. --- dvd-sector-copy.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/dvd-sector-copy.c b/dvd-sector-copy.c index cd45710..fe8da21 100644 --- a/dvd-sector-copy.c +++ b/dvd-sector-copy.c @@ -1202,11 +1202,9 @@ int main(int argc, char *argv[]) f &= ~f_write; start = 0; for (i = 0; i < eventq.n; i++) { ev = &eventq.v[i]; - switch (ev->ev) { - case EV_WRITE: start = ev->pos; f |= f_write; break; - case EV_STOP: nsectors += ev->pos - start; f &= ~f_write; break; - } + if (ev->ev == EV_WRITE) { start = ev->pos; f |= f_write; } if (ev->pos >= limit) break; + if (ev->ev == EV_STOP) { nsectors += ev->pos - start; f &= ~f_write; } if (f&f_fixup) start = ev->pos; } eventq.n = i; -- 2.11.0