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