fix: clang-tidy header warnings (#4686)

This commit is contained in:
Charles Kerr 2023-01-28 17:58:20 -06:00 committed by GitHub
parent 93db8f088a
commit 724a0f48f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 120 additions and 120 deletions

View File

@ -157,7 +157,7 @@ public:
return *this != std::string_view{ that != nullptr ? that : "" }; return *this != std::string_view{ that != nullptr ? that : "" };
} }
constexpr operator std::string_view() const noexcept [[nodiscard]] constexpr operator std::string_view() const noexcept
{ {
return sv(); return sv();
} }

View File

@ -24,14 +24,14 @@ class Wishlist
public: public:
struct Mediator struct Mediator
{ {
virtual bool clientCanRequestBlock(tr_block_index_t block) const = 0; [[nodiscard]] virtual bool clientCanRequestBlock(tr_block_index_t block) const = 0;
virtual bool clientCanRequestPiece(tr_piece_index_t piece) const = 0; [[nodiscard]] virtual bool clientCanRequestPiece(tr_piece_index_t piece) const = 0;
virtual bool isEndgame() const = 0; [[nodiscard]] virtual bool isEndgame() const = 0;
virtual size_t countActiveRequests(tr_block_index_t block) const = 0; [[nodiscard]] virtual size_t countActiveRequests(tr_block_index_t block) const = 0;
virtual size_t countMissingBlocks(tr_piece_index_t piece) const = 0; [[nodiscard]] virtual size_t countMissingBlocks(tr_piece_index_t piece) const = 0;
virtual tr_block_span_t blockSpan(tr_piece_index_t) const = 0; [[nodiscard]] virtual tr_block_span_t blockSpan(tr_piece_index_t) const = 0;
virtual tr_piece_index_t countAllPieces() const = 0; [[nodiscard]] virtual tr_piece_index_t countAllPieces() const = 0;
virtual tr_priority_t priority(tr_piece_index_t) const = 0; [[nodiscard]] virtual tr_priority_t priority(tr_piece_index_t) const = 0;
virtual ~Mediator() = default; virtual ~Mediator() = default;
}; };

View File

@ -58,7 +58,7 @@ struct tr_pex
tr_pex() = default; tr_pex() = default;
tr_pex(tr_address addr_in, tr_port port_in, uint8_t flags_in = {}) tr_pex(tr_address addr_in, tr_port port_in, uint8_t flags_in = {})
: addr{ std::move(addr_in) } : addr{ addr_in }
, port{ port_in } , port{ port_in }
, flags{ flags_in } , flags{ flags_in }
{ {

View File

@ -2291,7 +2291,7 @@ void tr_peerMsgsImpl::sendPex()
tr_peerMsgs::~tr_peerMsgs() tr_peerMsgs::~tr_peerMsgs()
{ {
[[maybe_unused]] auto const n_prev = n_peers_--; [[maybe_unused]] auto const n_prev = n_peers--;
TR_ASSERT(n_prev > 0U); TR_ASSERT(n_prev > 0U);
} }

View File

@ -36,14 +36,14 @@ public:
: tr_peer{ tor, atom_in } : tr_peer{ tor, atom_in }
, have_{ tor->pieceCount() } , have_{ tor->pieceCount() }
{ {
++n_peers_; ++n_peers;
} }
virtual ~tr_peerMsgs() override; virtual ~tr_peerMsgs() override;
[[nodiscard]] static size_t size() noexcept [[nodiscard]] static size_t size() noexcept
{ {
return n_peers_.load(); return n_peers.load();
} }
[[nodiscard]] virtual bool is_peer_choked() const noexcept = 0; [[nodiscard]] virtual bool is_peer_choked() const noexcept = 0;
@ -78,7 +78,7 @@ protected:
tr_bitfield have_; tr_bitfield have_;
private: private:
static inline auto n_peers_ = std::atomic<size_t>{}; static inline auto n_peers = std::atomic<size_t>{};
}; };
tr_peerMsgs* tr_peerMsgsNew( tr_peerMsgs* tr_peerMsgsNew(

View File

@ -22,10 +22,10 @@
struct tr_upnp; struct tr_upnp;
tr_upnp* tr_upnpInit(void); tr_upnp* tr_upnpInit();
void tr_upnpClose(tr_upnp*); void tr_upnpClose(tr_upnp* handle);
tr_port_forwarding_state tr_upnpPulse(tr_upnp*, tr_port port, bool is_enabled, bool do_port_check, std::string); tr_port_forwarding_state tr_upnpPulse(tr_upnp*, tr_port port, bool is_enabled, bool do_port_check, std::string bindaddr);
/* @} */ /* @} */

View File

@ -445,4 +445,4 @@ enum
* exists for that string, it is returned so that no duplicates are * exists for that string, it is returned so that no duplicates are
* created. * created.
*/ */
[[nodiscard]] tr_quark tr_quark_new(std::string_view); [[nodiscard]] tr_quark tr_quark_new(std::string_view str);

View File

@ -65,7 +65,7 @@ public:
return port_; return port_;
} }
void setPort(tr_port) noexcept; void setPort(tr_port port) noexcept;
[[nodiscard]] constexpr auto isEnabled() const noexcept [[nodiscard]] constexpr auto isEnabled() const noexcept
{ {

View File

@ -86,7 +86,7 @@ private:
{ {
public: public:
using IncomingCallback = void (*)(tr_socket_t, void*); using IncomingCallback = void (*)(tr_socket_t, void*);
BoundSocket(struct event_base*, tr_address const& addr, tr_port port, IncomingCallback cb, void* cb_data); BoundSocket(struct event_base* base, tr_address const& addr, tr_port port, IncomingCallback cb, void* cb_data);
BoundSocket(BoundSocket&&) = delete; BoundSocket(BoundSocket&&) = delete;
BoundSocket(BoundSocket const&) = delete; BoundSocket(BoundSocket const&) = delete;
BoundSocket operator=(BoundSocket&&) = delete; BoundSocket operator=(BoundSocket&&) = delete;
@ -281,7 +281,7 @@ private:
tr_udp_core(tr_session& session, tr_port udp_port); tr_udp_core(tr_session& session, tr_port udp_port);
~tr_udp_core(); ~tr_udp_core();
void sendto(void const* buf, size_t buflen, struct sockaddr const* to, socklen_t const tolen) const; void sendto(void const* buf, size_t buflen, struct sockaddr const* to, socklen_t tolen) const;
[[nodiscard]] constexpr auto socket4() const noexcept [[nodiscard]] constexpr auto socket4() const noexcept
{ {

View File

@ -112,7 +112,7 @@ bool isJunkFile(std::string_view filename)
std::optional<tr_torrent_files::FoundFile> tr_torrent_files::find( std::optional<tr_torrent_files::FoundFile> tr_torrent_files::find(
tr_file_index_t file_index, tr_file_index_t file_index,
std::string_view const* search_paths, std::string_view const* paths,
size_t n_paths) const size_t n_paths) const
{ {
auto filename = tr_pathbuf{}; auto filename = tr_pathbuf{};
@ -120,7 +120,7 @@ std::optional<tr_torrent_files::FoundFile> tr_torrent_files::find(
for (size_t path_idx = 0; path_idx < n_paths; ++path_idx) for (size_t path_idx = 0; path_idx < n_paths; ++path_idx)
{ {
auto const base = search_paths[path_idx]; auto const base = paths[path_idx];
filename.assign(base, '/', subpath); filename.assign(base, '/', subpath);
if (auto const info = tr_sys_path_get_info(filename); info) if (auto const info = tr_sys_path_get_info(filename); info)
@ -138,11 +138,11 @@ std::optional<tr_torrent_files::FoundFile> tr_torrent_files::find(
return {}; return {};
} }
bool tr_torrent_files::hasAnyLocalData(std::string_view const* search_paths, size_t n_paths) const bool tr_torrent_files::hasAnyLocalData(std::string_view const* paths, size_t n_paths) const
{ {
for (tr_file_index_t i = 0, n = fileCount(); i < n; ++i) for (tr_file_index_t i = 0, n = fileCount(); i < n; ++i)
{ {
if (find(i, search_paths, n_paths)) if (find(i, paths, n_paths))
{ {
return true; return true;
} }
@ -179,7 +179,7 @@ bool tr_torrent_files::move(
return false; return false;
} }
auto const search_paths = std::array<std::string_view, 1>{ old_parent.sv() }; auto const paths = std::array<std::string_view, 1>{ old_parent.sv() };
auto const total_size = totalSize(); auto const total_size = totalSize();
auto err = bool{}; auto err = bool{};
@ -187,7 +187,7 @@ bool tr_torrent_files::move(
for (tr_file_index_t i = 0, n = fileCount(); i < n; ++i) for (tr_file_index_t i = 0, n = fileCount(); i < n; ++i)
{ {
auto const found = find(i, std::data(search_paths), std::size(search_paths)); auto const found = find(i, std::data(paths), std::size(paths));
if (!found) if (!found)
{ {
continue; continue;
@ -259,10 +259,10 @@ void tr_torrent_files::remove(std::string_view parent_in, std::string_view tmpdi
tr_sys_dir_create_temp(std::data(tmpdir)); tr_sys_dir_create_temp(std::data(tmpdir));
// move the local data to the tmpdir // move the local data to the tmpdir
auto const search_paths = std::array<std::string_view, 1>{ parent.sv() }; auto const paths = std::array<std::string_view, 1>{ parent.sv() };
for (tr_file_index_t idx = 0, n_files = fileCount(); idx < n_files; ++idx) for (tr_file_index_t idx = 0, n_files = fileCount(); idx < n_files; ++idx)
{ {
if (auto const found = find(idx, std::data(search_paths), std::size(search_paths)); found) if (auto const found = find(idx, std::data(paths), std::size(paths)); found)
{ {
tr_moveFile(found->filename(), tr_pathbuf{ tmpdir, '/', found->subpath() }); tr_moveFile(found->filename(), tr_pathbuf{ tmpdir, '/', found->subpath() });
} }

View File

@ -86,7 +86,7 @@ public:
total_size_ = uint64_t{}; total_size_ = uint64_t{};
} }
auto sortedByPath() const [[nodiscard]] auto sortedByPath() const
{ {
auto ret = std::vector<std::pair<std::string /*path*/, uint64_t /*size*/>>{}; auto ret = std::vector<std::pair<std::string /*path*/, uint64_t /*size*/>>{};
ret.reserve(std::size(files_)); ret.reserve(std::size(files_));
@ -152,8 +152,8 @@ public:
size_t base_len_; size_t base_len_;
}; };
[[nodiscard]] std::optional<FoundFile> find(tr_file_index_t, std::string_view const* search_paths, size_t n_paths) const; [[nodiscard]] std::optional<FoundFile> find(tr_file_index_t file, std::string_view const* paths, size_t n_paths) const;
[[nodiscard]] bool hasAnyLocalData(std::string_view const* search_paths, size_t n_paths) const; [[nodiscard]] bool hasAnyLocalData(std::string_view const* paths, size_t n_paths) const;
static void makeSubpathPortable(std::string_view path, tr_pathbuf& append_me); static void makeSubpathPortable(std::string_view path, tr_pathbuf& append_me);

View File

@ -216,7 +216,7 @@ private:
BasenameFormat format, BasenameFormat format,
std::string_view suffix); std::string_view suffix);
auto makeFilename(std::string_view dirname, BasenameFormat format, std::string_view suffix) const [[nodiscard]] auto makeFilename(std::string_view dirname, BasenameFormat format, std::string_view suffix) const
{ {
return makeFilename(dirname, name(), infoHashString(), format, suffix); return makeFilename(dirname, name(), infoHashString(), format, suffix);
} }

View File

@ -52,7 +52,7 @@ bool tr_ctorSaveContents(tr_ctor const* ctor, std::string_view filename, tr_erro
tr_session* tr_ctorGetSession(tr_ctor const* ctor); tr_session* tr_ctorGetSession(tr_ctor const* ctor);
bool tr_ctorGetIncompleteDir(tr_ctor const* ctor, char const** setmeIncompleteDir); bool tr_ctorGetIncompleteDir(tr_ctor const* ctor, char const** setme_incomplete_dir);
// --- // ---
@ -344,9 +344,9 @@ public:
return file_priorities_.piecePriority(piece); return file_priorities_.piecePriority(piece);
} }
void setFilePriorities(tr_file_index_t const* files, tr_file_index_t fileCount, tr_priority_t priority) void setFilePriorities(tr_file_index_t const* files, tr_file_index_t file_count, tr_priority_t priority)
{ {
file_priorities_.set(files, fileCount, priority); file_priorities_.set(files, file_count, priority);
setDirty(); setDirty();
} }
@ -826,7 +826,7 @@ public:
* peer_id that was registered by the peer. The peer_id from the tracker * peer_id that was registered by the peer. The peer_id from the tracker
* and in the handshake are expected to match. * and in the handshake are expected to match.
*/ */
tr_peer_id_t peer_id_; tr_peer_id_t peer_id_ = {};
tr_session* session = nullptr; tr_session* session = nullptr;
@ -961,7 +961,7 @@ constexpr bool tr_isTorrent(tr_torrent const* tor)
/** /**
* Tell the `tr_torrent` that it's gotten a block * Tell the `tr_torrent` that it's gotten a block
*/ */
void tr_torrentGotBlock(tr_torrent* tor, tr_block_index_t blockIndex); void tr_torrentGotBlock(tr_torrent* tor, tr_block_index_t block);
tr_peer_id_t const& tr_torrentGetPeerId(tr_torrent* tor); tr_peer_id_t const& tr_torrentGetPeerId(tr_torrent* tor);

View File

@ -62,7 +62,7 @@ public:
return get(key) != nullptr; return get(key) != nullptr;
} }
[[nodiscard]] std::vector<tr_torrent_id_t> removedSince(time_t) const; [[nodiscard]] std::vector<tr_torrent_id_t> removedSince(time_t timestamp) const;
[[nodiscard]] TR_CONSTEXPR20 auto cbegin() const noexcept [[nodiscard]] TR_CONSTEXPR20 auto cbegin() const noexcept
{ {

View File

@ -51,7 +51,7 @@ public:
{ {
for (size_t i = 0; i < data_length; ++i) for (size_t i = 0; i < data_length; ++i)
{ {
((uint8_t*)dst_data)[i] = ((uint8_t const*)src_data)[i] ^ arc4_next(); static_cast<uint8_t*>(dst_data)[i] = static_cast<uint8_t const*>(src_data)[i] ^ arc4_next();
} }
} }

View File

@ -579,11 +579,11 @@ bool tr_moveFile(std::string_view oldpath_in, std::string_view newpath_in, tr_er
// --- // ---
uint64_t tr_htonll(uint64_t x) uint64_t tr_htonll(uint64_t hostlonglong)
{ {
#ifdef HAVE_HTONLL #ifdef HAVE_HTONLL
return htonll(x); return htonll(hostlonglong);
#else #else
@ -593,18 +593,18 @@ uint64_t tr_htonll(uint64_t x)
std::array<uint32_t, 2> lx; std::array<uint32_t, 2> lx;
uint64_t llx; uint64_t llx;
} u = {}; } u = {};
u.lx[0] = htonl(x >> 32); u.lx[0] = htonl(hostlonglong >> 32);
u.lx[1] = htonl(x & 0xFFFFFFFFULL); u.lx[1] = htonl(hostlonglong & 0xFFFFFFFFULL);
return u.llx; return u.llx;
#endif #endif
} }
uint64_t tr_ntohll(uint64_t x) uint64_t tr_ntohll(uint64_t netlonglong)
{ {
#ifdef HAVE_NTOHLL #ifdef HAVE_NTOHLL
return ntohll(x); return ntohll(netlonglong);
#else #else
@ -614,7 +614,7 @@ uint64_t tr_ntohll(uint64_t x)
std::array<uint32_t, 2> lx; std::array<uint32_t, 2> lx;
uint64_t llx; uint64_t llx;
} u = {}; } u = {};
u.llx = x; u.llx = netlonglong;
return ((uint64_t)ntohl(u.lx[0]) << 32) | (uint64_t)ntohl(u.lx[1]); return ((uint64_t)ntohl(u.lx[0]) << 32) | (uint64_t)ntohl(u.lx[1]);
#endif #endif

View File

@ -155,7 +155,7 @@ template<typename T>
template<typename T> template<typename T>
[[nodiscard]] constexpr bool tr_strvContains(std::string_view sv, T key) noexcept // c++23 [[nodiscard]] constexpr bool tr_strvContains(std::string_view sv, T key) noexcept // c++23
{ {
return sv.find(key) != sv.npos; return sv.find(key) != std::string_view::npos;
} }
[[nodiscard]] constexpr bool tr_strvStartsWith(std::string_view sv, char key) // c++20 [[nodiscard]] constexpr bool tr_strvStartsWith(std::string_view sv, char key) // c++20
@ -290,10 +290,10 @@ constexpr void tr_timeUpdate(time_t now) noexcept
} }
/** @brief Portability wrapper for `htonll()` that uses the system implementation if available */ /** @brief Portability wrapper for `htonll()` that uses the system implementation if available */
[[nodiscard]] uint64_t tr_htonll(uint64_t); [[nodiscard]] uint64_t tr_htonll(uint64_t hostlonglong);
/** @brief Portability wrapper for `ntohll()` that uses the system implementation if available */ /** @brief Portability wrapper for `ntohll()` that uses the system implementation if available */
[[nodiscard]] uint64_t tr_ntohll(uint64_t); [[nodiscard]] uint64_t tr_ntohll(uint64_t netlonglong);
// --- // ---

View File

@ -75,7 +75,7 @@ constexpr char const* tr_variant_string_get_string(struct tr_variant_string cons
} }
} }
void tr_variant_string_set_quark(struct tr_variant_string* str, tr_quark const quark) void tr_variant_string_set_quark(struct tr_variant_string* str, tr_quark quark)
{ {
tr_variant_string_clear(str); tr_variant_string_clear(str);
@ -123,7 +123,7 @@ constexpr char const* getStr(tr_variant const* v)
return tr_variant_string_get_string(&v->val.s); return tr_variant_string_get_string(&v->val.s);
} }
constexpr int dictIndexOf(tr_variant const* dict, tr_quark const key) constexpr int dictIndexOf(tr_variant const* dict, tr_quark key)
{ {
if (tr_variantIsDict(dict)) if (tr_variantIsDict(dict))
{ {
@ -139,7 +139,7 @@ constexpr int dictIndexOf(tr_variant const* dict, tr_quark const key)
return -1; return -1;
} }
bool dictFindType(tr_variant* dict, tr_quark const key, int type, tr_variant** setme) bool dictFindType(tr_variant* dict, tr_quark key, int type, tr_variant** setme)
{ {
*setme = tr_variantDictFind(dict, key); *setme = tr_variantDictFind(dict, key);
return tr_variantIsType(*setme, type); return tr_variantIsType(*setme, type);
@ -169,7 +169,7 @@ tr_variant* containerReserve(tr_variant* v, size_t count)
return v->val.l.vals + v->val.l.count; return v->val.l.vals + v->val.l.count;
} }
tr_variant* dictFindOrAdd(tr_variant* dict, tr_quark const key, int type) tr_variant* dictFindOrAdd(tr_variant* dict, tr_quark key, int type)
{ {
/* see if it already exists, and if so, try to reuse it */ /* see if it already exists, and if so, try to reuse it */
tr_variant* child = tr_variantDictFind(dict, key); tr_variant* child = tr_variantDictFind(dict, key);
@ -197,7 +197,7 @@ tr_variant* dictFindOrAdd(tr_variant* dict, tr_quark const key, int type)
} // namespace } // namespace
tr_variant* tr_variantDictFind(tr_variant* dict, tr_quark const key) tr_variant* tr_variantDictFind(tr_variant* dict, tr_quark key)
{ {
auto const i = dictIndexOf(dict, key); auto const i = dictIndexOf(dict, key);
@ -361,47 +361,47 @@ bool tr_variantGetReal(tr_variant const* v, double* setme)
return success; return success;
} }
bool tr_variantDictFindInt(tr_variant* dict, tr_quark const key, int64_t* setme) bool tr_variantDictFindInt(tr_variant* dict, tr_quark key, int64_t* setme)
{ {
tr_variant const* child = tr_variantDictFind(dict, key); tr_variant const* child = tr_variantDictFind(dict, key);
return tr_variantGetInt(child, setme); return tr_variantGetInt(child, setme);
} }
bool tr_variantDictFindBool(tr_variant* dict, tr_quark const key, bool* setme) bool tr_variantDictFindBool(tr_variant* dict, tr_quark key, bool* setme)
{ {
tr_variant const* child = tr_variantDictFind(dict, key); tr_variant const* child = tr_variantDictFind(dict, key);
return tr_variantGetBool(child, setme); return tr_variantGetBool(child, setme);
} }
bool tr_variantDictFindReal(tr_variant* dict, tr_quark const key, double* setme) bool tr_variantDictFindReal(tr_variant* dict, tr_quark key, double* setme)
{ {
tr_variant const* child = tr_variantDictFind(dict, key); tr_variant const* child = tr_variantDictFind(dict, key);
return tr_variantGetReal(child, setme); return tr_variantGetReal(child, setme);
} }
bool tr_variantDictFindStrView(tr_variant* dict, tr_quark const key, std::string_view* setme) bool tr_variantDictFindStrView(tr_variant* dict, tr_quark key, std::string_view* setme)
{ {
tr_variant const* const child = tr_variantDictFind(dict, key); tr_variant const* const child = tr_variantDictFind(dict, key);
return tr_variantGetStrView(child, setme); return tr_variantGetStrView(child, setme);
} }
bool tr_variantDictFindList(tr_variant* dict, tr_quark const key, tr_variant** setme) bool tr_variantDictFindList(tr_variant* dict, tr_quark key, tr_variant** setme)
{ {
return dictFindType(dict, key, TR_VARIANT_TYPE_LIST, setme); return dictFindType(dict, key, TR_VARIANT_TYPE_LIST, setme);
} }
bool tr_variantDictFindDict(tr_variant* dict, tr_quark const key, tr_variant** setme) bool tr_variantDictFindDict(tr_variant* dict, tr_quark key, tr_variant** setme)
{ {
return dictFindType(dict, key, TR_VARIANT_TYPE_DICT, setme); return dictFindType(dict, key, TR_VARIANT_TYPE_DICT, setme);
} }
bool tr_variantDictFindRaw(tr_variant* dict, tr_quark const key, uint8_t const** setme_raw, size_t* setme_len) bool tr_variantDictFindRaw(tr_variant* dict, tr_quark key, uint8_t const** setme_raw, size_t* setme_len)
{ {
auto const* child = tr_variantDictFind(dict, key); auto const* child = tr_variantDictFind(dict, key);
return tr_variantGetRaw(child, setme_raw, setme_len); return tr_variantGetRaw(child, setme_raw, setme_len);
} }
bool tr_variantDictFindRaw(tr_variant* dict, tr_quark const key, std::byte const** setme_raw, size_t* setme_len) bool tr_variantDictFindRaw(tr_variant* dict, tr_quark key, std::byte const** setme_raw, size_t* setme_len)
{ {
auto const* child = tr_variantDictFind(dict, key); auto const* child = tr_variantDictFind(dict, key);
return tr_variantGetRaw(child, setme_raw, setme_len); return tr_variantGetRaw(child, setme_raw, setme_len);
@ -409,22 +409,22 @@ bool tr_variantDictFindRaw(tr_variant* dict, tr_quark const key, std::byte const
// --- // ---
void tr_variantInitRaw(tr_variant* initme, void const* raw, size_t raw_len) void tr_variantInitRaw(tr_variant* initme, void const* value, size_t value_len)
{ {
tr_variantInit(initme, TR_VARIANT_TYPE_STR); tr_variantInit(initme, TR_VARIANT_TYPE_STR);
tr_variant_string_set_string(&initme->val.s, { static_cast<char const*>(raw), raw_len }); tr_variant_string_set_string(&initme->val.s, { static_cast<char const*>(value), value_len });
} }
void tr_variantInitQuark(tr_variant* initme, tr_quark const q) void tr_variantInitQuark(tr_variant* initme, tr_quark value)
{ {
tr_variantInit(initme, TR_VARIANT_TYPE_STR); tr_variantInit(initme, TR_VARIANT_TYPE_STR);
tr_variant_string_set_quark(&initme->val.s, q); tr_variant_string_set_quark(&initme->val.s, value);
} }
void tr_variantInitStr(tr_variant* initme, std::string_view str) void tr_variantInitStr(tr_variant* initme, std::string_view value)
{ {
tr_variantInit(initme, TR_VARIANT_TYPE_STR); tr_variantInit(initme, TR_VARIANT_TYPE_STR);
tr_variant_string_set_string(&initme->val.s, str); tr_variant_string_set_string(&initme->val.s, value);
} }
void tr_variantInitList(tr_variant* initme, size_t reserve_count) void tr_variantInitList(tr_variant* initme, size_t reserve_count)
@ -500,7 +500,7 @@ tr_variant* tr_variantListAddStrView(tr_variant* list, std::string_view value)
return child; return child;
} }
tr_variant* tr_variantListAddQuark(tr_variant* list, tr_quark const value) tr_variant* tr_variantListAddQuark(tr_variant* list, tr_quark value)
{ {
tr_variant* child = tr_variantListAdd(list); tr_variant* child = tr_variantListAdd(list);
tr_variantInitQuark(child, value); tr_variantInitQuark(child, value);
@ -528,7 +528,7 @@ tr_variant* tr_variantListAddDict(tr_variant* list, size_t reserve_count)
return child; return child;
} }
tr_variant* tr_variantDictAdd(tr_variant* dict, tr_quark const key) tr_variant* tr_variantDictAdd(tr_variant* dict, tr_quark key)
{ {
TR_ASSERT(tr_variantIsDict(dict)); TR_ASSERT(tr_variantIsDict(dict));
@ -540,70 +540,70 @@ tr_variant* tr_variantDictAdd(tr_variant* dict, tr_quark const key)
return val; return val;
} }
tr_variant* tr_variantDictAddInt(tr_variant* dict, tr_quark const key, int64_t val) tr_variant* tr_variantDictAddInt(tr_variant* dict, tr_quark key, int64_t val)
{ {
tr_variant* child = dictFindOrAdd(dict, key, TR_VARIANT_TYPE_INT); tr_variant* child = dictFindOrAdd(dict, key, TR_VARIANT_TYPE_INT);
tr_variantInitInt(child, val); tr_variantInitInt(child, val);
return child; return child;
} }
tr_variant* tr_variantDictAddBool(tr_variant* dict, tr_quark const key, bool val) tr_variant* tr_variantDictAddBool(tr_variant* dict, tr_quark key, bool val)
{ {
tr_variant* child = dictFindOrAdd(dict, key, TR_VARIANT_TYPE_BOOL); tr_variant* child = dictFindOrAdd(dict, key, TR_VARIANT_TYPE_BOOL);
tr_variantInitBool(child, val); tr_variantInitBool(child, val);
return child; return child;
} }
tr_variant* tr_variantDictAddReal(tr_variant* dict, tr_quark const key, double val) tr_variant* tr_variantDictAddReal(tr_variant* dict, tr_quark key, double val)
{ {
tr_variant* child = dictFindOrAdd(dict, key, TR_VARIANT_TYPE_REAL); tr_variant* child = dictFindOrAdd(dict, key, TR_VARIANT_TYPE_REAL);
tr_variantInitReal(child, val); tr_variantInitReal(child, val);
return child; return child;
} }
tr_variant* tr_variantDictAddQuark(tr_variant* dict, tr_quark const key, tr_quark const val) tr_variant* tr_variantDictAddQuark(tr_variant* dict, tr_quark key, tr_quark const val)
{ {
tr_variant* child = dictFindOrAdd(dict, key, TR_VARIANT_TYPE_STR); tr_variant* child = dictFindOrAdd(dict, key, TR_VARIANT_TYPE_STR);
tr_variantInitQuark(child, val); tr_variantInitQuark(child, val);
return child; return child;
} }
tr_variant* tr_variantDictAddStr(tr_variant* dict, tr_quark const key, std::string_view str) tr_variant* tr_variantDictAddStr(tr_variant* dict, tr_quark key, std::string_view val)
{ {
tr_variant* child = dictFindOrAdd(dict, key, TR_VARIANT_TYPE_STR); tr_variant* child = dictFindOrAdd(dict, key, TR_VARIANT_TYPE_STR);
tr_variantInitStr(child, str); tr_variantInitStr(child, val);
return child; return child;
} }
tr_variant* tr_variantDictAddStrView(tr_variant* dict, tr_quark const key, std::string_view str) tr_variant* tr_variantDictAddStrView(tr_variant* dict, tr_quark key, std::string_view val)
{ {
tr_variant* child = dictFindOrAdd(dict, key, TR_VARIANT_TYPE_STR); tr_variant* child = dictFindOrAdd(dict, key, TR_VARIANT_TYPE_STR);
tr_variantInitStrView(child, str); tr_variantInitStrView(child, val);
return child; return child;
} }
tr_variant* tr_variantDictAddRaw(tr_variant* dict, tr_quark const key, void const* value, size_t len) tr_variant* tr_variantDictAddRaw(tr_variant* dict, tr_quark key, void const* value, size_t len)
{ {
tr_variant* child = dictFindOrAdd(dict, key, TR_VARIANT_TYPE_STR); tr_variant* child = dictFindOrAdd(dict, key, TR_VARIANT_TYPE_STR);
tr_variantInitRaw(child, value, len); tr_variantInitRaw(child, value, len);
return child; return child;
} }
tr_variant* tr_variantDictAddList(tr_variant* dict, tr_quark const key, size_t reserve_count) tr_variant* tr_variantDictAddList(tr_variant* dict, tr_quark key, size_t reserve_count)
{ {
tr_variant* child = tr_variantDictAdd(dict, key); tr_variant* child = tr_variantDictAdd(dict, key);
tr_variantInitList(child, reserve_count); tr_variantInitList(child, reserve_count);
return child; return child;
} }
tr_variant* tr_variantDictAddDict(tr_variant* dict, tr_quark const key, size_t reserve_count) tr_variant* tr_variantDictAddDict(tr_variant* dict, tr_quark key, size_t reserve_count)
{ {
tr_variant* child = tr_variantDictAdd(dict, key); tr_variant* child = tr_variantDictAdd(dict, key);
tr_variantInitDict(child, reserve_count); tr_variantInitDict(child, reserve_count);
return child; return child;
} }
tr_variant* tr_variantDictSteal(tr_variant* dict, tr_quark const key, tr_variant* value) tr_variant* tr_variantDictSteal(tr_variant* dict, tr_quark key, tr_variant* value)
{ {
tr_variant* child = tr_variantDictAdd(dict, key); tr_variant* child = tr_variantDictAdd(dict, key);
*child = *value; *child = *value;
@ -612,7 +612,7 @@ tr_variant* tr_variantDictSteal(tr_variant* dict, tr_quark const key, tr_variant
return child; return child;
} }
bool tr_variantDictRemove(tr_variant* dict, tr_quark const key) bool tr_variantDictRemove(tr_variant* dict, tr_quark key)
{ {
bool removed = false; bool removed = false;
@ -896,16 +896,16 @@ VariantWalkFuncs constexpr FreeWalkFuncs = {
} // namespace clear_helpers } // namespace clear_helpers
} // namespace } // namespace
void tr_variantClear(tr_variant* v) void tr_variantClear(tr_variant* clearme)
{ {
using namespace clear_helpers; using namespace clear_helpers;
if (!tr_variantIsEmpty(v)) if (!tr_variantIsEmpty(clearme))
{ {
tr_variantWalk(v, &FreeWalkFuncs, nullptr, false); tr_variantWalk(clearme, &FreeWalkFuncs, nullptr, false);
} }
*v = {}; *clearme = {};
} }
// --- // ---

View File

@ -97,7 +97,7 @@ struct tr_variant
* The variant itself is not freed, but any memory used by * The variant itself is not freed, but any memory used by
* its *value* -- e.g. a string or child variants -- is freed. * its *value* -- e.g. a string or child variants -- is freed.
*/ */
void tr_variantClear(tr_variant*); void tr_variantClear(tr_variant* clearme);
// --- Serialization / Deserialization // --- Serialization / Deserialization
@ -167,9 +167,9 @@ bool tr_variantFromBuf(
bool tr_variantGetStrView(tr_variant const* variant, std::string_view* setme); bool tr_variantGetStrView(tr_variant const* variant, std::string_view* setme);
void tr_variantInitStr(tr_variant* initme, std::string_view); void tr_variantInitStr(tr_variant* initme, std::string_view value);
void tr_variantInitQuark(tr_variant* initme, tr_quark const quark); void tr_variantInitQuark(tr_variant* initme, tr_quark value);
void tr_variantInitRaw(tr_variant* initme, void const* raw, size_t raw_len); void tr_variantInitRaw(tr_variant* initme, void const* value, size_t value_len);
constexpr void tr_variantInit(tr_variant* initme, char type) constexpr void tr_variantInit(tr_variant* initme, char type)
{ {
@ -249,7 +249,7 @@ tr_variant* tr_variantListAddInt(tr_variant* list, int64_t value);
tr_variant* tr_variantListAddReal(tr_variant* list, double value); tr_variant* tr_variantListAddReal(tr_variant* list, double value);
tr_variant* tr_variantListAddStr(tr_variant* list, std::string_view value); tr_variant* tr_variantListAddStr(tr_variant* list, std::string_view value);
tr_variant* tr_variantListAddStrView(tr_variant* list, std::string_view value); tr_variant* tr_variantListAddStrView(tr_variant* list, std::string_view value);
tr_variant* tr_variantListAddQuark(tr_variant* list, tr_quark const value); tr_variant* tr_variantListAddQuark(tr_variant* list, tr_quark value);
tr_variant* tr_variantListAddRaw(tr_variant* list, void const* value, size_t value_len); tr_variant* tr_variantListAddRaw(tr_variant* list, void const* value, size_t value_len);
tr_variant* tr_variantListAddList(tr_variant* list, size_t reserve_count); tr_variant* tr_variantListAddList(tr_variant* list, size_t reserve_count);
tr_variant* tr_variantListAddDict(tr_variant* list, size_t reserve_count); tr_variant* tr_variantListAddDict(tr_variant* list, size_t reserve_count);
@ -271,30 +271,30 @@ bool tr_variantListRemove(tr_variant* list, size_t pos);
void tr_variantInitDict(tr_variant* initme, size_t reserve_count); void tr_variantInitDict(tr_variant* initme, size_t reserve_count);
void tr_variantDictReserve(tr_variant* dict, size_t reserve_count); void tr_variantDictReserve(tr_variant* dict, size_t reserve_count);
bool tr_variantDictRemove(tr_variant* dict, tr_quark const key); bool tr_variantDictRemove(tr_variant* dict, tr_quark key);
tr_variant* tr_variantDictAdd(tr_variant* dict, tr_quark const key); tr_variant* tr_variantDictAdd(tr_variant* dict, tr_quark key);
tr_variant* tr_variantDictAddReal(tr_variant* dict, tr_quark const key, double value); tr_variant* tr_variantDictAddReal(tr_variant* dict, tr_quark key, double value);
tr_variant* tr_variantDictAddInt(tr_variant* dict, tr_quark const key, int64_t value); tr_variant* tr_variantDictAddInt(tr_variant* dict, tr_quark key, int64_t value);
tr_variant* tr_variantDictAddBool(tr_variant* dict, tr_quark const key, bool value); tr_variant* tr_variantDictAddBool(tr_variant* dict, tr_quark key, bool value);
tr_variant* tr_variantDictAddStr(tr_variant* dict, tr_quark const key, std::string_view); tr_variant* tr_variantDictAddStr(tr_variant* dict, tr_quark key, std::string_view value);
tr_variant* tr_variantDictAddStrView(tr_variant* dict, tr_quark const key, std::string_view); tr_variant* tr_variantDictAddStrView(tr_variant* dict, tr_quark key, std::string_view value);
tr_variant* tr_variantDictAddQuark(tr_variant* dict, tr_quark const key, tr_quark const val); tr_variant* tr_variantDictAddQuark(tr_variant* dict, tr_quark key, tr_quark val);
tr_variant* tr_variantDictAddList(tr_variant* dict, tr_quark const key, size_t reserve_count); tr_variant* tr_variantDictAddList(tr_variant* dict, tr_quark key, size_t reserve_count);
tr_variant* tr_variantDictAddDict(tr_variant* dict, tr_quark const key, size_t reserve_count); tr_variant* tr_variantDictAddDict(tr_variant* dict, tr_quark key, size_t reserve_count);
tr_variant* tr_variantDictSteal(tr_variant* dict, tr_quark const key, tr_variant* value); tr_variant* tr_variantDictSteal(tr_variant* dict, tr_quark key, tr_variant* value);
tr_variant* tr_variantDictAddRaw(tr_variant* dict, tr_quark const key, void const* value, size_t len); tr_variant* tr_variantDictAddRaw(tr_variant* dict, tr_quark key, void const* value, size_t len);
bool tr_variantDictChild(tr_variant* dict, size_t pos, tr_quark* setme_key, tr_variant** setme_value); bool tr_variantDictChild(tr_variant* dict, size_t pos, tr_quark* setme_key, tr_variant** setme_value);
tr_variant* tr_variantDictFind(tr_variant* dict, tr_quark const key); tr_variant* tr_variantDictFind(tr_variant* dict, tr_quark key);
bool tr_variantDictFindList(tr_variant* dict, tr_quark const key, tr_variant** setme); bool tr_variantDictFindList(tr_variant* dict, tr_quark key, tr_variant** setme);
bool tr_variantDictFindDict(tr_variant* dict, tr_quark const key, tr_variant** setme_value); bool tr_variantDictFindDict(tr_variant* dict, tr_quark key, tr_variant** setme_value);
bool tr_variantDictFindInt(tr_variant* dict, tr_quark const key, int64_t* setme); bool tr_variantDictFindInt(tr_variant* dict, tr_quark key, int64_t* setme);
bool tr_variantDictFindReal(tr_variant* dict, tr_quark const key, double* setme); bool tr_variantDictFindReal(tr_variant* dict, tr_quark key, double* setme);
bool tr_variantDictFindBool(tr_variant* dict, tr_quark const key, bool* setme); bool tr_variantDictFindBool(tr_variant* dict, tr_quark key, bool* setme);
bool tr_variantDictFindStrView(tr_variant* dict, tr_quark const key, std::string_view* setme); bool tr_variantDictFindStrView(tr_variant* dict, tr_quark key, std::string_view* setme);
bool tr_variantDictFindRaw(tr_variant* dict, tr_quark const key, uint8_t const** setme_raw, size_t* setme_len); bool tr_variantDictFindRaw(tr_variant* dict, tr_quark key, uint8_t const** setme_raw, size_t* setme_len);
bool tr_variantDictFindRaw(tr_variant* dict, tr_quark const key, std::byte const** setme_raw, size_t* setme_len); bool tr_variantDictFindRaw(tr_variant* dict, tr_quark key, std::byte const** setme_raw, size_t* setme_len);
/* this is only quasi-supported. don't rely on it too heavily outside of libT */ /* this is only quasi-supported. don't rely on it too heavily outside of libT */
void tr_variantMergeDicts(tr_variant* dict_target, tr_variant const* dict_source); void tr_variantMergeDicts(tr_variant* dict_target, tr_variant const* dict_source);

View File

@ -62,7 +62,7 @@ struct tr_url_query_view
struct iterator struct iterator
{ {
std::pair<std::string_view, std::string_view> keyval = std::make_pair(std::string_view{ "" }, std::string_view{ "" }); std::pair<std::string_view, std::string_view> keyval = std::make_pair(std::string_view{ "" }, std::string_view{ "" });
std::string_view remain = std::string_view{ "" }; std::string_view remain = "";
iterator& operator++(); iterator& operator++();
@ -98,13 +98,13 @@ struct tr_url_query_view
template<typename BackInsertIter> template<typename BackInsertIter>
constexpr void tr_urlPercentEncode(BackInsertIter out, std::string_view input, bool escape_reserved = true) constexpr void tr_urlPercentEncode(BackInsertIter out, std::string_view input, bool escape_reserved = true)
{ {
auto constexpr is_unreserved = [](unsigned char ch) auto constexpr IsUnreserved = [](unsigned char ch)
{ {
return ('0' <= ch && ch <= '9') || ('a' <= ch && ch <= 'z') || ('A' <= ch && ch <= 'Z') || ch == '-' || ch == '_' || return ('0' <= ch && ch <= '9') || ('a' <= ch && ch <= 'z') || ('A' <= ch && ch <= 'Z') || ch == '-' || ch == '_' ||
ch == '.' || ch == '~'; ch == '.' || ch == '~';
}; };
auto constexpr is_reserved = [](unsigned char ch) auto constexpr IsReserved = [](unsigned char ch)
{ {
return ch == '!' || ch == '*' || ch == '(' || ch == ')' || ch == ';' || ch == ':' || ch == '@' || ch == '&' || return ch == '!' || ch == '*' || ch == '(' || ch == ')' || ch == ';' || ch == ':' || ch == '@' || ch == '&' ||
ch == '=' || ch == '+' || ch == '$' || ch == ',' || ch == '/' || ch == '?' || ch == '%' || ch == '#' || ch == '[' || ch == '=' || ch == '+' || ch == '$' || ch == ',' || ch == '/' || ch == '?' || ch == '%' || ch == '#' || ch == '[' ||
@ -113,7 +113,7 @@ constexpr void tr_urlPercentEncode(BackInsertIter out, std::string_view input, b
for (unsigned char ch : input) for (unsigned char ch : input)
{ {
if (is_unreserved(ch) || (!escape_reserved && is_reserved(ch))) if (IsUnreserved(ch) || (!escape_reserved && IsReserved(ch)))
{ {
out = ch; out = ch;
} }
@ -132,4 +132,4 @@ constexpr void tr_urlPercentEncode(BackInsertIter out, tr_sha1_digest_t const& d
[[nodiscard]] char const* tr_webGetResponseStr(long response_code); [[nodiscard]] char const* tr_webGetResponseStr(long response_code);
[[nodiscard]] std::string tr_urlPercentDecode(std::string_view); [[nodiscard]] std::string tr_urlPercentDecode(std::string_view /*url*/);

View File

@ -97,7 +97,7 @@ public:
// Notify tr_web that it's going to be destroyed soon. // Notify tr_web that it's going to be destroyed soon.
// New fetch() tasks will be rejected, but already-running tasks // New fetch() tasks will be rejected, but already-running tasks
// are left alone so that they can finish. // are left alone so that they can finish.
void startShutdown(std::chrono::milliseconds); void startShutdown(std::chrono::milliseconds /*deadline*/);
// If you want to give running tasks a chance to finish, call closeSoon() // If you want to give running tasks a chance to finish, call closeSoon()
// before destroying the tr_web object. Deleting the object will cancel // before destroying the tr_web object. Deleting the object will cancel