diff --git a/src/bittorrent_helper.cc b/src/bittorrent_helper.cc index 6908f95b..d6685756 100644 --- a/src/bittorrent_helper.cc +++ b/src/bittorrent_helper.cc @@ -883,11 +883,11 @@ BDE parseMagnet(const std::string& magnet) if(r.containsKey("tr")) { announceList << r["tr"]; } - std::string name; + std::string name = "[METADATA]"; if(r.containsKey("dn") && r["dn"].size()) { - name = r["dn"][0].s(); + name += r["dn"][0].s(); } else { - name = strconcat("[METADATA]", util::toHex(infoHash)); + name += util::toHex(infoHash); } BDE attrs = BDE::dict(); attrs[INFO_HASH] = infoHash; diff --git a/test/BittorrentHelperTest.cc b/test/BittorrentHelperTest.cc index 73599a3c..684e802a 100644 --- a/test/BittorrentHelperTest.cc +++ b/test/BittorrentHelperTest.cc @@ -708,7 +708,8 @@ void BittorrentHelperTest::testParseMagnet() BDE attrs = bittorrent::parseMagnet(magnet); CPPUNIT_ASSERT_EQUAL(std::string("248d0a1cd08284299de78d5c1ed359bb46717d8c"), util::toHex(attrs[bittorrent::INFO_HASH].s())); - CPPUNIT_ASSERT_EQUAL(std::string("aria2"), attrs[bittorrent::NAME].s()); + CPPUNIT_ASSERT_EQUAL(std::string("[METADATA]aria2"), + attrs[bittorrent::NAME].s()); CPPUNIT_ASSERT_EQUAL(std::string("http://tracker1"), attrs[bittorrent::ANNOUNCE_LIST][0][0].s()); CPPUNIT_ASSERT_EQUAL(std::string("http://tracker2"),