From fe1ab06924ae4aa2f3beff5a9ffdb3131c837642 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Wed, 12 Apr 2023 16:58:51 +0200 Subject: [PATCH] irc: improve short description of server (issue #1903) --- src/plugins/irc/irc-command.c | 8 ++--- src/plugins/irc/irc-server.c | 36 +++++++++++++++++----- src/plugins/irc/irc-server.h | 2 +- tests/unit/plugins/irc/test-irc-server.cpp | 22 ++++++++----- 4 files changed, 45 insertions(+), 23 deletions(-) diff --git a/src/plugins/irc/irc-command.c b/src/plugins/irc/irc-command.c index 10456c101..4733750b7 100644 --- a/src/plugins/irc/irc-command.c +++ b/src/plugins/irc/irc-command.c @@ -5647,19 +5647,15 @@ IRC_COMMAND_CALLBACK(server) new_server->options[IRC_SERVER_OPTION_ADDRESSES], argv[3], 1); irc_server_apply_command_line_options (new_server, argc, argv); - description = irc_server_get_addresses_ports_tls (new_server); + description = irc_server_get_short_description (new_server); weechat_printf ( NULL, - _("%s: server added: %s%s%s%s%s -> %s"), + _("%s: server added: %s%s%s -> %s"), IRC_PLUGIN_NAME, IRC_COLOR_CHAT_SERVER, new_server->name, IRC_COLOR_RESET, - /* TRANSLATORS: "temporary IRC server" */ - (new_server->temp_server) ? _(" (temporary)") : "", - /* TRANSLATORS: "fake IRC server" */ - (new_server->fake_server) ? _(" (fake)") : "", description); if (description) diff --git a/src/plugins/irc/irc-server.c b/src/plugins/irc/irc-server.c index 66c927887..cc9d6a4f1 100644 --- a/src/plugins/irc/irc-server.c +++ b/src/plugins/irc/irc-server.c @@ -584,7 +584,11 @@ irc_server_get_name_without_port (const char *name) } /* - * Gets a string with addresses and ports and TLS option for the server. + * Gets a string with description of server, that includes: + * - addresses + ports + * - temporary server? + * - fake server? + * - TLS option (enabled/disabled). * * For example if addresses = "irc.example.org,irc2.example.org/7000" and * "tls" option if on, the result is: @@ -595,9 +599,9 @@ irc_server_get_name_without_port (const char *name) */ char * -irc_server_get_addresses_ports_tls (struct t_irc_server *server) +irc_server_get_short_description (struct t_irc_server *server) { - char **result, str_port[32], str_tls[256]; + char **result, str_port[32]; int i; if (!server) @@ -617,11 +621,27 @@ irc_server_get_addresses_ports_tls (struct t_irc_server *server) weechat_string_dyn_concat (result, str_port, -1); } - snprintf (str_tls, sizeof (str_tls), - " (TLS: %s)", - IRC_SERVER_OPTION_BOOLEAN(server, IRC_SERVER_OPTION_TLS) ? - _("enabled") : _("disabled")); - weechat_string_dyn_concat (result, str_tls, -1); + weechat_string_dyn_concat (result, " (", -1); + if (server->temp_server) + { + /* TRANSLATORS: "temporary IRC server" */ + weechat_string_dyn_concat (result, _("temporary"), -1); + weechat_string_dyn_concat (result, ", ", -1); + } + if (server->fake_server) + { + /* TRANSLATORS: "fake IRC server" */ + weechat_string_dyn_concat (result, _("fake"), -1); + weechat_string_dyn_concat (result, ", ", -1); + } + weechat_string_dyn_concat (result, _("TLS:"), -1); + weechat_string_dyn_concat (result, " ", -1); + weechat_string_dyn_concat ( + result, + IRC_SERVER_OPTION_BOOLEAN(server, IRC_SERVER_OPTION_TLS) ? + _("enabled") : _("disabled"), + -1); + weechat_string_dyn_concat (result, ")", -1); return weechat_string_dyn_free (result, 0); } diff --git a/src/plugins/irc/irc-server.h b/src/plugins/irc/irc-server.h index 33cbfe3a2..fc78511c8 100644 --- a/src/plugins/irc/irc-server.h +++ b/src/plugins/irc/irc-server.h @@ -334,7 +334,7 @@ extern void irc_server_sasl_get_creds (struct t_irc_server *server, char **key); extern int irc_server_sasl_enabled (struct t_irc_server *server); extern char *irc_server_get_name_without_port (const char *name); -extern char *irc_server_get_addresses_ports_tls (struct t_irc_server *server); +extern char *irc_server_get_short_description (struct t_irc_server *server); extern int irc_server_set_addresses (struct t_irc_server *server, const char *addresses, int tls); extern void irc_server_set_nicks (struct t_irc_server *server, diff --git a/tests/unit/plugins/irc/test-irc-server.cpp b/tests/unit/plugins/irc/test-irc-server.cpp index 4ba8a5056..c8ace4760 100644 --- a/tests/unit/plugins/irc/test-irc-server.cpp +++ b/tests/unit/plugins/irc/test-irc-server.cpp @@ -177,7 +177,7 @@ TEST(IrcServer, GetNameWithoutPort) /* * Tests functions: - * irc_server_get_addresses_ports_tls + * irc_server_get_short_description * irc_server_set_addresses */ @@ -186,7 +186,7 @@ TEST(IrcServer, SetAddresses) struct t_irc_server *server; char *str; - POINTERS_EQUAL(NULL, irc_server_get_addresses_ports_tls (NULL)); + POINTERS_EQUAL(NULL, irc_server_get_short_description (NULL)); server = irc_server_alloc ("server1"); @@ -203,8 +203,8 @@ TEST(IrcServer, SetAddresses) LONGS_EQUAL(6667, server->ports_array[0]); LONGS_EQUAL(0, server->retry_array[0]); - WEE_TEST_STR("irc.fake.org/6667 (TLS: disabled)", - irc_server_get_addresses_ports_tls (server)); + WEE_TEST_STR("irc.fake.org/6667 (fake, TLS: disabled)", + irc_server_get_short_description (server)); LONGS_EQUAL(1, irc_server_set_addresses (server, "irc.example.org", 0)); LONGS_EQUAL(0, server->fake_server); @@ -215,7 +215,7 @@ TEST(IrcServer, SetAddresses) LONGS_EQUAL(0, server->retry_array[0]); WEE_TEST_STR("irc.example.org/6667 (TLS: disabled)", - irc_server_get_addresses_ports_tls (server)); + irc_server_get_short_description (server)); LONGS_EQUAL(1, irc_server_set_addresses ( @@ -231,7 +231,7 @@ TEST(IrcServer, SetAddresses) LONGS_EQUAL(0, server->retry_array[1]); WEE_TEST_STR("irc.example.org/6667, irc2.example.org/6666 (TLS: disabled)", - irc_server_get_addresses_ports_tls (server)); + irc_server_get_short_description (server)); config_file_option_set (server->options[IRC_SERVER_OPTION_TLS], "on", 1); @@ -249,7 +249,7 @@ TEST(IrcServer, SetAddresses) LONGS_EQUAL(0, server->retry_array[1]); WEE_TEST_STR("irc.example.org/6697, irc2.example.org/7000 (TLS: enabled)", - irc_server_get_addresses_ports_tls (server)); + irc_server_get_short_description (server)); LONGS_EQUAL(0, irc_server_set_addresses ( @@ -265,7 +265,13 @@ TEST(IrcServer, SetAddresses) LONGS_EQUAL(0, server->retry_array[1]); WEE_TEST_STR("irc.example.org/6697, irc2.example.org/7000 (TLS: enabled)", - irc_server_get_addresses_ports_tls (server)); + irc_server_get_short_description (server)); + + server->temp_server = 1; + + WEE_TEST_STR("irc.example.org/6697, irc2.example.org/7000 " + "(temporary, TLS: enabled)", + irc_server_get_short_description (server)); irc_server_free (server); }