summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSebastien Helleu <flashcode@flashtux.org>2007-05-22 14:46:59 +0000
committerSebastien Helleu <flashcode@flashtux.org>2007-05-22 14:46:59 +0000
commite339e9020d903e7d2025661e43382e63b4c819d6 (patch)
tree4a26d123093391c6c3f8c4397baa6bd520cf7b4d /src
parent5332d2ba278e24eb7a388a241fc73e0fea5c87af (diff)
downloadweechat-e339e9020d903e7d2025661e43382e63b4c819d6.zip
Fixed "%C" completion: now completes with all channels of all servers
Diffstat (limited to 'src')
-rw-r--r--src/common/completion.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/common/completion.c b/src/common/completion.c
index 9910637ed..60ffa5e43 100644
--- a/src/common/completion.c
+++ b/src/common/completion.c
@@ -340,21 +340,26 @@ completion_list_add_channel (t_completion *completion)
}
/*
- * completion_list_add_server_channels: add server channels to completion list
+ * completion_list_add_channels: add server channels to completion list
*/
void
-completion_list_add_server_channels (t_completion *completion)
+completion_list_add_channels (t_completion *completion)
{
+ t_irc_server *ptr_server;
t_irc_channel *ptr_channel;
if (completion->server)
{
- for (ptr_channel = ((t_irc_server *)(completion->server))->channels;
- ptr_channel; ptr_channel = ptr_channel->next_channel)
+ for (ptr_server = irc_servers; ptr_server;
+ ptr_server = ptr_server->next_server)
{
- completion_list_add (completion, ptr_channel->name,
- 0, WEELIST_POS_SORT);
+ for (ptr_channel = ptr_server->channels;
+ ptr_channel; ptr_channel = ptr_channel->next_channel)
+ {
+ completion_list_add (completion, ptr_channel->name,
+ 0, WEELIST_POS_SORT);
+ }
}
}
}
@@ -969,7 +974,7 @@ completion_build_list_template (t_completion *completion, char *template)
completion_list_add_channel (completion);
break;
case 'C': /* all channels */
- completion_list_add_server_channels (completion);
+ completion_list_add_channels (completion);
break;
case 'f': /* filename */
completion_list_add_filename (completion);
@@ -1521,7 +1526,7 @@ completion_auto (t_completion *completion)
if (irc_channel_is_channel (completion->base_word))
{
if (!completion->completion_list)
- completion_list_add_server_channels (completion);
+ completion_list_add_channels (completion);
completion_command_arg (completion, 0);
return;
}