* Fixed EINTR handling in execute command. Patch by anonymous.

* Fixed a couple of memory leaks in xmlrpc.cc. Reported by Novik.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1057 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
rakshasa
2008-05-01 17:14:43 +00:00
parent fcbad61577
commit 3f64e8b1fa
3 changed files with 17 additions and 6 deletions
+10 -4
View File
@@ -377,8 +377,11 @@ object_to_xmlrpc(xmlrpc_env* env, const torrent::Object& object) {
{
xmlrpc_value* result = xmlrpc_array_new(env);
for (torrent::Object::list_const_iterator itr = object.as_list().begin(), last = object.as_list().end(); itr != last; itr++)
xmlrpc_array_append_item(env, result, object_to_xmlrpc(env, *itr));
for (torrent::Object::list_const_iterator itr = object.as_list().begin(), last = object.as_list().end(); itr != last; itr++) {
xmlrpc_value* item = object_to_xmlrpc(env, *itr);
xmlrpc_array_append_item(env, result, item);
xmlrpc_DECREF(item);
}
return result;
}
@@ -387,8 +390,11 @@ object_to_xmlrpc(xmlrpc_env* env, const torrent::Object& object) {
{
xmlrpc_value* result = xmlrpc_struct_new(env);
for (torrent::Object::map_const_iterator itr = object.as_map().begin(), last = object.as_map().end(); itr != last; itr++)
xmlrpc_struct_set_value(env, result, itr->first.c_str(), object_to_xmlrpc(env, itr->second));
for (torrent::Object::map_const_iterator itr = object.as_map().begin(), last = object.as_map().end(); itr != last; itr++) {
xmlrpc_value* item = object_to_xmlrpc(env, itr->second);
xmlrpc_struct_set_value(env, result, itr->first.c_str(), item);
xmlrpc_DECREF(item);
}
return result;
}