refactor: remove tr_variantGetStr (#2160)

This commit is contained in:
Charles Kerr 2021-11-14 17:28:37 -06:00 committed by GitHub
parent 6dda4f2b5f
commit f46c4c4df9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 16 additions and 23 deletions

View File

@ -206,11 +206,10 @@ std::vector<std::string> gtr_pref_strv_get(tr_quark const key)
for (size_t i = 0; i < n; ++i)
{
char const* str = nullptr;
size_t len = 0;
if (tr_variantGetStr(tr_variantListChild(list, i), &str, &len))
auto sv = std::string_view{};
if (tr_variantGetStrView(tr_variantListChild(list, i), &sv))
{
ret.emplace_back(str, len);
ret.emplace_back(sv);
}
}
}

View File

@ -316,7 +316,7 @@ bool tr_variantGetStrView(tr_variant const* v, std::string_view* setme)
return true;
}
bool tr_variantGetStr(tr_variant const* v, char const** setme, size_t* len)
static bool tr_variantGetStr(tr_variant const* v, char const** setme, size_t* len)
{
auto sv = std::string_view{};
if (!tr_variantGetStrView(v, &sv))

View File

@ -167,7 +167,6 @@ constexpr bool tr_variantIsString(tr_variant const* b)
return b != nullptr && b->type == TR_VARIANT_TYPE_STR;
}
bool tr_variantGetStr(tr_variant const* variant, char const** setme_str, size_t* setme_len);
bool tr_variantGetStrView(tr_variant const* variant, std::string_view* setme);
void tr_variantInitStr(tr_variant* initme, std::string_view);

View File

@ -176,13 +176,12 @@ void TorrentModel::updateTorrents(tr_variant* torrents, bool is_complete_list)
{
// In 'table' format, the first entry in 'torrents' is an array of keys.
// All the other entries are an array of the values for one torrent.
char const* str;
size_t len;
auto sv = std::string_view{};
size_t i = 0;
keys.reserve(tr_variantListSize(first_child));
while (tr_variantGetStr(tr_variantListChild(first_child, i++), &str, &len))
while (tr_variantGetStrView(tr_variantListChild(first_child, i++), &sv))
{
keys.push_back(tr_quark_new(std::string_view(str, len)));
keys.push_back(tr_quark_new(sv));
}
}
else if (first_child != nullptr)

View File

@ -77,11 +77,10 @@ template<typename T, typename std::enable_if<std::is_same_v<T, QString>>::type*
auto getValue(tr_variant const* variant)
{
std::optional<T> ret;
char const* str;
size_t len;
if (tr_variantGetStr(variant, &str, &len))
auto sv = std::string_view{};
if (tr_variantGetStrView(variant, &sv))
{
ret = QString::fromUtf8(str, len);
ret = QString::fromUtf8(std::data(sv), std::size(sv));
}
return ret;
@ -91,11 +90,10 @@ template<typename T, typename std::enable_if<std::is_same_v<T, std::string_view>
auto getValue(tr_variant const* variant)
{
std::optional<T> ret;
char const* str;
size_t len;
if (tr_variantGetStr(variant, &str, &len))
auto sv = std::string_view{};
if (tr_variantGetStrView(variant, &sv))
{
ret = std::string_view(str, len);
ret = std::string_view(std::data(sv), std::size(sv));
}
return ret;

View File

@ -31,9 +31,8 @@ using RpcTest = SessionTest;
TEST_F(RpcTest, list)
{
size_t len;
int64_t i;
char const* str;
auto sv = std::string_view{};
tr_variant top;
tr_rpc_parse_list_str(&top, "12"sv);
@ -53,9 +52,8 @@ TEST_F(RpcTest, list)
tr_rpc_parse_list_str(&top, "asdf"sv);
EXPECT_TRUE(tr_variantIsString(&top));
EXPECT_TRUE(tr_variantGetStr(&top, &str, &len));
EXPECT_EQ(4, len);
EXPECT_STREQ("asdf", str);
EXPECT_TRUE(tr_variantGetStrView(&top, &sv));
EXPECT_EQ("asdf"sv, sv);
tr_variantFree(&top);
tr_rpc_parse_list_str(&top, "1,3-5"sv);