Hi, Rooters: The following piece of code has a memeory leak but I can not figure out the source of leaking, please advise. Thanks! Aihong ===================================================================== TFile* newfile = new TFile(newfilename,"RECREATE"); TFile* oldfile1 = new TFile(((TObjString *)(toBeAddedFiles->At(0)))->GetName(),"READ"); TList* list = oldfile1->GetListOfKeys(); TIter next(list); TKey* key; TObject* obj; while (key = (TKey*)next()) { obj = oldfile1->Get(key->GetName()); if (!obj) return; if(obj->IsA() == TDirectory::Class()){ delete obj; obj = NULL; continue; } TObject* newobj = obj->Clone(); if (newobj->InheritsFrom( TH1::Class())) { for (int k=1; k<toBeAddedFiles->GetEntries(); k++){ TFile* f =new TFile(((TObjString *)(toBeAddedFiles->At(k)))->GetName() ((TH1 *) newobj)->Add(((TH1 *)f->Get(key->GetName()))); delete f; } } newfile->cd(); newobj->Write(key->GetName(),TObject::kOverwrite | TObject::kSingleKey); delete newobj; } gROOT->cd(); delete key; newfile->Write(); newfile->Close(); ==========================================================
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:58 MET