void PosLmUnzipUtil::UnzipFileL(RFs& aFs, TFileName* aFileName) { CZipFile* zipFile = NULL; CZipFileMember* member = NULL; CZipFileMemberIterator* fileMembers = NULL; zipFile = CZipFile::NewL(aFs,*aFileName); CleanupStack::PushL(zipFile); User::LeaveIfError(zipFile->OpenL()); fileMembers = zipFile->GetMembersL(); CleanupStack::PushL(fileMembers); member = fileMembers->NextL(); while (member) { //You must take ownership of the member object created for you by NextL()! CleanupStack::PushL(member); ExtractFileL(aFs, member, zipFile, aFileName); CleanupStack::PopAndDestroy(); //member member = fileMembers->NextL(); } zipFile->Close(); CleanupStack::PopAndDestroy(2); //fileMembers, zipFile }