X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=readotu.cpp;h=98a63f05cdbea47c62c9dc07d7fd8c65dec35319;hb=30c1fd8c45b6f0d66c17f2714dbb58b8ddccdce2;hp=a99f343c83e35cd42724ddef6b32d26f4d0c88a6;hpb=b7cce6e0a45013919e76a266533fcca4052cf157;p=mothur.git diff --git a/readotu.cpp b/readotu.cpp index a99f343..98a63f0 100644 --- a/readotu.cpp +++ b/readotu.cpp @@ -12,7 +12,7 @@ /***********************************************************************/ ReadOTUFile::ReadOTUFile(string pf): philFile(pf){ - + m = MothurOut::getInstance(); //openInputFile(philFile, fileHandle); } @@ -31,24 +31,29 @@ void ReadOTUFile::read(GlobalData* globaldata){ }else {//there is an orderfile input = new InputData(philFile, globaldata->getOrderFile(), globaldata->getFormat()); } -//cout << "made it here" << endl; + //memory leak prevention //if (globaldata->ginput != NULL) { delete globaldata->ginput; } globaldata->ginput = input; //saving to be used by collector and rarefact commands. -//cout << "after input" << endl; + if ((globaldata->getFormat() == "list") || (globaldata->getFormat() == "rabund") || (globaldata->getFormat() == "sabund")) {//you are reading a list, rabund or sabund file for collect, rarefaction or summary. + +//cout << input << '\t' << globaldata << endl; 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(); //if (globaldata->sabund != NULL) { delete globaldata->sabund; } globaldata->sabund = sabund; //saving to be used by summary command. delete inputSabund; + rabund = inputRabund->getRAbundVector(); //if (globaldata->rabund != NULL) { delete globaldata->rabund; } globaldata->rabund = rabund; //saving to be used by heatmap.bin command. delete inputRabund; + list = inputList->getListVector(); //if (globaldata->gListVector != NULL) { delete globaldata->gListVector; } globaldata->gListVector = list; @@ -59,14 +64,13 @@ void ReadOTUFile::read(GlobalData* globaldata){ //memory leak prevention //if (globaldata->gSharedList != NULL) { delete globaldata->gSharedList; } globaldata->gSharedList = SharedList; + delete inputSabund; + delete inputRabund; + delete inputList; } } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the ReadOTUFile class Function read. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } - catch(...) { - cout << "An unknown error has occurred in the ReadOTUFile class function read. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "ReadOTUFile", "read"); exit(1); } }