dvd-sector-copy.c: Truncate the event list before processing a lost `stop'.
authorMark Wooding <mdw@distorted.org.uk>
Mon, 7 Mar 2022 23:47:20 +0000 (23:47 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 7 Mar 2022 23:47:20 +0000 (23:47 +0000)
dvd-sector-copy.c

index cd45710..fe8da21 100644 (file)
@@ -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;