From b05ecb5c5a1cd5e8fa183872dd43926cd46e6e98 Mon Sep 17 00:00:00 2001 From: rakshasa Date: Sun, 16 Nov 2025 21:08:18 +0100 Subject: [PATCH] Push back views explicitly takes a string. --- src/command_download.cc | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/command_download.cc b/src/command_download.cc index f86ec38c..cdb4fa97 100644 --- a/src/command_download.cc +++ b/src/command_download.cc @@ -539,16 +539,13 @@ download_set_variable_string(core::Download* download, const torrent::Object::st // torrent::Object -d_list_push_back_string(core::Download* download, const torrent::Object& rawArgs, const char* first_key, const char* second_key) { - auto& arg = rawArgs.as_string(); +d_list_push_back_string(core::Download* download, const std::string& arg, const char* first_key, const char* second_key) { download_get_variable(download, first_key, second_key).as_list().push_back(arg); - return torrent::Object(); } torrent::Object -d_list_push_back_unique_string(core::Download* download, const torrent::Object& rawArgs, const char* first_key, const char* second_key) { - auto& arg = rawArgs.as_string(); +d_list_push_back_unique_string(core::Download* download, const std::string& arg, const char* first_key, const char* second_key) { torrent::Object::list_type& list = download_get_variable(download, first_key, second_key).as_list(); if (std::none_of(list.begin(), list.end(), [arg](const torrent::Object& obj) { return torrent::object_equal(obj, arg); })) @@ -769,8 +766,8 @@ initialize_command_download() { CMD2_DL ("d.views", std::bind(&download_get_variable, std::placeholders::_1, "rtorrent", "views")); CMD2_DL ("d.views.has", std::bind(&d_list_has, std::placeholders::_1, std::placeholders::_2, "rtorrent", "views")); CMD2_DL ("d.views.remove", std::bind(&d_list_remove, std::placeholders::_1, std::placeholders::_2, "rtorrent", "views")); - CMD2_DL ("d.views.push_back", std::bind(&d_list_push_back_string, std::placeholders::_1, std::placeholders::_2, "rtorrent", "views")); - CMD2_DL ("d.views.push_back_unique", std::bind(&d_list_push_back_unique_string, std::placeholders::_1, std::placeholders::_2, "rtorrent", "views")); + CMD2_DL_STRING ("d.views.push_back", std::bind(&d_list_push_back_string, std::placeholders::_1, std::placeholders::_2, "rtorrent", "views")); + CMD2_DL_STRING ("d.views.push_back_unique", std::bind(&d_list_push_back_unique_string, std::placeholders::_1, std::placeholders::_2, "rtorrent", "views")); // This command really needs to be improved, so we have proper // logging support.