CCollectionFile::File* CCollectionFile::FindFile(CLibraryFile* pShared, BOOL bApply) { File* pFile = NULL; for ( POSITION pos = GetFileIterator(); pos; ) { pFile = GetNextFile( pos ); if ( validAndEqual( pShared->m_oSHA1, pFile->m_oSHA1 ) ) break; if ( validAndEqual( pShared->m_oMD5, pFile->m_oMD5 ) ) break; if ( validAndEqual( pShared->m_oTiger, pFile->m_oTiger ) ) break; if ( validAndEqual( pShared->m_oED2K, pFile->m_oED2K ) ) break; if ( validAndEqual( pShared->m_oBTH, pFile->m_oBTH ) ) break; pFile = NULL; } if ( bApply && pFile != NULL ) pFile->ApplyMetadata( pShared ); return pFile; }