X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=parselistscommand.cpp;h=bb096d8646873f74c42bd8970b9eef9693a3252e;hb=ccf2fedbb600a362777a11501bb56c9c7746068e;hp=9459294fa49945a00b270c1d98529de0a93c008d;hpb=19fcbbdba99658f5eca244803280f9ee7f9f6607;p=mothur.git diff --git a/parselistscommand.cpp b/parselistscommand.cpp index 9459294..bb096d8 100644 --- a/parselistscommand.cpp +++ b/parselistscommand.cpp @@ -175,11 +175,12 @@ int ParseListCommand::execute(){ //fill filehandles with neccessary ofstreams int i; ofstream* temp; - for (i=0; inamesOfGroups.size(); i++) { + vector gGroups = groupMap->getNamesOfGroups(); + for (i=0; inamesOfGroups[i]] = temp; + filehandles[gGroups[i]] = temp; - string filename = fileroot + groupMap->namesOfGroups[i] + ".list"; + string filename = fileroot + gGroups[i] + ".list"; outputNames.push_back(filename); outputTypes["list"].push_back(filename); m->openOutputFile(filename, *temp); } @@ -194,7 +195,8 @@ int ParseListCommand::execute(){ if (m->control_pressed) { delete input; delete list; delete groupMap; - for (i=0; inamesOfGroups.size(); i++) { (*(filehandles[groupMap->namesOfGroups[i]])).close(); delete filehandles[groupMap->namesOfGroups[i]]; } + vector gGroups = groupMap->getNamesOfGroups(); + for (i=0; imothurRemove(outputNames[i]); } outputTypes.clear(); return 0; } @@ -203,7 +205,7 @@ int ParseListCommand::execute(){ if (m->control_pressed) { delete input; delete list; delete groupMap; - for (i=0; inamesOfGroups.size(); i++) { (*(filehandles[groupMap->namesOfGroups[i]])).close(); delete filehandles[groupMap->namesOfGroups[i]]; } + for (i=0; imothurRemove(outputNames[i]); } outputTypes.clear(); return 0; } @@ -241,10 +243,10 @@ int ParseListCommand::execute(){ } if (m->control_pressed) { - delete input; delete groupMap; - for (i=0; inamesOfGroups.size(); i++) { (*(filehandles[groupMap->namesOfGroups[i]])).close(); delete filehandles[groupMap->namesOfGroups[i]]; } - for (int i = 0; i < outputNames.size(); i++) { m->mothurRemove(outputNames[i]); } outputTypes.clear(); - return 0; + delete input; delete groupMap; + for (i=0; imothurRemove(outputNames[i]); } outputTypes.clear(); + return 0; } //output error messages about any remaining user labels @@ -262,10 +264,10 @@ int ParseListCommand::execute(){ } if (m->control_pressed) { - delete input; delete groupMap; - for (i=0; inamesOfGroups.size(); i++) { (*(filehandles[groupMap->namesOfGroups[i]])).close(); delete filehandles[groupMap->namesOfGroups[i]]; } - for (int i = 0; i < outputNames.size(); i++) { m->mothurRemove(outputNames[i]); } outputTypes.clear(); - return 0; + delete input; delete groupMap; + for (i=0; imothurRemove(outputNames[i]); } outputTypes.clear(); + return 0; } //run last label if you need to