chiark / gitweb /
@@@ dvdrip-upload: change settings while i'm stealing someone else's internet
[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 = 0;
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     if (open_dvd(argv[i], O_RDONLY, 0, &dvd) ||
31         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); dvd = 0;
38   }
39
40   progress_free(&progress);
41   return (st);
42 }