=================================================================== RCS file: /cvs/djgpp/djgpp/src/mkdoc/mkdoc.cc,v retrieving revision 1.44 retrieving revision 1.45 diff -p -u -r1.44 -r1.45 --- djgpp/src/mkdoc/mkdoc.cc 2008/08/18 17:42:04 1.44 +++ /cvs/djgpp/djgpp/src/mkdoc/mkdoc.cc 2008/08/18 18:18:37 1.45 @@ -103,7 +103,7 @@ template struct TreeNode { TreeNode *before, *after; TreeNode *prev, *next; - char *name; + std::string name; char *sname; N *node; TreeNode(const char *name, N *n); @@ -649,8 +649,8 @@ template TreeNode::TreeNode(const char *Pname, N *n) { before = after = prev = next = NULL; - name = strdup(Pname); - sname = make_sname(name); + name = Pname; + sname = make_sname(Pname); node = n; } @@ -659,7 +659,6 @@ TreeNode::~TreeNode() { delete before; delete after; - free(name); free(sname); delete node; } @@ -668,7 +667,6 @@ TreeNode::~TreeNode() { delete before; delete after; - free(name); free(sname); } @@ -759,16 +757,16 @@ void TreeNode::Pnode(void) const { fprintf(co, "@c -----------------------------------------------------------------------------\n"); - fprintf(co, "@node %s, %s, %s, %s\n", name, - next ? next->name : "", prev ? prev->name : "", up()); - fprintf(co, "@unnumberedsec %s\n", name); + fprintf(co, "@node %s, %s, %s, %s\n", name.c_str(), + next ? next->name.c_str() : "", prev ? prev->name.c_str() : "", up()); + fprintf(co, "@unnumberedsec %s\n", name.c_str()); } template static void print1(const TreeNode &n) { - fprintf(co, "* %s::\n", n.name); + fprintf(co, "* %s::\n", n.name.c_str()); } template