=================================================================== RCS file: /cvs/djgpp/djgpp/src/mkdoc/mkdoc.cc,v retrieving revision 1.24 retrieving revision 1.25 diff -p -u -r1.24 -r1.25 --- djgpp/src/mkdoc/mkdoc.cc 2008/08/16 20:10:02 1.24 +++ /cvs/djgpp/djgpp/src/mkdoc/mkdoc.cc 2008/08/16 20:34:38 1.25 @@ -138,6 +138,7 @@ struct Node { PortNote *last_port_note; int written_portability; Node(char *name, char *fn); + ~Node(); void add(char *line); void process(char *line); void error(char *str, ...); @@ -170,7 +171,7 @@ Tree nodes; Node::Node(char *Pname, char *fn) { name = strdup(Pname); - filename = fn; + filename = strdup(fn); lines = 0; lastline = 0; for (int i = 0; i < NUM_PORT_TARGETS; i++) @@ -180,6 +181,19 @@ Node::Node(char *Pname, char *fn) written_portability = 0; } +Node::~Node() +{ + free(name); + free(filename); + while (lines) + { + Line *l = lines->next; + free(lines->line); + delete lines; + lines = l; + } +} + void Node::add(char *l) {