fsInternetResult fsMirrorURLsMgr::SearchForMirrors() { fsInternetResult ir; CString strURL = m_strSearchURL; strURL.Replace ("%file%", m_strFile); if (m_uSize != _UI64_MAX) { CString strSize; strSize.Format ("%I64u", m_uSize); strURL.Replace ("%size%", strSize); } else strURL.Replace ("%size%", ""); m_bAbort = FALSE; ir = m_dldr.Download (strURL); if (ir != IR_SUCCESS) return ir; return OnSearchScriptResultsReceived (); }
fsInternetResult fsMirrorURLsMgr::SearchForMirrors() { fsInternetResult ir; CString strURL = m_strSearchURL; strURL.Replace ("%file%", m_strFile); if (m_uSize != _UI64_MAX) { CString strSize; strSize.Format ("%I64u", m_uSize); strURL.Replace ("%size%", strSize); } else strURL.Replace ("%size%", ""); m_bAbort = FALSE; LPCTSTR ptsz = _tcsrchr (strURL, '/'); if (ptsz) { tstring tstrReferer; LPCTSTR ptsz2 = _tcsrchr (strURL, '?'); if (ptsz2 < ptsz) { tstrReferer.assign (strURL, ptsz2 - (LPCTSTR)strURL); LPCTSTR ptsz = _tcsrchr (tstrReferer.c_str (), '/'); if (ptsz) { tstring tstr; tstr.assign (tstrReferer.c_str (), ptsz - tstrReferer.c_str () + 1); tstrReferer = tstr; } } else { tstrReferer.assign (strURL, ptsz - (LPCTSTR)strURL + 1); } m_dldr.Get_File ()->SetReferer (tstrReferer.c_str ()); } ir = m_dldr.Download (strURL); if (ir != IR_SUCCESS) return ir; return OnSearchScriptResultsReceived (); }