mirror of
https://github.com/weechat/weechat.git
synced 2026-07-09 23:25:42 +02:00
Fixed FIFO pipe buffer detection, away message (301) now displayed in query if
exists, otherwise on server buffer
This commit is contained in:
+28
-18
File diff suppressed because it is too large
Load Diff
@@ -67,7 +67,7 @@ extern void alias_free_all ();
|
||||
extern char **explode_string (char *, char *, int, int *);
|
||||
extern void free_exploded_string (char **);
|
||||
extern int exec_weechat_command (t_gui_window *, t_irc_server *, char *);
|
||||
extern void user_command (t_gui_window *, t_irc_server *, char *);
|
||||
extern void user_command (t_gui_buffer *, t_irc_server *, char *);
|
||||
extern int weechat_cmd_alias (t_gui_window *, char *);
|
||||
extern int weechat_cmd_buffer (t_gui_window *, int, char **);
|
||||
extern int weechat_cmd_charset (t_gui_window *, int, char **);
|
||||
|
||||
+9
-13
@@ -148,19 +148,16 @@ fifo_exec (char *text)
|
||||
WEECHAT_WARNING, text);
|
||||
return;
|
||||
}
|
||||
if (ptr_server)
|
||||
if (ptr_server && pos)
|
||||
{
|
||||
if (pos)
|
||||
ptr_channel = channel_search (ptr_server, pos + 1);
|
||||
if (!ptr_channel)
|
||||
{
|
||||
ptr_channel = channel_search (ptr_server, pos + 1);
|
||||
if (!ptr_channel)
|
||||
{
|
||||
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
|
||||
gui_printf (NULL,
|
||||
_("%s channel \"%s\" not found (FIFO pipe data)\n"),
|
||||
WEECHAT_WARNING, pos + 1);
|
||||
return;
|
||||
}
|
||||
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
|
||||
gui_printf (NULL,
|
||||
_("%s channel \"%s\" not found (FIFO pipe data)\n"),
|
||||
WEECHAT_WARNING, pos + 1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -174,8 +171,7 @@ fifo_exec (char *text)
|
||||
ptr_buffer = gui_buffers;
|
||||
}
|
||||
|
||||
user_command (gui_buffer_find_window (ptr_buffer),
|
||||
ptr_server, pos_msg);
|
||||
user_command (ptr_buffer, ptr_server, pos_msg);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -108,7 +108,7 @@ gui_action_return (t_gui_window *window)
|
||||
window->buffer->completion.position = -1;
|
||||
window->buffer->ptr_history = NULL;
|
||||
gui_draw_buffer_input (window->buffer, 0);
|
||||
user_command (window, SERVER(window->buffer), command);
|
||||
user_command (window->buffer, SERVER(window->buffer), command);
|
||||
free (command);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -517,7 +517,7 @@ gui_key_pressed (char *key_str)
|
||||
/* exact combo found => execute function or command */
|
||||
gui_key_buffer[0] = '\0';
|
||||
if (ptr_key->command)
|
||||
user_command (gui_current_window,
|
||||
user_command (gui_current_window->buffer,
|
||||
SERVER(gui_current_window->buffer),
|
||||
ptr_key->command);
|
||||
else
|
||||
|
||||
+7
-2
@@ -2537,6 +2537,8 @@ int
|
||||
irc_cmd_recv_301 (t_irc_server *server, char *host, char *nick, char *arguments)
|
||||
{
|
||||
char *pos_nick, *pos_message;
|
||||
t_irc_channel *ptr_channel;
|
||||
t_gui_buffer *ptr_buffer;
|
||||
|
||||
/* make gcc happy */
|
||||
(void) server;
|
||||
@@ -2560,8 +2562,11 @@ irc_cmd_recv_301 (t_irc_server *server, char *host, char *nick, char *arguments)
|
||||
|
||||
if (!command_ignored)
|
||||
{
|
||||
irc_display_prefix (server, gui_current_window->buffer, PREFIX_INFO);
|
||||
gui_printf (gui_current_window->buffer,
|
||||
/* look for private buffer to display message */
|
||||
ptr_channel = channel_search (server, pos_nick);
|
||||
ptr_buffer = (ptr_channel) ? ptr_channel->buffer : server->buffer;
|
||||
irc_display_prefix (server, ptr_buffer, PREFIX_INFO);
|
||||
gui_printf (ptr_buffer,
|
||||
_("%s%s%s is away: %s\n"),
|
||||
GUI_COLOR(COLOR_WIN_CHAT_NICK),
|
||||
pos_nick,
|
||||
|
||||
@@ -290,14 +290,11 @@ weechat_plugin_exec_command (t_weechat_plugin *plugin,
|
||||
|
||||
plugin_find_server_channel (server, channel, &ptr_server, &ptr_channel);
|
||||
if (ptr_server && ptr_channel)
|
||||
user_command (gui_buffer_find_window (ptr_channel->buffer),
|
||||
ptr_server, command);
|
||||
user_command (ptr_channel->buffer, ptr_server, command);
|
||||
else if (ptr_server && (ptr_server->buffer))
|
||||
user_command (gui_buffer_find_window (ptr_server->buffer),
|
||||
ptr_server, command);
|
||||
user_command (ptr_server->buffer, ptr_server, command);
|
||||
else
|
||||
user_command (gui_buffer_find_window (gui_buffers),
|
||||
NULL, command);
|
||||
user_command (gui_buffers, NULL, command);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -67,7 +67,7 @@ extern void alias_free_all ();
|
||||
extern char **explode_string (char *, char *, int, int *);
|
||||
extern void free_exploded_string (char **);
|
||||
extern int exec_weechat_command (t_gui_window *, t_irc_server *, char *);
|
||||
extern void user_command (t_gui_window *, t_irc_server *, char *);
|
||||
extern void user_command (t_gui_buffer *, t_irc_server *, char *);
|
||||
extern int weechat_cmd_alias (t_gui_window *, char *);
|
||||
extern int weechat_cmd_buffer (t_gui_window *, int, char **);
|
||||
extern int weechat_cmd_charset (t_gui_window *, int, char **);
|
||||
|
||||
@@ -148,19 +148,16 @@ fifo_exec (char *text)
|
||||
WEECHAT_WARNING, text);
|
||||
return;
|
||||
}
|
||||
if (ptr_server)
|
||||
if (ptr_server && pos)
|
||||
{
|
||||
if (pos)
|
||||
ptr_channel = channel_search (ptr_server, pos + 1);
|
||||
if (!ptr_channel)
|
||||
{
|
||||
ptr_channel = channel_search (ptr_server, pos + 1);
|
||||
if (!ptr_channel)
|
||||
{
|
||||
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
|
||||
gui_printf (NULL,
|
||||
_("%s channel \"%s\" not found (FIFO pipe data)\n"),
|
||||
WEECHAT_WARNING, pos + 1);
|
||||
return;
|
||||
}
|
||||
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
|
||||
gui_printf (NULL,
|
||||
_("%s channel \"%s\" not found (FIFO pipe data)\n"),
|
||||
WEECHAT_WARNING, pos + 1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -174,8 +171,7 @@ fifo_exec (char *text)
|
||||
ptr_buffer = gui_buffers;
|
||||
}
|
||||
|
||||
user_command (gui_buffer_find_window (ptr_buffer),
|
||||
ptr_server, pos_msg);
|
||||
user_command (ptr_buffer, ptr_server, pos_msg);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -108,7 +108,7 @@ gui_action_return (t_gui_window *window)
|
||||
window->buffer->completion.position = -1;
|
||||
window->buffer->ptr_history = NULL;
|
||||
gui_draw_buffer_input (window->buffer, 0);
|
||||
user_command (window, SERVER(window->buffer), command);
|
||||
user_command (window->buffer, SERVER(window->buffer), command);
|
||||
free (command);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -517,7 +517,7 @@ gui_key_pressed (char *key_str)
|
||||
/* exact combo found => execute function or command */
|
||||
gui_key_buffer[0] = '\0';
|
||||
if (ptr_key->command)
|
||||
user_command (gui_current_window,
|
||||
user_command (gui_current_window->buffer,
|
||||
SERVER(gui_current_window->buffer),
|
||||
ptr_key->command);
|
||||
else
|
||||
|
||||
@@ -2537,6 +2537,8 @@ int
|
||||
irc_cmd_recv_301 (t_irc_server *server, char *host, char *nick, char *arguments)
|
||||
{
|
||||
char *pos_nick, *pos_message;
|
||||
t_irc_channel *ptr_channel;
|
||||
t_gui_buffer *ptr_buffer;
|
||||
|
||||
/* make gcc happy */
|
||||
(void) server;
|
||||
@@ -2560,8 +2562,11 @@ irc_cmd_recv_301 (t_irc_server *server, char *host, char *nick, char *arguments)
|
||||
|
||||
if (!command_ignored)
|
||||
{
|
||||
irc_display_prefix (server, gui_current_window->buffer, PREFIX_INFO);
|
||||
gui_printf (gui_current_window->buffer,
|
||||
/* look for private buffer to display message */
|
||||
ptr_channel = channel_search (server, pos_nick);
|
||||
ptr_buffer = (ptr_channel) ? ptr_channel->buffer : server->buffer;
|
||||
irc_display_prefix (server, ptr_buffer, PREFIX_INFO);
|
||||
gui_printf (ptr_buffer,
|
||||
_("%s%s%s is away: %s\n"),
|
||||
GUI_COLOR(COLOR_WIN_CHAT_NICK),
|
||||
pos_nick,
|
||||
|
||||
@@ -290,14 +290,11 @@ weechat_plugin_exec_command (t_weechat_plugin *plugin,
|
||||
|
||||
plugin_find_server_channel (server, channel, &ptr_server, &ptr_channel);
|
||||
if (ptr_server && ptr_channel)
|
||||
user_command (gui_buffer_find_window (ptr_channel->buffer),
|
||||
ptr_server, command);
|
||||
user_command (ptr_channel->buffer, ptr_server, command);
|
||||
else if (ptr_server && (ptr_server->buffer))
|
||||
user_command (gui_buffer_find_window (ptr_server->buffer),
|
||||
ptr_server, command);
|
||||
user_command (ptr_server->buffer, ptr_server, command);
|
||||
else
|
||||
user_command (gui_buffer_find_window (gui_buffers),
|
||||
NULL, command);
|
||||
user_command (gui_buffers, NULL, command);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user