chore: move tr_rpc_parse_list_str() from libtransmission to remote.cc (#7797)

libtransmission hasn't used this since 822fabb2 (#3549)
This commit is contained in:
Charles Kerr
2025-11-11 09:31:19 -06:00
committed by GitHub
parent df221daab5
commit a5d09b29ff
4 changed files with 27 additions and 75 deletions

View File

@@ -2217,33 +2217,3 @@ void tr_rpc_request_exec(tr_session* session, tr_variant const& request, tr_rpc_
callback(session, tr_variant{ std::move(response) });
}
/**
* Munge the URI into a usable form.
*
* We have very loose typing on this to make the URIs as simple as possible:
* - anything not a 'tag' or 'method' is automatically in 'arguments'
* - values that are all-digits are numbers
* - values that are all-digits or commas are number lists
* - all other values are strings
*/
tr_variant tr_rpc_parse_list_str(std::string_view str)
{
auto const values = tr_num_parse_range(str);
auto const n_values = std::size(values);
if (n_values == 0)
{
return { str };
}
if (n_values == 1)
{
return { values[0] };
}
auto num_vec = tr_variant::Vector{};
num_vec.resize(n_values);
std::copy_n(std::cbegin(values), n_values, std::begin(num_vec));
return { std::move(num_vec) };
}

View File

@@ -6,7 +6,6 @@
#pragma once
#include <functional>
#include <string_view>
struct tr_session;
struct tr_variant;
@@ -14,5 +13,3 @@ struct tr_variant;
using tr_rpc_response_func = std::function<void(tr_session* session, tr_variant&& response)>;
void tr_rpc_request_exec(tr_session* session, tr_variant const& request, tr_rpc_response_func&& callback = {});
tr_variant tr_rpc_parse_list_str(std::string_view str);