if (randomtree == "") { printUSummaryFile(); }
//reset globaldata's treemap if you just did random distrib
- if (randomtree != "") { globaldata->gTreemap = savetmap; }
+ if (randomtree != "") {
+ //memory leak prevention
+ if (globaldata->gTreemap != NULL) { delete globaldata->gTreemap; }
+ globaldata->gTreemap = savetmap;
+ }
//reset randomTree parameter to ""
globaldata->setRandomTree("");
getline(cin, s);
//save tmap for later
+ //memory leak prevention
+ if (globaldata->gTreemap != NULL) { delete globaldata->gTreemap; }
globaldata->gTreemap = tmap;
}
ifstream in;
openInputFile(filename, in);
matrix = new FullMatrix(in); //reads the matrix file
+ //memory leak prevention
+ if (globaldata->gMatrix != NULL) { delete globaldata->gMatrix; }
globaldata->gMatrix = matrix; //save matrix for coverage commands
}else {
read->read(nameMap);
}else {//there is an orderfile
input = new InputData(philFile, globaldata->getOrderFile(), globaldata->getFormat());
}
+
+ //memory leak prevention
+ if (globaldata->ginput != NULL) { delete globaldata->ginput; }
globaldata->ginput = input; //saving to be used by collector and rarefact commands.
if ((globaldata->getFormat() == "list") || (globaldata->getFormat() == "rabund") || (globaldata->getFormat() == "sabund")) {//you are reading a list, rabund or sabund file for collect, rarefaction or summary.
order = input->getOrderVector();
+ //memory leak prevention
+ if (globaldata->gorder != NULL) { delete globaldata->gorder; }
globaldata->gorder = order; //saving to be used by collect and rarefact commands.
sabund = inputSabund->getSAbundVector();
globaldata->sabund = sabund; //saving to be used by summary command.
}else if (globaldata->getFormat() == "shared") {
SharedList = input->getSharedListVector(); //you are reading for collect.shared, rarefaction.shared, summary.shared, parselist command, or shared commands.
+ //memory leak prevention
+ if (globaldata->gSharedList != NULL) { delete globaldata->gSharedList; }
globaldata->gSharedList = SharedList;
}
}
//read in group map info.
treeMap = new TreeMap(globaldata->getGroupFile());
treeMap->readMap();
+
+ //memory leak prevention
+ if (globaldata->gTreemap != NULL) { delete globaldata->gTreemap; }
globaldata->gTreemap = treeMap;
read = new ReadNewickTree(filename);