diff --git a/ChangeLog b/ChangeLog index ca2fa79f..48279b6a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-03-05 Tatsuhiro Tsujikawa + + Use Util::pathJoin() + * src/DefaultBtContext.cc + 2009-03-05 Tatsuhiro Tsujikawa Added Util::pathJoin() diff --git a/src/DefaultBtContext.cc b/src/DefaultBtContext.cc index 4bdf33b9..aede7d07 100644 --- a/src/DefaultBtContext.cc +++ b/src/DefaultBtContext.cc @@ -38,6 +38,7 @@ #include #include #include +#include #include "DlAbortEx.h" #include "Util.h" @@ -149,12 +150,11 @@ void DefaultBtContext::extractFileEntries(const bencode::BDE& infoDict, if(!pathList.isList() || pathList.empty()) { throw DlAbortEx("Path is empty."); } - std::string path; - for(size_t i = 0; i < pathList.size()-1; ++i) { - path += pathList[i].s()+"/"; - - } - path += pathList[pathList.size()-1].s(); + + std::vector elements(pathList.size()); + std::transform(pathList.listBegin(), pathList.listEnd(), elements.begin(), + std::mem_fun_ref(&bencode::BDE::s)); + std::string path = Util::joinPath(elements.begin(), elements.end()); std::deque uris; std::transform(urlList.begin(), urlList.end(), std::back_inserter(uris),