| OLD | NEW | 
 | (Empty) | 
|   1 /* |  | 
|   2 ** A utility for printing the differences between two SQLite database files. |  | 
|   3 */ |  | 
|   4 #include <stdio.h> |  | 
|   5 #include <ctype.h> |  | 
|   6 #include <sys/types.h> |  | 
|   7 #include <sys/stat.h> |  | 
|   8 #include <fcntl.h> |  | 
|   9 #include <unistd.h> |  | 
|  10 #include <stdlib.h> |  | 
|  11  |  | 
|  12  |  | 
|  13 #define PAGESIZE 1024 |  | 
|  14 static int db1 = -1; |  | 
|  15 static int db2 = -1; |  | 
|  16  |  | 
|  17 int main(int argc, char **argv){ |  | 
|  18   int iPg; |  | 
|  19   unsigned char a1[PAGESIZE], a2[PAGESIZE]; |  | 
|  20   if( argc!=3 ){ |  | 
|  21     fprintf(stderr,"Usage: %s FILENAME FILENAME\n", argv[0]); |  | 
|  22     exit(1); |  | 
|  23   } |  | 
|  24   db1 = open(argv[1], O_RDONLY); |  | 
|  25   if( db1<0 ){ |  | 
|  26     fprintf(stderr,"%s: can't open %s\n", argv[0], argv[1]); |  | 
|  27     exit(1); |  | 
|  28   } |  | 
|  29   db2 = open(argv[2], O_RDONLY); |  | 
|  30   if( db2<0 ){ |  | 
|  31     fprintf(stderr,"%s: can't open %s\n", argv[0], argv[2]); |  | 
|  32     exit(1); |  | 
|  33   } |  | 
|  34   iPg = 1; |  | 
|  35   while( read(db1, a1, PAGESIZE)==PAGESIZE && read(db2,a2,PAGESIZE)==PAGESIZE ){ |  | 
|  36     if( memcmp(a1,a2,PAGESIZE) ){ |  | 
|  37       printf("Page %d\n", iPg); |  | 
|  38     } |  | 
|  39     iPg++; |  | 
|  40   } |  | 
|  41   printf("%d pages checked\n", iPg-1); |  | 
|  42   close(db1); |  | 
|  43   close(db2); |  | 
|  44 } |  | 
| OLD | NEW |