int CLocalSearch::Execute(int nMaximum) { if ( m_pBuffer == NULL ) { if ( UploadQueues.GetQueueRemaining() == 0 ) return 0; } if ( nMaximum < 0 ) nMaximum = Settings.Gnutella.MaxHits; if ( m_pSearch ) { m_pGUID = m_pSearch->m_pGUID; } else { Network.CreateID( m_pGUID ); } int nCount = ExecuteSharedFiles( nMaximum ); if ( m_pSearch != NULL && m_pSearch->m_bWantPFS && m_nProtocol == PROTOCOL_G2 ) { if ( nMaximum == 0 || nCount < nMaximum ) { nCount += ExecutePartialFiles( nMaximum ? nMaximum - nCount : 0 ); } } return nCount; }
bool CLocalSearch::Execute(INT_PTR nMaximum, bool bPartial, bool bShared) { ASSERT( bPartial || bShared ); if ( nMaximum < 0 ) nMaximum = Settings.Gnutella.MaxHits; if ( m_pSearch ) { m_oGUID = m_pSearch->m_oGUID; } else { Network.CreateID( m_oGUID ); } INT_PTR nHits = 0; if ( bPartial ) { if ( ! ExecutePartialFiles( nMaximum, nHits ) ) return false; } if ( ! nMaximum || nHits < nMaximum ) { if ( bShared ) { if ( ! ExecuteSharedFiles( nMaximum, nHits ) ) return false; } } ASSERT( ! nMaximum || nHits <= nMaximum ); return true; }