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