=================================================================== RCS file: /cvs/djgpp/djgpp/src/mkdoc/mkdoc.cc,v retrieving revision 1.25 retrieving revision 1.26 diff -p -u -r1.25 -r1.26 --- djgpp/src/mkdoc/mkdoc.cc 2008/08/16 20:34:38 1.25 +++ /cvs/djgpp/djgpp/src/mkdoc/mkdoc.cc 2008/08/16 20:48:52 1.26 @@ -833,7 +833,6 @@ int is_directory(char *name) void scan_directory(char *which) { - Node *curnode; DIR *d = opendir(which); struct dirent *de; while ((de = readdir(d)) != NULL) @@ -860,15 +859,14 @@ void scan_directory(char *which) && !strchr(buf, '~') && !strchr(buf, '#')) { - char *filename = new char[strlen(buf)+1]; - strcpy(filename, buf); + char *filename = strdup(buf); FILE *ci = fopen(buf, "r"); if (!ci) { perror(buf); continue; } - curnode = 0; + Node *curnode = NULL; while (fgets(buf, 4000, ci)) { if (strncmp(buf, "@c ---", 6) == 0) @@ -886,8 +884,7 @@ void scan_directory(char *which) count_nodes ++; nodes.add(new TreeNode(name, curnode)); - Tree *tree = categories.find(cat)->node; - tree->add(new TreeNode(name, NULL)); + categories.find(cat)->node->add(new TreeNode(name, NULL)); } else { @@ -896,6 +893,7 @@ void scan_directory(char *which) } } fclose(ci); + free(filename); } } closedir(d);