refactor: tr_variant*Str() functions now take a std::string_view (#1990)

* refactor tr_variant*Str functions now take a std::string_view

* refactor: tr_torrentPrimaryMimeType returns a string-view
This commit is contained in:
Charles Kerr
2021-10-19 21:30:50 -05:00
committed by GitHub
parent 0b1e12ac5b
commit 236a0965fa
23 changed files with 130 additions and 121 deletions

View File

@@ -48,6 +48,8 @@
#define RECENTLY_ACTIVE_SECONDS 60
using namespace std::literals;
#if 0
#define dbgmsg(fmt, ...) fprintf(stderr, "%s:%d " fmt "\n", __FILE__, __LINE__, __VA_ARGS__)
#else
@@ -380,7 +382,7 @@ static void addLabels(tr_torrent const* tor, tr_variant* list)
tr_variantInitList(list, std::size(tor->labels));
for (auto const& label : tor->labels)
{
tr_variantListAddStr(list, label.c_str());
tr_variantListAddStr(list, label);
}
}
@@ -532,7 +534,7 @@ static void initField(
break;
case TR_KEY_comment:
tr_variantInitStr(initme, inf->comment != nullptr ? inf->comment : "", TR_BAD_SIZE);
tr_variantInitStr(initme, std::string_view{ inf->comment != nullptr ? inf->comment : "" });
break;
case TR_KEY_corruptEver:
@@ -540,7 +542,7 @@ static void initField(
break;
case TR_KEY_creator:
tr_variantInitStr(initme, inf->creator != nullptr ? inf->creator : "", TR_BAD_SIZE);
tr_variantInitStr(initme, std::string_view{ inf->creator != nullptr ? inf->creator : "" });
break;
case TR_KEY_dateCreated:
@@ -556,7 +558,7 @@ static void initField(
break;
case TR_KEY_downloadDir:
tr_variantInitStr(initme, tr_torrentGetDownloadDir(tor), TR_BAD_SIZE);
tr_variantInitStr(initme, tr_torrentGetDownloadDir(tor));
break;
case TR_KEY_downloadedEver:
@@ -576,7 +578,7 @@ static void initField(
break;
case TR_KEY_errorString:
tr_variantInitStr(initme, st->errorString, TR_BAD_SIZE);
tr_variantInitStr(initme, st->errorString);
break;
case TR_KEY_eta:
@@ -598,7 +600,7 @@ static void initField(
break;
case TR_KEY_hashString:
tr_variantInitStr(initme, tor->info.hashString, TR_BAD_SIZE);
tr_variantInitStr(initme, tor->info.hashString);
break;
case TR_KEY_haveUnchecked:
@@ -651,7 +653,7 @@ static void initField(
case TR_KEY_magnetLink:
str = tr_torrentGetMagnetLink(tor);
tr_variantInitStr(initme, str, TR_BAD_SIZE);
tr_variantInitStr(initme, str);
tr_free(str);
break;
@@ -660,7 +662,7 @@ static void initField(
break;
case TR_KEY_name:
tr_variantInitStr(initme, tr_torrentName(tor), TR_BAD_SIZE);
tr_variantInitStr(initme, tr_torrentName(tor));
break;
case TR_KEY_percentDone:
@@ -706,12 +708,12 @@ static void initField(
{
auto const bytes = tr_torrentCreatePieceBitfield(tor);
auto* enc = static_cast<char*>(tr_base64_encode(bytes.data(), std::size(bytes), nullptr));
tr_variantInitStr(initme, enc != nullptr ? enc : "", TR_BAD_SIZE);
tr_variantInitStr(initme, enc != nullptr ? std::string_view{ enc } : ""sv);
tr_free(enc);
}
else
{
tr_variantInitStr(initme, "", 0);
tr_variantInitStr(initme, ""sv);
}
break;
@@ -725,7 +727,7 @@ static void initField(
break;
case TR_KEY_primary_mime_type:
tr_variantInitStr(initme, tr_torrentPrimaryMimeType(tor), TR_BAD_SIZE);
tr_variantInitStr(initme, tr_torrentPrimaryMimeType(tor));
break;
case TR_KEY_priorities:
@@ -813,7 +815,7 @@ static void initField(
}
case TR_KEY_torrentFile:
tr_variantInitStr(initme, inf->torrent, TR_BAD_SIZE);
tr_variantInitStr(initme, inf->torrent);
break;
case TR_KEY_totalSize:
@@ -2462,20 +2464,20 @@ static void addSessionField(tr_session* s, tr_variant* d, tr_quark key)
case TR_KEY_encryption:
{
char const* str;
auto str = std::string_view{};
switch (tr_sessionGetEncryption(s))
{
case TR_CLEAR_PREFERRED:
str = "tolerated";
str = "tolerated"sv;
break;
case TR_ENCRYPTION_REQUIRED:
str = "required";
str = "required"sv;
break;
default:
str = "preferred";
str = "preferred"sv;
break;
}
@@ -2748,7 +2750,7 @@ void tr_rpc_parse_list_str(tr_variant* setme, std::string_view str)
if (valueCount == 0)
{
tr_variantInitStr(setme, std::data(str), std::size(str));
tr_variantInitStr(setme, str);
}
else if (valueCount == 1)
{