1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-25 12:26:40 +02:00

irc: make IRC server names case sensitive (issue #1872)

This commit is contained in:
Sébastien Helleu
2023-01-27 00:02:12 +01:00
parent d7f08a45d7
commit 0704f382e0
6 changed files with 13 additions and 63 deletions
+5 -5
View File
@@ -730,7 +730,7 @@ irc_command_exec_all_servers (int inclusive, const char *str_servers, const char
for (i = 0; i < num_servers; i++)
{
if (weechat_string_match (ptr_server->name,
servers[i], 0))
servers[i], 1))
{
picked = (inclusive) ? 1 : 0;
break;
@@ -5546,7 +5546,7 @@ IRC_COMMAND_CALLBACK(server)
for (ptr_server2 = irc_servers; ptr_server2;
ptr_server2 = ptr_server2->next_server)
{
if (weechat_strcasestr (ptr_server2->name, server_name))
if (strstr (ptr_server2->name, server_name))
{
if (!one_server_found)
{
@@ -5571,7 +5571,7 @@ IRC_COMMAND_CALLBACK(server)
{
WEECHAT_COMMAND_MIN_ARGS(4, "add");
ptr_server2 = irc_server_casesearch (argv[2]);
ptr_server2 = irc_server_search (argv[2]);
if (ptr_server2)
{
weechat_printf (
@@ -5633,7 +5633,7 @@ IRC_COMMAND_CALLBACK(server)
}
/* check if target name already exists */
ptr_server2 = irc_server_casesearch (argv[3]);
ptr_server2 = irc_server_search (argv[3]);
if (ptr_server2)
{
weechat_printf (
@@ -5681,7 +5681,7 @@ IRC_COMMAND_CALLBACK(server)
}
/* check if target name already exists */
ptr_server2 = irc_server_casesearch (argv[3]);
ptr_server2 = irc_server_search (argv[3]);
if (ptr_server2)
{
weechat_printf (
+2 -2
View File
@@ -82,7 +82,7 @@ irc_ignore_search (const char *mask, const char *server, const char *channel)
ptr_ignore = ptr_ignore->next_ignore)
{
if ((strcmp (ptr_ignore->mask, mask) == 0)
&& (weechat_strcasecmp (ptr_ignore->server, server) == 0)
&& (strcmp (ptr_ignore->server, server) == 0)
&& (weechat_strcasecmp (ptr_ignore->channel, channel) == 0))
{
return ptr_ignore;
@@ -177,7 +177,7 @@ irc_ignore_check_server (struct t_irc_ignore *ignore, const char *server)
if (strcmp (ignore->server, "*") == 0)
return 1;
return (weechat_strcasecmp (ignore->server, server) == 0) ? 1 : 0;
return (weechat_strcmp (ignore->server, server) == 0) ? 1 : 0;
}
/*
+2 -2
View File
@@ -548,7 +548,7 @@ irc_info_infolist_irc_server_cb (const void *pointer, void *data,
ptr_server = ptr_server->next_server)
{
if (!arguments || !arguments[0]
|| weechat_string_match (ptr_server->name, arguments, 0))
|| weechat_string_match (ptr_server->name, arguments, 1))
{
if (!irc_server_add_to_infolist (ptr_infolist, ptr_server, 0))
{
@@ -1063,7 +1063,7 @@ irc_info_infolist_irc_notify_cb (const void *pointer, void *data,
ptr_server = ptr_server->next_server)
{
if (!arguments || !arguments[0]
|| weechat_string_match (ptr_server->name, arguments, 0))
|| weechat_string_match (ptr_server->name, arguments, 1))
{
for (ptr_notify = ptr_server->notify_list; ptr_notify;
ptr_notify = ptr_notify->next_notify)
+4 -28
View File
@@ -202,31 +202,6 @@ irc_server_search (const char *server_name)
return NULL;
}
/*
* Searches for a server by name (case insensitive).
*
* Returns pointer to server found, NULL if not found.
*/
struct t_irc_server *
irc_server_casesearch (const char *server_name)
{
struct t_irc_server *ptr_server;
if (!server_name)
return NULL;
for (ptr_server = irc_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (weechat_strcasecmp (ptr_server->name, server_name) == 0)
return ptr_server;
}
/* server not found */
return NULL;
}
/*
* Searches for a server option name.
*
@@ -1522,7 +1497,8 @@ irc_server_alloc (const char *name)
int i, length;
char *option_name;
if (irc_server_casesearch (name))
/* check if another server exists with this name */
if (irc_server_search (name))
return NULL;
/* alloc memory for new server */
@@ -2254,7 +2230,7 @@ irc_server_copy (struct t_irc_server *server, const char *new_name)
int length, index_option;
/* check if another server exists with this name */
if (irc_server_casesearch (new_name))
if (irc_server_search (new_name))
return NULL;
new_server = irc_server_alloc (new_name);
@@ -2321,7 +2297,7 @@ irc_server_rename (struct t_irc_server *server, const char *new_name)
struct t_irc_channel *ptr_channel;
/* check if another server exists with this name */
if (irc_server_casesearch (new_name))
if (irc_server_search (new_name))
return 0;
/* rename options */
-1
View File
@@ -306,7 +306,6 @@ extern char *irc_server_options[][2];
extern int irc_server_valid (struct t_irc_server *server);
extern struct t_irc_server *irc_server_search (const char *server_name);
extern struct t_irc_server *irc_server_casesearch (const char *server_name);
extern int irc_server_search_option (const char *option_name);
extern int irc_server_search_casemapping (const char *casemapping);
extern int irc_server_search_utf8mapping (const char *utf8mapping);