mirror of
https://github.com/weechat/weechat.git
synced 2026-07-05 17:23:15 +02:00
Fixed bug with strings comparison (str[n]casecmp) and some locales (like turkish), now using ASCII comparison
This commit is contained in:
@@ -147,7 +147,7 @@ channel_search (t_irc_server *server, char *channel_name)
|
||||
for (ptr_channel = server->channels; ptr_channel;
|
||||
ptr_channel = ptr_channel->next_channel)
|
||||
{
|
||||
if (strcasecmp (ptr_channel->name, channel_name) == 0)
|
||||
if (ascii_strcasecmp (ptr_channel->name, channel_name) == 0)
|
||||
return ptr_channel;
|
||||
}
|
||||
return NULL;
|
||||
|
||||
+6
-7
@@ -33,7 +33,7 @@
|
||||
|
||||
|
||||
/*
|
||||
* nick_find_color: find a color for a nick (less used will be better!)
|
||||
* nick_find_color: find a color for a nick (according to nick letters)
|
||||
*/
|
||||
|
||||
int
|
||||
@@ -87,12 +87,11 @@ nick_compare (t_irc_nick *nick1, t_irc_nick *nick2)
|
||||
score1 = nick_score_for_sort (nick1);
|
||||
score2 = nick_score_for_sort (nick2);
|
||||
|
||||
comp = strcasecmp(nick1->nick, nick2->nick);
|
||||
comp = ascii_strcasecmp (nick1->nick, nick2->nick);
|
||||
if (comp > 0)
|
||||
score1++;
|
||||
else
|
||||
if (comp < 0)
|
||||
score2++;
|
||||
if (comp < 0)
|
||||
score2++;
|
||||
|
||||
/* nick1 > nick2 */
|
||||
if (score1 > score2)
|
||||
@@ -202,7 +201,7 @@ nick_new (t_irc_channel *channel, char *nick_name,
|
||||
new_nick->is_halfop = is_halfop;
|
||||
new_nick->has_voice = has_voice;
|
||||
new_nick->is_away = 0;
|
||||
if (strcasecmp (new_nick->nick, SERVER(channel->buffer)->nick) == 0)
|
||||
if (ascii_strcasecmp (new_nick->nick, SERVER(channel->buffer)->nick) == 0)
|
||||
new_nick->color = COLOR_WIN_NICK_SELF;
|
||||
else
|
||||
new_nick->color = nick_find_color (new_nick);
|
||||
@@ -319,7 +318,7 @@ nick_search (t_irc_channel *channel, char *nickname)
|
||||
for (ptr_nick = channel->nicks; ptr_nick;
|
||||
ptr_nick = ptr_nick->next_nick)
|
||||
{
|
||||
if (strcasecmp (ptr_nick->nick, nickname) == 0)
|
||||
if (ascii_strcasecmp (ptr_nick->nick, nickname) == 0)
|
||||
return ptr_nick;
|
||||
}
|
||||
return NULL;
|
||||
|
||||
+6
-6
@@ -150,7 +150,7 @@ irc_recv_command (t_irc_server *server, char *entire_line,
|
||||
cmd_found = -1;
|
||||
for (i = 0; irc_commands[i].command_name; i++)
|
||||
{
|
||||
if (strcasecmp (irc_commands[i].command_name, command) == 0)
|
||||
if (ascii_strcasecmp (irc_commands[i].command_name, command) == 0)
|
||||
{
|
||||
cmd_found = i;
|
||||
break;
|
||||
@@ -929,7 +929,7 @@ irc_cmd_recv_nick (t_irc_server *server, char *host, char *arguments)
|
||||
if ((SERVER(ptr_buffer) == server) && BUFFER_IS_PRIVATE(ptr_buffer))
|
||||
{
|
||||
if ((CHANNEL(ptr_buffer)->name)
|
||||
&& (strcasecmp (host, CHANNEL(ptr_buffer)->name) == 0))
|
||||
&& (ascii_strcasecmp (host, CHANNEL(ptr_buffer)->name) == 0))
|
||||
{
|
||||
free (CHANNEL(ptr_buffer)->name);
|
||||
CHANNEL(ptr_buffer)->name = strdup (arguments);
|
||||
@@ -1104,9 +1104,9 @@ irc_cmd_recv_notice (t_irc_server *server, char *host, char *arguments)
|
||||
gui_printf_color (server->buffer, COLOR_WIN_CHAT, ": ");
|
||||
}
|
||||
gui_printf_color (server->buffer, COLOR_WIN_CHAT, "%s\n", pos);
|
||||
if ((host) && (strcasecmp (host, "nickserv") != 0) &&
|
||||
(strcasecmp (host, "chanserv") != 0) &&
|
||||
(strcasecmp (host, "memoserv") != 0))
|
||||
if ((host) && (ascii_strcasecmp (host, "nickserv") != 0) &&
|
||||
(ascii_strcasecmp (host, "chanserv") != 0) &&
|
||||
(ascii_strcasecmp (host, "memoserv") != 0))
|
||||
{
|
||||
hotlist_add (HOTLIST_PRIVATE, server->buffer);
|
||||
gui_draw_buffer_status (gui_current_window->buffer, 1);
|
||||
@@ -1789,7 +1789,7 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *arguments)
|
||||
while (pos_port[0] == ' ')
|
||||
pos_port++;
|
||||
|
||||
if (strcasecmp (pos_file, "chat") != 0)
|
||||
if (ascii_strcasecmp (pos_file, "chat") != 0)
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
|
||||
+2
-2
@@ -367,7 +367,7 @@ irc_cmd_send_ctcp (t_irc_server *server, char *arguments)
|
||||
gui_printf_color (server->buffer, COLOR_WIN_CHAT, ": ");
|
||||
gui_printf_color (server->buffer, COLOR_WIN_CHAT_CHANNEL, "%s", pos_type);
|
||||
|
||||
if ((strcasecmp (pos_type, "ping") == 0) && (!pos_args))
|
||||
if ((ascii_strcasecmp (pos_type, "ping") == 0) && (!pos_args))
|
||||
{
|
||||
gettimeofday (&tv, &tz);
|
||||
server_sendf (server, "PRIVMSG %s :\01PING %d %d\01\r\n",
|
||||
@@ -451,7 +451,7 @@ irc_cmd_send_dcc (t_irc_server *server, char *arguments)
|
||||
|
||||
dcc_send_request (server, DCC_CHAT_SEND, pos_nick, NULL);
|
||||
}
|
||||
else if (strcasecmp (arguments, "close") == 0)
|
||||
else if (ascii_strcasecmp (arguments, "close") == 0)
|
||||
{
|
||||
if (BUFFER_IS_PRIVATE(gui_current_window->buffer) &&
|
||||
CHANNEL(gui_current_window->buffer)->dcc_chat)
|
||||
|
||||
Reference in New Issue
Block a user