]> git.donarmstrong.com Git - mothur.git/blobdiff - readtreecommand.cpp
put back no command and worked on libshuff
[mothur.git] / readtreecommand.cpp
index 63c62265455ad6b2348d5496a278245f75fe5f71..6af28ad7788a351e1a320aaf433c800c2c529f1b 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,8 +46,11 @@ ReadTreeCommand::~ReadTreeCommand(){
 
 int ReadTreeCommand::execute(){
        try {
-       
-               read->read(); 
+               int readOk;
+               
+               readOk = read->read(); 
+               
+               if (readOk != 0) { cout << "Read Terminated." << endl; globaldata->gTree.clear(); delete globaldata->gTreemap; return 0; }
                
                vector<Tree*> T = globaldata->gTree;
                
@@ -52,6 +58,7 @@ int ReadTreeCommand::execute(){
                for (int i = 0; i < T.size(); i++) {
                        T[i]->assembleTree();
                }
+
                return 0;
        }
        catch(exception& e) {