]> git.donarmstrong.com Git - mothur.git/blobdiff - readtreecommand.cpp
documentation
[mothur.git] / readtreecommand.cpp
index 7cca943274aa929e6bfb5acf29f4c12988b8e965..8124d53415bda6035a3f6686d8ebc50a3ecb1419 100644 (file)
@@ -18,6 +18,9 @@ ReadTreeCommand::ReadTreeCommand(){
                //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);
@@ -43,12 +46,19 @@ ReadTreeCommand::~ReadTreeCommand(){
 
 int ReadTreeCommand::execute(){
        try {
-       
-               read->read(); 
+               int readOk;
+               
+               readOk = read->read(); 
                
-               Tree* T = globaldata->gTree;
-//             T->createNewickFile();
+               if (readOk != 0) { cout << "Read Terminated." << endl; globaldata->gTree.clear(); delete globaldata->gTreemap; return 0; }
                
+               vector<Tree*> T = globaldata->gTree;
+               
+               //assemble users trees
+               for (int i = 0; i < T.size(); i++) {
+                       T[i]->assembleTree();
+               }
+
                return 0;
        }
        catch(exception& e) {