diff --git a/btree.cpp b/btree.cpp index 5bcd2b7..00940a4 100644 --- a/btree.cpp +++ b/btree.cpp @@ -58,6 +58,17 @@ return info->nodes; } // bTree::getNodes +uInt32 +bTree::getHeight(void) { + + if (!memoryTree) { + if (!vfs->fSeek((int)&info->height - (int)info)) exit(42); + if (!vfs->fRead(&info->height, sizeof(info->height))) exit(42); + } // if not memoryTree + + return info->height; +} // bTree::getHeight + void bTree::setNull(uPtr & u) { u.offset = 0; diff --git a/btree.h b/btree.h index d81098e..42975ef 100644 --- a/btree.h +++ b/btree.h @@ -19,6 +19,7 @@ int calcSize(TbNode *); uPtr getFirstDeleted(void); uInt32 getNodes(void); + uInt32 getHeight(void); void setNull(uPtr &); public: bTree(char *, uInt32, treeTypes, bTreeVFS *);