Annotation of embedaddon/sqlite3/tool/diffdb.c, revision 1.1

1.1     ! misho       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: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>