dvd-cache-keys.c: Move the existence check into `kick_vob'.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 6 Mar 2022 01:03:17 +0000 (01:03 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Sun, 6 Mar 2022 01:03:17 +0000 (01:03 +0000)
Much neater.

dvd-cache-keys.c

index 2b8828a..b344e5b 100644 (file)
@@ -6,7 +6,13 @@ static dvd_reader_t *dvd;
 
 static void kick_vob(unsigned index, unsigned titlep)
 {
+  char fn[MAXFNSZ];
   dvd_file_t *vob;
+  secaddr start, len;
+
+  store_filename(fn, mkident(VOB, index, titlep));
+  start = UDFFindFile(dvd, fn, &len);
+  if (!start) return;
 
   vob = DVDOpenFile(dvd, index,
                    titlep ? DVD_READ_TITLE_VOBS : DVD_READ_MENU_VOBS);
@@ -16,7 +22,6 @@ static void kick_vob(unsigned index, unsigned titlep)
 
 int main(int argc, char *argv[])
 {
-  char fn[MAXFNSZ];
   int opt;
   unsigned i, f = 0;
   secaddr start, len;
@@ -39,12 +44,8 @@ int main(int argc, char *argv[])
   open_dvd(argv[optind], 0, &dvd);
 
   for (i = 0; i < 100; i++) {
-    store_filename(fn, mkident(VOB, i, 0));
-    start = UDFFindFile(dvd, fn, &len); if (start) kick_vob(i, 0);
-    if (i) {
-      store_filename(fn, mkident(VOB, i, 1));
-      start = UDFFindFile(dvd, fn, &len); if (start) kick_vob(i, 1);
-    }
+    kick_vob(i, 0);
+    if (i) kick_vob(i, 1);
   }
 
   if (dvd) DVDClose(dvd);