X-Git-Url: https://git.llucax.com/z.facultad/75.52/treemulator.git/blobdiff_plain/ce24e1d22d120e6613f3cd1e04d81135f3d048c9..2f18bb22e1573898bb70f0a46897fbd032ef2734:/src/btree_data.cpp?ds=sidebyside diff --git a/src/btree_data.cpp b/src/btree_data.cpp index bf92909..1adeb83 100644 --- a/src/btree_data.cpp +++ b/src/btree_data.cpp @@ -24,8 +24,10 @@ BTreeData::BTreeData (Clave *k, uint child) BTreeData::~BTreeData () { - if (clave) + if (clave) { delete clave; + clave = NULL; + } } uint BTreeData::Size () const @@ -68,7 +70,7 @@ bool BTreeData::Abrev (BTreeData *anterior) if (anterior == NULL) return false; ClaveVariable *c = (ClaveVariable *)clave; - return c->Abrev (dynamic_cast(anterior->getClave ())); + return c->Abrev (dynamic_cast(anterior->GetKey ())); } bool BTreeData::DesAbrev (BTreeData *anterior) @@ -76,11 +78,12 @@ bool BTreeData::DesAbrev (BTreeData *anterior) if (anterior == NULL) return false; ClaveVariable *c = (ClaveVariable *)clave; - return c->DesAbrev (dynamic_cast(anterior->getClave ())); + return c->DesAbrev (dynamic_cast(anterior->GetKey ())); } BTreeLeafData::BTreeLeafData (uchar *node, int key_type) { + hijo = 0; if (key_type == BTree::KEY_FIXED) clave = new ClaveFija (node); else @@ -89,6 +92,10 @@ BTreeLeafData::BTreeLeafData (uchar *node, int key_type) BTreeLeafData::~BTreeLeafData () { + if (clave) { + delete clave; + clave = NULL; + } } uint BTreeLeafData::Size () const @@ -108,6 +115,7 @@ uchar* BTreeLeafData::ToArray () const BTreeChildData::BTreeChildData (uchar *node) { memcpy (&hijo, node, sizeof (uint)); + clave = NULL; } BTreeChildData::~BTreeChildData () @@ -126,3 +134,7 @@ uchar* BTreeChildData::ToArray () const return out; } +bool BTreeChildData::operator < (const BTreeData &data) const +{ + return false; +}