/* ** A utility for printing all or part of an SQLite database file. */ #include #include #include #include #include #include #include static int pagesize = 1024; static int db = -1; static int mxPage = 0; static int perLine = 32; static void out_of_memory(void){ fprintf(stderr,"Out of memory...\n"); exit(1); } static print_page(int iPg){ unsigned char *aData; int i, j; aData = malloc(pagesize); if( aData==0 ) out_of_memory(); lseek(db, (iPg-1)*pagesize, SEEK_SET); read(db, aData, pagesize); fprintf(stdout, "Page %d:\n", iPg); for(i=0; imxPage ){ fprintf(stderr, "Page argument should be LOWER?..UPPER?. Range 1 to %d\n", mxPage); exit(1); } while( iStart<=iEnd ){ print_page(iStart); iStart++; } } } close(db); }