From aa06c8144feecbc9d6dc1a21c29c019ad45490ad Mon Sep 17 00:00:00 2001 From: orignal Date: Fri, 11 Sep 2026 11:32:34 -0400 Subject: [PATCH] decode url from tracker param --- libi2pd_client/TorrentsTunnel.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/libi2pd_client/TorrentsTunnel.cpp b/libi2pd_client/TorrentsTunnel.cpp index ac57f896..9ef503bc 100644 --- a/libi2pd_client/TorrentsTunnel.cpp +++ b/libi2pd_client/TorrentsTunnel.cpp @@ -346,15 +346,11 @@ namespace torrents { // magnet:?xt=urn:btih:&dn=&tr= static constexpr std::string_view magnetPrefix { "magnet:?" }; -#if __cplusplus >= 202002L // C++20 if (magnet.starts_with (magnetPrefix)) -#else - if (magnet.substr (0, magnetPrefix.size ()) == magnetPrefix) -#endif { Torrent::InfoHash infoHash; bool isInfoHashFound = false; - std::string_view announce, name; + std::string announce, name; magnet = magnet.substr (magnetPrefix.size ()); while (!magnet.empty()) { @@ -387,7 +383,7 @@ namespace torrents } } else if (param.starts_with (trackerPrefix)) - announce = param.substr (trackerPrefix.size ()); + announce = i2p::http::UrlDecode (param.substr (trackerPrefix.size ())); else if (param.starts_with (namePrefix)) name = i2p::http::UrlDecode (param.substr (namePrefix.size ())); }