=================================================================== RCS file: /cvs/djgpp/djgpp/src/mkdoc/mkdoc.cc,v retrieving revision 1.23 retrieving revision 1.24 diff -p -u -r1.23 -r1.24 --- djgpp/src/mkdoc/mkdoc.cc 2008/08/16 17:43:26 1.23 +++ /cvs/djgpp/djgpp/src/mkdoc/mkdoc.cc 2008/08/16 20:10:02 1.24 @@ -106,6 +106,7 @@ template struct Tree { TreeNode *nodes; Tree(); + ~Tree(); void add(TreeNode *n); void Traverse(void (*tf)(TreeNode *)); TreeNode *find(char *name); @@ -155,6 +156,7 @@ struct TreeNode { char *sname; N *node; TreeNode(char *name, N *n); + ~TreeNode(); void Traverse(void (*tf)(TreeNode *)); int Compare(char *sn); void pnode(char *up); @@ -639,6 +641,24 @@ TreeNode::TreeNode(char *Pname, N *n) } template +TreeNode::~TreeNode() +{ + delete before; + delete after; + free(name); + free(sname); + delete node; +} + +TreeNode::~TreeNode() +{ + delete before; + delete after; + free(name); + free(sname); +} + +template void TreeNode::Traverse(void (*tf)(TreeNode *)) { @@ -663,6 +683,12 @@ Tree::Tree() } template +Tree::~Tree() +{ + delete nodes; +} + +template void Tree::add(TreeNode *tp) {