home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / DOOG / CBASE09.ZIP / BTREE.ZIP / DGOPS.C < prev    next >
Text File  |  1989-08-31  |  4KB  |  134 lines

  1. /*    Copyright (c) 1989 Citadel    */
  2. /*       All Rights Reserved        */
  3.  
  4. /* #ident    "dgops.c    1.1 - 89/07/03" */
  5.  
  6. #include <blkio.h>
  7. #include <errno.h>
  8. /* #include <string.h> */
  9. #include "btree_.h"
  10.  
  11. /*man---------------------------------------------------------------------------
  12. NAME
  13.  
  14. SYNOPSIS
  15.      #include "btree_.h"
  16.  
  17. DESCRIPTION
  18.  
  19. SEE ALSO
  20.  
  21. ------------------------------------------------------------------------------*/
  22. void bt_dgbtree(btp)
  23. btree_t *btp;
  24. {
  25.     printf("--------------------------\n");
  26.     printf("|btree structure contents|\n");
  27.     printf("|------------------------|\n");
  28.     if (!bt_valid(btp)) {
  29.         printf("|  btp          = %p.\n", (void *)btp);
  30.         printf("|  Invalid btree pointer.|\n");
  31.     } else {
  32.         printf("|  hdr.flh      = %d.\n", btp->bthdr.flh);
  33.         printf("|  hdr.m        = %d.\n", btp->bthdr.m);
  34.         printf("|  hdr.keysize  = %d.\n", btp->bthdr.keysize);
  35.         printf("|  hdr.flags    = 0%o.\n", btp->bthdr.flags);
  36.         printf("|  hdr.root     = %d.\n", btp->bthdr.root);
  37.         printf("|  hdr.first    = %d.\n", btp->bthdr.first);
  38.         printf("|  hdr.last     = %d.\n", btp->bthdr.last);
  39.         printf("|  hdr.keycnt   = %d.\n", btp->bthdr.keycnt);
  40.         printf("|  hdr.height   = %d.\n", btp->bthdr.height);
  41.         printf("|  bp           = %p.\n", btp->bp);
  42.         printf("|  cmp_p        = %p.\n", (void *)btp->cmp_p);
  43.         printf("|  flags        = 0%o.\n", btp->flags);
  44.         printf("|  cbtpos.node  = %d.\n", btp->cbtpos.node);
  45.         printf("|  cbtpos.key   = %d.\n", btp->cbtpos.key);
  46.         printf("|  cbtnp        = %p.\n", (void *)btp->cbtnp);
  47.         printf("|  sp           = %p.\n", (void *)btp->sp);
  48.     }
  49.     printf("--------------------------\n");
  50.     return;
  51. }
  52.  
  53. /*man---------------------------------------------------------------------------
  54. NAME
  55.  
  56. SYNOPSIS
  57.      #include "btree_.h"
  58.  
  59. DESCRIPTION
  60.  
  61. SEE ALSO
  62.  
  63. ------------------------------------------------------------------------------*/
  64. void bt_dgnode(btp, btnp)
  65. btree_t *btp;
  66. btnode_t *btnp;
  67. {
  68.     int i = 0;
  69.     static char kcontrol[] = "|  key[%d] = \"%4.4s\"\n";
  70.     static char ccontrol[] = "|  child[%d] = %d.\n";
  71.  
  72.     printf("--------------------------\n");
  73.     printf("|btree node contents     |\n");
  74.     printf("|------------------------|\n");
  75.     if (!bt_valid(btp)) {
  76.         printf("|  btp          = %p.\n", (void *)btp);
  77.         printf("|  Invalid btree pointer.|\n");
  78.     } else {
  79.         printf("|  btnp         = %p.\n", (void *)btnp);
  80.         printf("|  n       = %d.\n", btnp->n);
  81.         printf("|  lsib   = %d.\n", btnp->lsib);
  82.         printf("|  rsib   = %d.\n", btnp->rsib);
  83.         printf("|  key_p        = %p.\n", (void *)btnp->key_p);
  84.         printf("|  child_p      = %p.\n", (void *)btnp->child_p);
  85.         printf(ccontrol, 0, *bt_kychild_p(btnp, 0));
  86.         for (i = 1; (i <= btp->bthdr.m); i++) {
  87.             printf(kcontrol, i, bt_kykey_p(btp, btnp, i));
  88.             printf(ccontrol, i, *bt_kychild_p(btnp, i));
  89.         }
  90.     }
  91.     printf("--------------------------\n");
  92.  
  93.     return;
  94. }
  95.  
  96. /*man---------------------------------------------------------------------------
  97. NAME
  98.  
  99. SYNOPSIS
  100.      #include "btree_.h"
  101.  
  102. DESCRIPTION
  103.  
  104. SEE ALSO
  105.  
  106. ------------------------------------------------------------------------------*/
  107. void bt_dgtuple(btp, bttuple_p)
  108. btree_t *btp;
  109. bttuple_t *bttuple_p;
  110. {
  111.     static char control[] = "|  key = \"%4.4s\"\n";
  112.  
  113.     printf("--------------------------\n");
  114.     printf("|btree bttuple contents   |\n");
  115.     printf("|------------------------|\n");
  116.     if (btp == NULL) {
  117.         printf("|  btnp = NULL           |\n");
  118.     } else {
  119.         if (bttuple_p == NULL) {
  120.             printf("|  bttuple_p = NULL       |\n");
  121.         } else {
  122.             if (bttuple_p->key_p == NULL) {
  123.                 printf("|  bttuple_p->key_p = NULL|\n");
  124.             } else {
  125.                 printf(control, bttuple_p->key_p);
  126.             }
  127.         }
  128.     }
  129.     printf("|  child   = %ld.\n", bttuple_p->child);
  130.     printf("--------------------------\n");
  131.  
  132.     return;
  133. }
  134.