func: uint8_t* nsZipCursor::ReadOrCopy(uint32_t *aBytesRead, bool aCopy) if ( ! mZs . next_in )  switch ( mItem -> Compression ( ) )  if ( ! aCopy )  * aBytesRead = mZs . avail_in > mBufSize ? mBufSize : mZs . avail_in; memcpy ( mBuf , mZs . next_in , * aBytesRead ); buf = mBuf; mZs . next_out = buf; mZs . avail_out = mBufSize; zerr = inflate ( & mZs , Z_PARTIAL_FLUSH ); if ( zerr != Z_OK && zerr != Z_STREAM_END )  * aBytesRead = mZs . next_out - buf; verifyCRC = ( zerr == Z_STREAM_END ); mCRC = crc32 ( mCRC , ( const unsigned char * ) buf , * aBytesRead ); if ( verifyCRC && mCRC != mItem -> CRC32 ( ) )  return buf ; 