diff --git a/btree.cpp b/btree.cpp index 31c212a..a49237f 100644 --- a/btree.cpp +++ b/btree.cpp @@ -141,6 +141,17 @@ } // bTree::getKeys void +bTree::setRoot(uPtr value) { + info->root = value; + + if (!memoryTree) { + if (!vfs->fSeek((int)&info->root - (int)info)) exit(42); + if (!vfs->fWrite(&info->root, sizeof(info->root))) exit(42); + } // if not memoryTree + return; +} // bTree::setRoot + +void bTree::setNull(uPtr & u) { u.offset = 0; } // bTree::setNull diff --git a/btree.h b/btree.h index b17c25f..2ac268e 100644 --- a/btree.h +++ b/btree.h @@ -27,6 +27,7 @@ void setNodes(uInt32); void setHeight(uInt32); void setKeys(uInt32); + void setRoot(uPtr); void setNull(uPtr &); public: bTree(char *, uInt32, treeTypes, bTreeVFS *);