/* (c) J. Dean Brock, 1998, 2003 Written for UNCA CSCI 343 Prints a B+-tree. Used for debugging. */ #include #include #include #include #include "btree.h" int main(int argc, char *argv[]) { int rc, i, j ; int errflg = 0 ; char *filArg = NULL ; FILE * dbFile ; char usage[] = "bdump file-name\n" ; blockRecT block ; if (argc != 2) { (void) fputs(usage, stderr) ; exit(1) ; } filArg = argv[1] ; if ((dbFile = fopen(filArg, "r")) == (FILE *)NULL) { (void) fprintf(stderr, "Unable to open %s\n", filArg) ; perror("fopen") ; exit(1) ; } i = 0 ; while (fread((void *)&block, sizeof(blockRecT), 1, dbFile) == 1) { int numUsed = getUsedRecords(&block) ; if (isLeaf(&block)) { (void) fprintf(stdout, "Block%7d (LEAF-->%7d)\n", i, block.recs[METAPNTR].value) ; for (j=0; j