summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcos Pinto <markybob@dipconsultants.com>2007-10-21 00:51:13 +0000
committerMarcos Pinto <markybob@dipconsultants.com>2007-10-21 00:51:13 +0000
commit0fea61bd96ae4ecd5a4e29c78952dfe9212b18dd (patch)
tree11306019c8758d38eaf1a929346313627164fa1d
parentfc16de269e99ccc151efd5765008b6b80e9b3b21 (diff)
downloaddeluge-0fea61bd96ae4ecd5a4e29c78952dfe9212b18dd.tar.gz
deluge-0fea61bd96ae4ecd5a4e29c78952dfe9212b18dd.tar.bz2
deluge-0fea61bd96ae4ecd5a4e29c78952dfe9212b18dd.zip
fix deleting of subfolders
-rwxr-xr-xlibtorrent/src/storage.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/libtorrent/src/storage.cpp b/libtorrent/src/storage.cpp
index 6671e38e9..58791572a 100755
--- a/libtorrent/src/storage.cpp
+++ b/libtorrent/src/storage.cpp
@@ -485,11 +485,12 @@ namespace libtorrent
{
std::string p = (m_save_path / i->path).string();
fs::path bp = i->path.branch_path();
- std::pair<iter_t, bool> ret = directories.insert(bp.string());
+ std::pair<iter_t, bool> ret;
+ ret.second = true;
while (ret.second && !bp.empty())
{
+ std::pair<iter_t, bool> ret = directories.insert((m_save_path / bp).string());
bp = bp.branch_path();
- std::pair<iter_t, bool> ret = directories.insert(bp.string());
}
std::remove(p.c_str());
}
@@ -498,9 +499,6 @@ namespace libtorrent
// subdirectories first
std::for_each(directories.rbegin(), directories.rend()
, bind((int(*)(char const*))&std::remove, bind(&std::string::c_str, _1)));
-
- std::string p = (m_save_path / m_info->name()).string();
- std::remove(p.c_str());
}
void storage::write_resume_data(entry& rd) const