* Added TextElementValue*.

* The curl perform loop wasn't properly checking the returned pointer,
which caused a segfault with libcurl 7.15.5.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@754 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
rakshasa
2006-08-10 21:24:10 +00:00
parent ca58b43d8b
commit 3c634730c4
13 changed files with 340 additions and 34 deletions
+3 -4
View File
@@ -74,17 +74,16 @@ CurlStack::perform() {
if (s != m_size) {
// Done with some handles.
int t;
CURLMsg* msg;
do {
CURLMsg* msg = curl_multi_info_read((CURLM*)m_handle, &t);
while ((msg = curl_multi_info_read((CURLM*)m_handle, &t)) != NULL) {
CurlGetList::iterator itr = std::find_if(m_getList.begin(), m_getList.end(), rak::equal(msg->easy_handle, std::mem_fun(&CurlGet::handle)));
if (itr == m_getList.end())
throw std::logic_error("Could not find CurlGet with the right easy_handle");
(*itr)->perform(msg);
} while (t);
}
}
} while (code == CURLM_CALL_MULTI_PERFORM);