chiark / gitweb /
dvd-sector-copy.c: Fix botched debugging code.
[dvdrip] / dvd-id.c
1 #include "lib.h"
2
3 static void usage(FILE *fp)
4   { fprintf(fp, "usage: %s [-IV] DEVICE ...\n", prog); }
5
6 int main(int argc, char *argv[])
7 {
8   char id[MAXIDSZ];
9   int i, opt, st = 0;
10   unsigned f = 0, dif = 0;
11   static dvd_reader_t *dvd;
12 #define f_bogus 1u
13
14   set_prog(argv[0]);
15   for (;;) {
16     opt = getopt(argc, argv, "hIV"); if (opt < 0) break;
17     switch (opt) {
18       case 'h': usage(stderr); exit(0);
19       case 'I': dif |= DIF_MUSTIFOHASH; break;
20       case 'V': dif |= DIF_MUSTVOLINF; break;
21       default: f |= f_bogus; break;
22     }
23   }
24   if (argc - optind < 1) f |= f_bogus;
25   if (f&f_bogus) { usage(stderr); exit(2); }
26   setlocale(LC_ALL, "");
27   progress_init(&progress);
28
29   for (i = optind; i < argc; i++) {
30     open_dvd(argv[i], 0, &dvd);
31     if (dvd_id(id, dvd, dif, argv[i]))
32       st = 2;
33     else {
34       if (argc - optind > 1) printf("%s: ", argv[i]);
35       printf("%s\n", id);
36     }
37     DVDClose(dvd);
38   }
39
40   progress_free(&progress);
41   return (st);
42 }