From: Mark Wooding Date: Sun, 6 Mar 2022 01:03:17 +0000 (+0000) Subject: dvd-cache-keys.c: Move the existence check into `kick_vob'. X-Git-Url: https://git.distorted.org.uk/~mdw/dvdrip/commitdiff_plain/584dfdf8aadde3fe4bb42611f753a0381a353125?hp=a8cedff85c6ddc3ff2d44c0fe883711cee2267e6 dvd-cache-keys.c: Move the existence check into `kick_vob'. Much neater. --- diff --git a/dvd-cache-keys.c b/dvd-cache-keys.c index 2b8828a..b344e5b 100644 --- a/dvd-cache-keys.c +++ b/dvd-cache-keys.c @@ -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);