From 64c1dbba0ef742336375ec474c5fdecb0c8a04c1 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Sun, 6 Nov 2005 18:27:20 +0000 Subject: [PATCH] Fixed bugs in "get_info" and "command" interface functions of plugins --- src/plugins/plugins-interface.c | 74 ++++++++++--------- src/plugins/plugins.c | 40 +++++----- src/plugins/plugins.h | 3 +- src/plugins/scripts/perl/weechat-perl.c | 16 ++-- src/plugins/scripts/python/weechat-python.c | 9 +-- src/plugins/scripts/ruby/weechat-ruby.c | 15 +--- src/plugins/scripts/weechat-script.c | 2 +- src/plugins/weechat-plugin.h | 4 +- weechat/src/plugins/plugins-interface.c | 74 ++++++++++--------- weechat/src/plugins/plugins.c | 40 +++++----- weechat/src/plugins/plugins.h | 3 +- .../src/plugins/scripts/perl/weechat-perl.c | 16 ++-- .../plugins/scripts/python/weechat-python.c | 9 +-- .../src/plugins/scripts/ruby/weechat-ruby.c | 15 +--- weechat/src/plugins/scripts/weechat-script.c | 2 +- weechat/src/plugins/weechat-plugin.h | 4 +- 16 files changed, 154 insertions(+), 172 deletions(-) diff --git a/src/plugins/plugins-interface.c b/src/plugins/plugins-interface.c index 6b9f4908c..f9e2a0a4d 100644 --- a/src/plugins/plugins-interface.c +++ b/src/plugins/plugins-interface.c @@ -280,12 +280,15 @@ weechat_plugin_exec_command (t_weechat_plugin *plugin, char *server, char *channel, char *command) { t_irc_server *ptr_server; + t_irc_channel *ptr_channel; if (!plugin || !command) return; - ptr_server = plugin_find_server (server, channel); - if (ptr_server && (ptr_server->buffer)) + plugin_find_server_channel (server, channel, &ptr_server, &ptr_channel); + if (ptr_server && ptr_channel) + user_command (ptr_server, ptr_channel->buffer, command); + else if (ptr_server && (ptr_server->buffer)) user_command (ptr_server, ptr_server->buffer, command); } @@ -296,51 +299,23 @@ weechat_plugin_exec_command (t_weechat_plugin *plugin, */ char * -weechat_plugin_get_info (t_weechat_plugin *plugin, char *info, char *server, char *channel) +weechat_plugin_get_info (t_weechat_plugin *plugin, char *info, char *server) { - t_gui_buffer *ptr_buffer; + t_irc_server *ptr_server; + t_irc_channel *ptr_channel; if (!plugin || !info) return NULL; - ptr_buffer = plugin_find_buffer (server, channel); - if (!ptr_buffer) - return NULL; + /* below are infos that do NOT need server to return info */ if (ascii_strcasecmp (info, "version") == 0) { return strdup (PACKAGE_VERSION); } - else if (ascii_strcasecmp (info, "nick") == 0) - { - if (SERVER(ptr_buffer) && (SERVER(ptr_buffer)->is_connected) - && (SERVER(ptr_buffer)->nick)) - return strdup (SERVER(ptr_buffer)->nick); - } - else if (ascii_strcasecmp (info, "channel") == 0) - { - if (BUFFER_IS_CHANNEL(ptr_buffer)) - return strdup (CHANNEL(gui_current_window->buffer)->name); - } - else if (ascii_strcasecmp (info, "server") == 0) - { - if (SERVER(ptr_buffer) && (SERVER(ptr_buffer)->is_connected) - && (SERVER(ptr_buffer)->name)) - return strdup (SERVER(ptr_buffer)->name); - } - else if (ascii_strcasecmp (info, "away") == 0) - { - if (SERVER(ptr_buffer) && (SERVER(ptr_buffer)->is_connected)) - { - if (SERVER(ptr_buffer)->is_away) - return strdup ("1"); - else - return strdup ("0"); - } - } else if (ascii_strcasecmp (info, "weechatdir") == 0) { - /* WARNING: deprecated info, you should use weechat_dir */ + /* WARNING: deprecated info, you should use "weechat_dir" */ /* will be removed in a future version */ return strdup (weechat_home); } @@ -357,6 +332,35 @@ weechat_plugin_get_info (t_weechat_plugin *plugin, char *info, char *server, cha return strdup (WEECHAT_SHAREDIR); } + /* below are infos that need server to return value */ + + plugin_find_server_channel (server, NULL, &ptr_server, &ptr_channel); + if (!ptr_server) + return NULL; + + if (ascii_strcasecmp (info, "nick") == 0) + { + if (ptr_server->is_connected && ptr_server->nick) + return strdup (ptr_server->nick); + } + else if (ascii_strcasecmp (info, "channel") == 0) + { + if (BUFFER_IS_CHANNEL(gui_current_window->buffer)) + return strdup (CHANNEL(gui_current_window->buffer)->name); + } + else if (ascii_strcasecmp (info, "server") == 0) + { + if (ptr_server->is_connected && ptr_server->name) + return strdup (ptr_server->name); + } + else if (ascii_strcasecmp (info, "away") == 0) + { + if (ptr_server->is_connected && ptr_server->is_away) + return strdup ("1"); + else + return strdup ("0"); + } + /* info not found */ return NULL; } diff --git a/src/plugins/plugins.c b/src/plugins/plugins.c index 09d676bc4..e34f7e752 100644 --- a/src/plugins/plugins.c +++ b/src/plugins/plugins.c @@ -105,44 +105,44 @@ plugin_find_buffer (char *server, char *channel) } /* - * plugin_find_server: find a server for command execution + * plugin_find_server_channel: find server/channel for command execution */ -t_irc_server * -plugin_find_server (char *server, char *channel) +void +plugin_find_server_channel (char *server, char *channel, + t_irc_server **ptr_server, + t_irc_channel **ptr_channel) { - t_irc_server *ptr_server; - t_irc_channel *ptr_channel; + (*ptr_server) = NULL; + (*ptr_channel) = NULL; - ptr_server = NULL; - ptr_channel = NULL; - - /* nothing given => return current server */ + /* nothing given => return current server/channel */ if ((!server || !server[0]) && (!channel || !channel[0])) - return SERVER(gui_current_window->buffer); + { + (*ptr_server) = SERVER(gui_current_window->buffer); + (*ptr_channel) = (BUFFER_IS_CHANNEL(gui_current_window->buffer) || + BUFFER_IS_PRIVATE(gui_current_window->buffer)) ? + CHANNEL(gui_current_window->buffer) : NULL; + } else { if (server && server[0]) - return server_search (server); + (*ptr_server) = server_search (server); else { - ptr_server = SERVER(gui_current_window->buffer); - if (!ptr_server) - ptr_server = SERVER(gui_buffers); + (*ptr_server) = SERVER(gui_current_window->buffer); + if (!(*ptr_server)) + (*ptr_server) = SERVER(gui_buffers); } if (channel && channel[0]) { - if (ptr_server) - return (channel_search (ptr_server, channel)) ? - ptr_server : NULL; + if ((*ptr_server)) + (*ptr_channel) = channel_search ((*ptr_server), channel); } } - - return NULL; } - /* * plugin_exec_on_files: find files in a directory and execute a * function on each file diff --git a/src/plugins/plugins.h b/src/plugins/plugins.h index 1a01baa40..5f7a96565 100644 --- a/src/plugins/plugins.h +++ b/src/plugins/plugins.h @@ -32,7 +32,8 @@ extern t_weechat_plugin *weechat_plugins; extern t_weechat_plugin *last_weechat_plugin; extern t_gui_buffer *plugin_find_buffer (char *, char *); -extern t_irc_server *plugin_find_server (char *, char *); +extern void plugin_find_server_channel (char *, char *, + t_irc_server **, t_irc_channel **); extern void plugin_exec_on_files (t_weechat_plugin *, char *, int (*)(t_weechat_plugin *, char *)); extern t_weechat_plugin *plugin_search (char *); diff --git a/src/plugins/scripts/perl/weechat-perl.c b/src/plugins/scripts/perl/weechat-perl.c index 48cc11bf8..4522805d6 100644 --- a/src/plugins/scripts/perl/weechat-perl.c +++ b/src/plugins/scripts/perl/weechat-perl.c @@ -508,7 +508,7 @@ static XS (XS_weechat_remove_handler) static XS (XS_weechat_get_info) { - char *arg, *info, *server_name, *channel_name; + char *arg, *info, *server_name; unsigned int integer; dXSARGS; @@ -523,7 +523,7 @@ static XS (XS_weechat_get_info) XSRETURN_NO; } - if ((items < 1) || (items > 3)) + if ((items < 1) || (items > 2)) { perl_plugin->printf_server (perl_plugin, "Perl error: wrong parameters for " @@ -531,18 +531,12 @@ static XS (XS_weechat_get_info) XSRETURN_NO; } - server_name = NULL; - channel_name = NULL; - - if (items >= 2) - server_name = SvPV (ST (1), integer); - if (items == 3) - channel_name = SvPV (ST (2), integer); + server_name = (items == 2) ? SvPV (ST (1), integer) : NULL; arg = SvPV (ST (0), integer); if (arg) { - info = perl_plugin->get_info (perl_plugin, arg, server_name, channel_name); + info = perl_plugin->get_info (perl_plugin, arg, server_name); if (info) { @@ -1111,7 +1105,7 @@ weechat_perl_cmd (t_weechat_plugin *plugin, path_script = NULL; else { - dir_home = plugin->get_info (plugin, "weechat_dir", NULL, NULL); + dir_home = plugin->get_info (plugin, "weechat_dir", NULL); if (dir_home) { path_length = strlen (dir_home) + strlen (argv[1]) + 16; diff --git a/src/plugins/scripts/python/weechat-python.c b/src/plugins/scripts/python/weechat-python.c index 15b8fbdd4..cb903c2e6 100644 --- a/src/plugins/scripts/python/weechat-python.c +++ b/src/plugins/scripts/python/weechat-python.c @@ -409,7 +409,7 @@ weechat_python_remove_handler (PyObject *self, PyObject *args) static PyObject * weechat_python_get_info (PyObject *self, PyObject *args) { - char *arg, *server_name, *channel_name, *info; + char *arg, *server_name, *info; PyObject *object; /* make gcc happy */ @@ -425,9 +425,8 @@ weechat_python_get_info (PyObject *self, PyObject *args) arg = NULL; server_name = NULL; - channel_name = NULL; - if (!PyArg_ParseTuple (args, "s|ss", &arg, &server_name, &channel_name)) + if (!PyArg_ParseTuple (args, "s|s", &arg, &server_name)) { python_plugin->printf_server (python_plugin, "Python error: wrong parameters for " @@ -437,7 +436,7 @@ weechat_python_get_info (PyObject *self, PyObject *args) if (arg) { - info = python_plugin->get_info (python_plugin, arg, server_name, channel_name); + info = python_plugin->get_info (python_plugin, arg, server_name); if (info) { @@ -1040,7 +1039,7 @@ weechat_python_cmd (t_weechat_plugin *plugin, path_script = NULL; else { - dir_home = plugin->get_info (plugin, "weechat_dir", NULL, NULL); + dir_home = plugin->get_info (plugin, "weechat_dir", NULL); if (dir_home) { path_length = strlen (dir_home) + strlen (argv[1]) + 16; diff --git a/src/plugins/scripts/ruby/weechat-ruby.c b/src/plugins/scripts/ruby/weechat-ruby.c index 9dda4e1d5..c66d2f04a 100644 --- a/src/plugins/scripts/ruby/weechat-ruby.c +++ b/src/plugins/scripts/ruby/weechat-ruby.c @@ -452,10 +452,9 @@ weechat_ruby_remove_handler (VALUE class, VALUE command, VALUE function) */ static VALUE -weechat_ruby_get_info (VALUE class, VALUE arg, VALUE server_name, - VALUE channel_name) +weechat_ruby_get_info (VALUE class, VALUE arg, VALUE server_name) { - char *c_arg, *c_server_name, *c_channel_name, *info; + char *c_arg, *c_server_name, *info; VALUE return_value; /* make gcc happy */ @@ -471,7 +470,6 @@ weechat_ruby_get_info (VALUE class, VALUE arg, VALUE server_name, c_arg = NULL; c_server_name = NULL; - c_channel_name = NULL; if (NIL_P (arg)) { @@ -484,19 +482,14 @@ weechat_ruby_get_info (VALUE class, VALUE arg, VALUE server_name, Check_Type (arg, T_STRING); if (!NIL_P (server_name)) Check_Type (server_name, T_STRING); - if (!NIL_P (channel_name)) - Check_Type (channel_name, T_STRING); c_arg = STR2CSTR (arg); if (!NIL_P (server_name)) c_server_name = STR2CSTR (server_name); - if (!NIL_P (channel_name)) - c_channel_name = STR2CSTR (channel_name); if (c_arg) { - info = ruby_plugin->get_info (ruby_plugin, c_arg, - c_server_name, c_channel_name); + info = ruby_plugin->get_info (ruby_plugin, c_arg, c_server_name); if (info) { @@ -893,7 +886,7 @@ weechat_ruby_cmd (t_weechat_plugin *plugin, path_script = NULL; else { - dir_home = plugin->get_info (plugin, "weechat_dir", NULL, NULL); + dir_home = plugin->get_info (plugin, "weechat_dir", NULL); if (dir_home) { path_length = strlen (dir_home) + strlen (argv[1]) + 16; diff --git a/src/plugins/scripts/weechat-script.c b/src/plugins/scripts/weechat-script.c index 04374c366..f5a69075a 100644 --- a/src/plugins/scripts/weechat-script.c +++ b/src/plugins/scripts/weechat-script.c @@ -44,7 +44,7 @@ weechat_script_auto_load (t_weechat_plugin *plugin, char *language, int dir_length; /* build directory, adding WeeChat home */ - dir_home = plugin->get_info (plugin, "weechat_dir", NULL, NULL); + dir_home = plugin->get_info (plugin, "weechat_dir", NULL); if (!dir_home) return; dir_length = strlen (dir_home) + strlen (language) + 16; diff --git a/src/plugins/weechat-plugin.h b/src/plugins/weechat-plugin.h index c368d8846..acce6b4fa 100644 --- a/src/plugins/weechat-plugin.h +++ b/src/plugins/weechat-plugin.h @@ -147,7 +147,7 @@ struct t_weechat_plugin void (*handler_remove_all) (t_weechat_plugin *); void (*exec_command) (t_weechat_plugin *, char *, char *, char *); - char *(*get_info) (t_weechat_plugin *, char *, char *, char *); + char *(*get_info) (t_weechat_plugin *, char *, char *); t_plugin_dcc_info *(*get_dcc_info) (t_weechat_plugin *); void (*free_dcc_info) (t_weechat_plugin *, t_plugin_dcc_info *); char *(*get_config) (t_weechat_plugin *, char *); @@ -185,7 +185,7 @@ extern void weechat_plugin_handler_remove_all (t_weechat_plugin *); /* other functions */ extern void weechat_plugin_exec_command (t_weechat_plugin *, char *, char *, char *); -extern char *weechat_plugin_get_info (t_weechat_plugin *, char *, char *, char *); +extern char *weechat_plugin_get_info (t_weechat_plugin *, char *, char *); extern t_plugin_dcc_info *weechat_plugin_get_dcc_info (t_weechat_plugin *); extern void weechat_plugin_free_dcc_info (t_weechat_plugin *, t_plugin_dcc_info *); extern char *weechat_plugin_get_config (t_weechat_plugin *, char *); diff --git a/weechat/src/plugins/plugins-interface.c b/weechat/src/plugins/plugins-interface.c index 6b9f4908c..f9e2a0a4d 100644 --- a/weechat/src/plugins/plugins-interface.c +++ b/weechat/src/plugins/plugins-interface.c @@ -280,12 +280,15 @@ weechat_plugin_exec_command (t_weechat_plugin *plugin, char *server, char *channel, char *command) { t_irc_server *ptr_server; + t_irc_channel *ptr_channel; if (!plugin || !command) return; - ptr_server = plugin_find_server (server, channel); - if (ptr_server && (ptr_server->buffer)) + plugin_find_server_channel (server, channel, &ptr_server, &ptr_channel); + if (ptr_server && ptr_channel) + user_command (ptr_server, ptr_channel->buffer, command); + else if (ptr_server && (ptr_server->buffer)) user_command (ptr_server, ptr_server->buffer, command); } @@ -296,51 +299,23 @@ weechat_plugin_exec_command (t_weechat_plugin *plugin, */ char * -weechat_plugin_get_info (t_weechat_plugin *plugin, char *info, char *server, char *channel) +weechat_plugin_get_info (t_weechat_plugin *plugin, char *info, char *server) { - t_gui_buffer *ptr_buffer; + t_irc_server *ptr_server; + t_irc_channel *ptr_channel; if (!plugin || !info) return NULL; - ptr_buffer = plugin_find_buffer (server, channel); - if (!ptr_buffer) - return NULL; + /* below are infos that do NOT need server to return info */ if (ascii_strcasecmp (info, "version") == 0) { return strdup (PACKAGE_VERSION); } - else if (ascii_strcasecmp (info, "nick") == 0) - { - if (SERVER(ptr_buffer) && (SERVER(ptr_buffer)->is_connected) - && (SERVER(ptr_buffer)->nick)) - return strdup (SERVER(ptr_buffer)->nick); - } - else if (ascii_strcasecmp (info, "channel") == 0) - { - if (BUFFER_IS_CHANNEL(ptr_buffer)) - return strdup (CHANNEL(gui_current_window->buffer)->name); - } - else if (ascii_strcasecmp (info, "server") == 0) - { - if (SERVER(ptr_buffer) && (SERVER(ptr_buffer)->is_connected) - && (SERVER(ptr_buffer)->name)) - return strdup (SERVER(ptr_buffer)->name); - } - else if (ascii_strcasecmp (info, "away") == 0) - { - if (SERVER(ptr_buffer) && (SERVER(ptr_buffer)->is_connected)) - { - if (SERVER(ptr_buffer)->is_away) - return strdup ("1"); - else - return strdup ("0"); - } - } else if (ascii_strcasecmp (info, "weechatdir") == 0) { - /* WARNING: deprecated info, you should use weechat_dir */ + /* WARNING: deprecated info, you should use "weechat_dir" */ /* will be removed in a future version */ return strdup (weechat_home); } @@ -357,6 +332,35 @@ weechat_plugin_get_info (t_weechat_plugin *plugin, char *info, char *server, cha return strdup (WEECHAT_SHAREDIR); } + /* below are infos that need server to return value */ + + plugin_find_server_channel (server, NULL, &ptr_server, &ptr_channel); + if (!ptr_server) + return NULL; + + if (ascii_strcasecmp (info, "nick") == 0) + { + if (ptr_server->is_connected && ptr_server->nick) + return strdup (ptr_server->nick); + } + else if (ascii_strcasecmp (info, "channel") == 0) + { + if (BUFFER_IS_CHANNEL(gui_current_window->buffer)) + return strdup (CHANNEL(gui_current_window->buffer)->name); + } + else if (ascii_strcasecmp (info, "server") == 0) + { + if (ptr_server->is_connected && ptr_server->name) + return strdup (ptr_server->name); + } + else if (ascii_strcasecmp (info, "away") == 0) + { + if (ptr_server->is_connected && ptr_server->is_away) + return strdup ("1"); + else + return strdup ("0"); + } + /* info not found */ return NULL; } diff --git a/weechat/src/plugins/plugins.c b/weechat/src/plugins/plugins.c index 09d676bc4..e34f7e752 100644 --- a/weechat/src/plugins/plugins.c +++ b/weechat/src/plugins/plugins.c @@ -105,44 +105,44 @@ plugin_find_buffer (char *server, char *channel) } /* - * plugin_find_server: find a server for command execution + * plugin_find_server_channel: find server/channel for command execution */ -t_irc_server * -plugin_find_server (char *server, char *channel) +void +plugin_find_server_channel (char *server, char *channel, + t_irc_server **ptr_server, + t_irc_channel **ptr_channel) { - t_irc_server *ptr_server; - t_irc_channel *ptr_channel; + (*ptr_server) = NULL; + (*ptr_channel) = NULL; - ptr_server = NULL; - ptr_channel = NULL; - - /* nothing given => return current server */ + /* nothing given => return current server/channel */ if ((!server || !server[0]) && (!channel || !channel[0])) - return SERVER(gui_current_window->buffer); + { + (*ptr_server) = SERVER(gui_current_window->buffer); + (*ptr_channel) = (BUFFER_IS_CHANNEL(gui_current_window->buffer) || + BUFFER_IS_PRIVATE(gui_current_window->buffer)) ? + CHANNEL(gui_current_window->buffer) : NULL; + } else { if (server && server[0]) - return server_search (server); + (*ptr_server) = server_search (server); else { - ptr_server = SERVER(gui_current_window->buffer); - if (!ptr_server) - ptr_server = SERVER(gui_buffers); + (*ptr_server) = SERVER(gui_current_window->buffer); + if (!(*ptr_server)) + (*ptr_server) = SERVER(gui_buffers); } if (channel && channel[0]) { - if (ptr_server) - return (channel_search (ptr_server, channel)) ? - ptr_server : NULL; + if ((*ptr_server)) + (*ptr_channel) = channel_search ((*ptr_server), channel); } } - - return NULL; } - /* * plugin_exec_on_files: find files in a directory and execute a * function on each file diff --git a/weechat/src/plugins/plugins.h b/weechat/src/plugins/plugins.h index 1a01baa40..5f7a96565 100644 --- a/weechat/src/plugins/plugins.h +++ b/weechat/src/plugins/plugins.h @@ -32,7 +32,8 @@ extern t_weechat_plugin *weechat_plugins; extern t_weechat_plugin *last_weechat_plugin; extern t_gui_buffer *plugin_find_buffer (char *, char *); -extern t_irc_server *plugin_find_server (char *, char *); +extern void plugin_find_server_channel (char *, char *, + t_irc_server **, t_irc_channel **); extern void plugin_exec_on_files (t_weechat_plugin *, char *, int (*)(t_weechat_plugin *, char *)); extern t_weechat_plugin *plugin_search (char *); diff --git a/weechat/src/plugins/scripts/perl/weechat-perl.c b/weechat/src/plugins/scripts/perl/weechat-perl.c index 48cc11bf8..4522805d6 100644 --- a/weechat/src/plugins/scripts/perl/weechat-perl.c +++ b/weechat/src/plugins/scripts/perl/weechat-perl.c @@ -508,7 +508,7 @@ static XS (XS_weechat_remove_handler) static XS (XS_weechat_get_info) { - char *arg, *info, *server_name, *channel_name; + char *arg, *info, *server_name; unsigned int integer; dXSARGS; @@ -523,7 +523,7 @@ static XS (XS_weechat_get_info) XSRETURN_NO; } - if ((items < 1) || (items > 3)) + if ((items < 1) || (items > 2)) { perl_plugin->printf_server (perl_plugin, "Perl error: wrong parameters for " @@ -531,18 +531,12 @@ static XS (XS_weechat_get_info) XSRETURN_NO; } - server_name = NULL; - channel_name = NULL; - - if (items >= 2) - server_name = SvPV (ST (1), integer); - if (items == 3) - channel_name = SvPV (ST (2), integer); + server_name = (items == 2) ? SvPV (ST (1), integer) : NULL; arg = SvPV (ST (0), integer); if (arg) { - info = perl_plugin->get_info (perl_plugin, arg, server_name, channel_name); + info = perl_plugin->get_info (perl_plugin, arg, server_name); if (info) { @@ -1111,7 +1105,7 @@ weechat_perl_cmd (t_weechat_plugin *plugin, path_script = NULL; else { - dir_home = plugin->get_info (plugin, "weechat_dir", NULL, NULL); + dir_home = plugin->get_info (plugin, "weechat_dir", NULL); if (dir_home) { path_length = strlen (dir_home) + strlen (argv[1]) + 16; diff --git a/weechat/src/plugins/scripts/python/weechat-python.c b/weechat/src/plugins/scripts/python/weechat-python.c index 15b8fbdd4..cb903c2e6 100644 --- a/weechat/src/plugins/scripts/python/weechat-python.c +++ b/weechat/src/plugins/scripts/python/weechat-python.c @@ -409,7 +409,7 @@ weechat_python_remove_handler (PyObject *self, PyObject *args) static PyObject * weechat_python_get_info (PyObject *self, PyObject *args) { - char *arg, *server_name, *channel_name, *info; + char *arg, *server_name, *info; PyObject *object; /* make gcc happy */ @@ -425,9 +425,8 @@ weechat_python_get_info (PyObject *self, PyObject *args) arg = NULL; server_name = NULL; - channel_name = NULL; - if (!PyArg_ParseTuple (args, "s|ss", &arg, &server_name, &channel_name)) + if (!PyArg_ParseTuple (args, "s|s", &arg, &server_name)) { python_plugin->printf_server (python_plugin, "Python error: wrong parameters for " @@ -437,7 +436,7 @@ weechat_python_get_info (PyObject *self, PyObject *args) if (arg) { - info = python_plugin->get_info (python_plugin, arg, server_name, channel_name); + info = python_plugin->get_info (python_plugin, arg, server_name); if (info) { @@ -1040,7 +1039,7 @@ weechat_python_cmd (t_weechat_plugin *plugin, path_script = NULL; else { - dir_home = plugin->get_info (plugin, "weechat_dir", NULL, NULL); + dir_home = plugin->get_info (plugin, "weechat_dir", NULL); if (dir_home) { path_length = strlen (dir_home) + strlen (argv[1]) + 16; diff --git a/weechat/src/plugins/scripts/ruby/weechat-ruby.c b/weechat/src/plugins/scripts/ruby/weechat-ruby.c index 9dda4e1d5..c66d2f04a 100644 --- a/weechat/src/plugins/scripts/ruby/weechat-ruby.c +++ b/weechat/src/plugins/scripts/ruby/weechat-ruby.c @@ -452,10 +452,9 @@ weechat_ruby_remove_handler (VALUE class, VALUE command, VALUE function) */ static VALUE -weechat_ruby_get_info (VALUE class, VALUE arg, VALUE server_name, - VALUE channel_name) +weechat_ruby_get_info (VALUE class, VALUE arg, VALUE server_name) { - char *c_arg, *c_server_name, *c_channel_name, *info; + char *c_arg, *c_server_name, *info; VALUE return_value; /* make gcc happy */ @@ -471,7 +470,6 @@ weechat_ruby_get_info (VALUE class, VALUE arg, VALUE server_name, c_arg = NULL; c_server_name = NULL; - c_channel_name = NULL; if (NIL_P (arg)) { @@ -484,19 +482,14 @@ weechat_ruby_get_info (VALUE class, VALUE arg, VALUE server_name, Check_Type (arg, T_STRING); if (!NIL_P (server_name)) Check_Type (server_name, T_STRING); - if (!NIL_P (channel_name)) - Check_Type (channel_name, T_STRING); c_arg = STR2CSTR (arg); if (!NIL_P (server_name)) c_server_name = STR2CSTR (server_name); - if (!NIL_P (channel_name)) - c_channel_name = STR2CSTR (channel_name); if (c_arg) { - info = ruby_plugin->get_info (ruby_plugin, c_arg, - c_server_name, c_channel_name); + info = ruby_plugin->get_info (ruby_plugin, c_arg, c_server_name); if (info) { @@ -893,7 +886,7 @@ weechat_ruby_cmd (t_weechat_plugin *plugin, path_script = NULL; else { - dir_home = plugin->get_info (plugin, "weechat_dir", NULL, NULL); + dir_home = plugin->get_info (plugin, "weechat_dir", NULL); if (dir_home) { path_length = strlen (dir_home) + strlen (argv[1]) + 16; diff --git a/weechat/src/plugins/scripts/weechat-script.c b/weechat/src/plugins/scripts/weechat-script.c index 04374c366..f5a69075a 100644 --- a/weechat/src/plugins/scripts/weechat-script.c +++ b/weechat/src/plugins/scripts/weechat-script.c @@ -44,7 +44,7 @@ weechat_script_auto_load (t_weechat_plugin *plugin, char *language, int dir_length; /* build directory, adding WeeChat home */ - dir_home = plugin->get_info (plugin, "weechat_dir", NULL, NULL); + dir_home = plugin->get_info (plugin, "weechat_dir", NULL); if (!dir_home) return; dir_length = strlen (dir_home) + strlen (language) + 16; diff --git a/weechat/src/plugins/weechat-plugin.h b/weechat/src/plugins/weechat-plugin.h index c368d8846..acce6b4fa 100644 --- a/weechat/src/plugins/weechat-plugin.h +++ b/weechat/src/plugins/weechat-plugin.h @@ -147,7 +147,7 @@ struct t_weechat_plugin void (*handler_remove_all) (t_weechat_plugin *); void (*exec_command) (t_weechat_plugin *, char *, char *, char *); - char *(*get_info) (t_weechat_plugin *, char *, char *, char *); + char *(*get_info) (t_weechat_plugin *, char *, char *); t_plugin_dcc_info *(*get_dcc_info) (t_weechat_plugin *); void (*free_dcc_info) (t_weechat_plugin *, t_plugin_dcc_info *); char *(*get_config) (t_weechat_plugin *, char *); @@ -185,7 +185,7 @@ extern void weechat_plugin_handler_remove_all (t_weechat_plugin *); /* other functions */ extern void weechat_plugin_exec_command (t_weechat_plugin *, char *, char *, char *); -extern char *weechat_plugin_get_info (t_weechat_plugin *, char *, char *, char *); +extern char *weechat_plugin_get_info (t_weechat_plugin *, char *, char *); extern t_plugin_dcc_info *weechat_plugin_get_dcc_info (t_weechat_plugin *); extern void weechat_plugin_free_dcc_info (t_weechat_plugin *, t_plugin_dcc_info *); extern char *weechat_plugin_get_config (t_weechat_plugin *, char *);