X-Git-Url: https://git.distorted.org.uk/~mdw/dvdrip/blobdiff_plain/dc53ebfaa3fb887f962b574c6bafa45b160fc765..584dfdf8aadde3fe4bb42611f753a0381a353125:/dvd-cache-keys.c?ds=inline diff --git a/dvd-cache-keys.c b/dvd-cache-keys.c index 6a4a7a0..b344e5b 100644 --- a/dvd-cache-keys.c +++ b/dvd-cache-keys.c @@ -4,9 +4,15 @@ static void usage(FILE *fp) { fprintf(fp, "usage: %s DEVICE\n", prog); } static dvd_reader_t *dvd; -static void kick_vob(int index, int titlep) +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(int index, int 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);