bool ZipArchive::openArchive(Stream *stream, AccessMode mode /* = Read */) { if(mode != Read && mode != Write && mode != ReadWrite) return false; mStream = stream; mMode = mode; if(mode == Read || mode == ReadWrite) { bool ret = readCentralDirectory(); if(mode == Read) return ret; return true; } else { mEntries.clear(); SAFE_DELETE(mRoot); mRoot = new ZipEntry; mRoot->mName = ""; mRoot->mIsDirectory = true; mRoot->mCD.setFilename(""); } return true; }
bool ZipFile::init( istream &_zipfile ) { // Check stream error state if ( ! _zipfile ) { setError ( "Error reading from file" ) ; return false ; } _valid = readCentralDirectory( _zipfile ) ; return _valid ; }