diff --git a/btree.cpp b/btree.cpp index b2af444..5bcd2b7 100644 --- a/btree.cpp +++ b/btree.cpp @@ -40,13 +40,24 @@ bTree::getFirstDeleted(void) { if (!memoryTree) { - if (!vfs->fSeek((int)&info->firstDeleted- (int)info)) exit(42); + if (!vfs->fSeek((int)&info->firstDeleted - (int)info)) exit(42); if (!vfs->fRead(&info->firstDeleted, sizeof(info->firstDeleted))) exit(42); - } // if not memoryTree + } // if not memoryTree return info->firstDeleted; } // bTree::getFirstDeleted +uInt32 +bTree::getNodes(void) { + + if (!memoryTree) { + if (!vfs->fSeek((int)&info->nodes - (int)info)) exit(42); + if (!vfs->fRead(&info->nodes, sizeof(info->nodes))) exit(42); + } // if not memoryTree + + return info->nodes; +} // bTree::getNodes + void bTree::setNull(uPtr & u) { u.offset = 0; diff --git a/btree.h b/btree.h index 52bb712..d81098e 100644 --- a/btree.h +++ b/btree.h @@ -18,6 +18,7 @@ int align(int); int calcSize(TbNode *); uPtr getFirstDeleted(void); + uInt32 getNodes(void); void setNull(uPtr &); public: bTree(char *, uInt32, treeTypes, bTreeVFS *);