Mercurial > mplayer.hg
annotate TOOLS/compare.c @ 33905:c0cb8c5e7fdb
Fix reading of aqr/subrip09 subtitles.
NULL return would indicate EOF, thus the "clear subtitle" entries
would cause sub file parsing to stop.
In addition the wrong sub end times would be used with CONFIG_SORTSUB.
author | reimar |
---|---|
date | Mon, 15 Aug 2011 20:19:39 +0000 |
parents | 32725ca88fed |
children |
rev | line source |
---|---|
25802
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
1 /* |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
2 * Simple file compare program, it finds the number of rounding errors |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
3 * and dies if there is too large an error ( ABS(a-b)>1 ). |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
4 * |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
5 * copyright (c) 2001 Michael Niedermayer |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
6 * |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
7 * This program is free software; you can redistribute it and/or modify |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
8 * it under the terms of the GNU General Public License as published by |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
9 * the Free Software Foundation; either version 2 of the License, or |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
10 * (at your option) any later version. |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
11 * |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
12 * This program is distributed in the hope that it will be useful, |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
15 * GNU General Public License for more details. |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
16 * |
27503 | 17 * You should have received a copy of the GNU General Public License along |
18 * with this program; if not, write to the Free Software Foundation, Inc., | |
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
25802
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
20 */ |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
21 |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
22 #include <stdio.h> |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
23 #include <stdlib.h> |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
24 |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
25 // FIXME: No checks but it is just for debugging so who cares ;) |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
26 |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
27 int main(int argc, char **argv) |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
28 { |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
29 FILE *f0, *f1; |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
30 int dif=0; |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
31 |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
32 if(argc!=3) |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
33 { |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
34 printf("compare <file1> <file2>\n"); |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
35 exit(2); |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
36 } |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
37 |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
38 f0= fopen(argv[1], "rb"); |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
39 f1= fopen(argv[2], "rb"); |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
40 |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
41 for(;;) |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
42 { |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
43 short c0; |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
44 short c1; |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
45 int d; |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
46 |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
47 int e0= fread(&c0, 2, 1, f0); |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
48 int e1= fread(&c1, 2, 1, f1); |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
49 |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
50 d=c0-c1; |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
51 if(e0==0 && e1==0) break; |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
52 if(e0==0 || e1==0) |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
53 { |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
54 printf("FATAL error, files have different size!\n"); |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
55 exit(1); |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
56 } |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
57 |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
58 if(d<0) d=-d; // ABS |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
59 if(d>1) |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
60 { |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
61 printf("FATAL error, too large a difference found (%d)!\n", d); |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
62 exit(1); |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
63 } |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
64 |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
65 if(d) dif++; |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
66 } |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
67 |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
68 fclose(f0); |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
69 fclose(f1); |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
70 |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
71 printf("%d (+/-1)differences found\n", dif); |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
72 exit(0); |
2118c88fe0e1
Move compare.c to TOOLS, add it to the Makefile and document it.
diego
parents:
diff
changeset
|
73 } |