From f2c036650c268a97eac4bbf261c0e94d7f47e236 Mon Sep 17 00:00:00 2001 From: Marcos Pinto <markybob@dipconsultants.com> Date: Sun, 21 Oct 2007 00:51:13 +0000 Subject: [PATCH] fix deleting of subfolders --- libtorrent/src/storage.cpp | 8 +++----- 1 file 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