1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-04 08:43:13 +02:00

api: add integer return code for functions hook_{signal|hsignal}_send

This commit is contained in:
Sebastien Helleu
2014-02-10 17:42:53 +01:00
parent a0bf3938f1
commit 437767c0ca
50 changed files with 543 additions and 416 deletions
+2 -2
View File
@@ -912,8 +912,8 @@ weechat_aspell_modifier_cb (void *data, const char *modifier,
&& (strcmp (old_suggestions, ptr_suggestions) != 0)))
{
weechat_bar_item_update ("aspell_suggest");
weechat_hook_signal_send ("aspell_suggest",
WEECHAT_HOOK_SIGNAL_POINTER, buffer);
(void) weechat_hook_signal_send ("aspell_suggest",
WEECHAT_HOOK_SIGNAL_POINTER, buffer);
}
if (old_suggestions)
free (old_suggestions);
+25 -24
View File
@@ -2436,44 +2436,44 @@ weechat_guile_api_hook_signal (SCM signal, SCM function, SCM data)
SCM
weechat_guile_api_hook_signal_send (SCM signal, SCM type_data,
SCM signal_data)
SCM signal_data)
{
int number;
int number, rc;
API_FUNC(1, "hook_signal_send", API_RETURN_ERROR);
API_FUNC(1, "hook_signal_send", API_RETURN_INT(WEECHAT_RC_ERROR));
if (!scm_is_string (signal) || !scm_is_string (type_data))
API_WRONG_ARGS(API_RETURN_ERROR);
API_WRONG_ARGS(API_RETURN_INT(WEECHAT_RC_ERROR));
if (strcmp (API_SCM_TO_STRING(type_data), WEECHAT_HOOK_SIGNAL_STRING) == 0)
{
if (!scm_is_string (signal_data))
API_WRONG_ARGS(API_RETURN_ERROR);
weechat_hook_signal_send (API_SCM_TO_STRING(signal),
API_SCM_TO_STRING(type_data),
(void *)API_SCM_TO_STRING(signal_data));
API_RETURN_OK;
API_WRONG_ARGS(API_RETURN_INT(WEECHAT_RC_ERROR));
rc = weechat_hook_signal_send (API_SCM_TO_STRING(signal),
API_SCM_TO_STRING(type_data),
(void *)API_SCM_TO_STRING(signal_data));
API_RETURN_INT(rc);
}
else if (strcmp (API_SCM_TO_STRING(type_data), WEECHAT_HOOK_SIGNAL_INT) == 0)
{
if (!scm_is_integer (signal_data))
API_WRONG_ARGS(API_RETURN_ERROR);
API_WRONG_ARGS(API_RETURN_INT(WEECHAT_RC_ERROR));
number = scm_to_int (signal_data);
weechat_hook_signal_send (API_SCM_TO_STRING(signal),
API_SCM_TO_STRING(type_data),
&number);
API_RETURN_OK;
rc = weechat_hook_signal_send (API_SCM_TO_STRING(signal),
API_SCM_TO_STRING(type_data),
&number);
API_RETURN_INT(rc);
}
else if (strcmp (API_SCM_TO_STRING(type_data), WEECHAT_HOOK_SIGNAL_POINTER) == 0)
{
if (!scm_is_string (signal_data))
API_WRONG_ARGS(API_RETURN_ERROR);
weechat_hook_signal_send (API_SCM_TO_STRING(signal),
API_SCM_TO_STRING(type_data),
API_STR2PTR(API_SCM_TO_STRING(signal_data)));
API_RETURN_OK;
API_WRONG_ARGS(API_RETURN_INT(WEECHAT_RC_ERROR));
rc = weechat_hook_signal_send (API_SCM_TO_STRING(signal),
API_SCM_TO_STRING(type_data),
API_STR2PTR(API_SCM_TO_STRING(signal_data)));
API_RETURN_INT(rc);
}
API_RETURN_ERROR;
API_RETURN_INT(WEECHAT_RC_ERROR);
}
int
@@ -2537,22 +2537,23 @@ SCM
weechat_guile_api_hook_hsignal_send (SCM signal, SCM hashtable)
{
struct t_hashtable *c_hashtable;
int rc;
API_FUNC(1, "hook_hsignal_send", API_RETURN_ERROR);
API_FUNC(1, "hook_hsignal_send", API_RETURN_INT(WEECHAT_RC_ERROR));
if (!scm_is_string (signal) || !scm_list_p (hashtable))
API_WRONG_ARGS(API_RETURN_ERROR);
API_WRONG_ARGS(API_RETURN_INT(WEECHAT_RC_ERROR));
c_hashtable = weechat_guile_alist_to_hashtable (hashtable,
WEECHAT_SCRIPT_HASHTABLE_DEFAULT_SIZE,
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING);
weechat_hook_hsignal_send (API_SCM_TO_STRING(signal), c_hashtable);
rc = weechat_hook_hsignal_send (API_SCM_TO_STRING(signal), c_hashtable);
if (c_hashtable)
weechat_hashtable_free (c_hashtable);
API_RETURN_OK;
API_RETURN_INT(rc);
}
int
+5 -4
View File
@@ -436,8 +436,9 @@ weechat_guile_load (const char *filename)
&weechat_guile_api_buffer_input_data_cb,
&weechat_guile_api_buffer_close_cb);
weechat_hook_signal_send ("guile_script_loaded", WEECHAT_HOOK_SIGNAL_STRING,
guile_current_script->filename);
(void) weechat_hook_signal_send ("guile_script_loaded",
WEECHAT_HOOK_SIGNAL_STRING,
guile_current_script->filename);
return 1;
}
@@ -494,8 +495,8 @@ weechat_guile_unload (struct t_plugin_script *script)
if (interpreter)
weechat_guile_catch (scm_gc_unprotect_object, interpreter);
weechat_hook_signal_send ("guile_script_unloaded",
WEECHAT_HOOK_SIGNAL_STRING, filename);
(void) weechat_hook_signal_send ("guile_script_unloaded",
WEECHAT_HOOK_SIGNAL_STRING, filename);
if (filename)
free (filename);
}
+6 -5
View File
@@ -236,8 +236,9 @@ irc_channel_new (struct t_irc_server *server, int channel_type,
weechat_buffer_set (new_buffer, "localvar_set_channel", channel_name);
if (server->is_away && server->away_message)
weechat_buffer_set (new_buffer, "localvar_set_away", server->away_message);
weechat_hook_signal_send ("logger_backlog",
WEECHAT_HOOK_SIGNAL_POINTER, new_buffer);
(void) weechat_hook_signal_send ("logger_backlog",
WEECHAT_HOOK_SIGNAL_POINTER,
new_buffer);
if (weechat_config_boolean (irc_config_network_send_unknown_commands))
weechat_buffer_set (new_buffer, "input_get_unknown_commands", "1");
if (channel_type == IRC_CHANNEL_TYPE_CHANNEL)
@@ -350,9 +351,9 @@ irc_channel_new (struct t_irc_server *server, int channel_type,
free (channel_name_lower);
}
weechat_hook_signal_send ((channel_type == IRC_CHANNEL_TYPE_CHANNEL) ?
"irc_channel_opened" : "irc_pv_opened",
WEECHAT_HOOK_SIGNAL_POINTER, new_buffer);
(void) weechat_hook_signal_send ((channel_type == IRC_CHANNEL_TYPE_CHANNEL) ?
"irc_channel_opened" : "irc_pv_opened",
WEECHAT_HOOK_SIGNAL_POINTER, new_buffer);
/* all is OK, return address of new channel */
return new_channel;
+6 -6
View File
@@ -1434,9 +1434,9 @@ irc_command_dcc (void *data, struct t_gui_buffer *buffer, int argc,
weechat_infolist_new_var_string (item, "filename", argv_eol[3]);
weechat_infolist_new_var_string (item, "local_address", str_address);
weechat_infolist_new_var_integer (item, "socket", ptr_server->sock);
weechat_hook_signal_send ("xfer_add",
WEECHAT_HOOK_SIGNAL_POINTER,
infolist);
(void) weechat_hook_signal_send ("xfer_add",
WEECHAT_HOOK_SIGNAL_POINTER,
infolist);
}
weechat_infolist_free (infolist);
}
@@ -1463,9 +1463,9 @@ irc_command_dcc (void *data, struct t_gui_buffer *buffer, int argc,
"irc.%s.%s", ptr_server->name, argv[2]);
weechat_infolist_new_var_string (item, "charset_modifier", charset_modifier);
weechat_infolist_new_var_string (item, "local_address", str_address);
weechat_hook_signal_send ("xfer_add",
WEECHAT_HOOK_SIGNAL_POINTER,
infolist);
(void) weechat_hook_signal_send ("xfer_add",
WEECHAT_HOOK_SIGNAL_POINTER,
infolist);
}
weechat_infolist_free (infolist);
}
+30 -30
View File
@@ -629,16 +629,16 @@ irc_ctcp_recv_dcc (struct t_irc_server *server, const char *nick,
IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_PROXY));
weechat_infolist_new_var_string (item, "remote_address", pos_addr);
weechat_infolist_new_var_integer (item, "port", atoi (pos_port));
weechat_hook_signal_send ("xfer_add",
WEECHAT_HOOK_SIGNAL_POINTER,
infolist);
(void) weechat_hook_signal_send ("xfer_add",
WEECHAT_HOOK_SIGNAL_POINTER,
infolist);
}
weechat_infolist_free (infolist);
}
weechat_hook_signal_send ("irc_dcc",
WEECHAT_HOOK_SIGNAL_STRING,
message);
(void) weechat_hook_signal_send ("irc_dcc",
WEECHAT_HOOK_SIGNAL_STRING,
message);
if (filename)
free (filename);
@@ -726,16 +726,16 @@ irc_ctcp_recv_dcc (struct t_irc_server *server, const char *nick,
(filename) ? filename : pos_file);
weechat_infolist_new_var_integer (item, "port", atoi (pos_port));
weechat_infolist_new_var_string (item, "start_resume", pos_start_resume);
weechat_hook_signal_send ("xfer_accept_resume",
WEECHAT_HOOK_SIGNAL_POINTER,
infolist);
(void) weechat_hook_signal_send ("xfer_accept_resume",
WEECHAT_HOOK_SIGNAL_POINTER,
infolist);
}
weechat_infolist_free (infolist);
}
weechat_hook_signal_send ("irc_dcc",
WEECHAT_HOOK_SIGNAL_STRING,
message);
(void) weechat_hook_signal_send ("irc_dcc",
WEECHAT_HOOK_SIGNAL_STRING,
message);
if (filename)
free (filename);
@@ -823,16 +823,16 @@ irc_ctcp_recv_dcc (struct t_irc_server *server, const char *nick,
(filename) ? filename : pos_file);
weechat_infolist_new_var_integer (item, "port", atoi (pos_port));
weechat_infolist_new_var_string (item, "start_resume", pos_start_resume);
weechat_hook_signal_send ("xfer_start_resume",
WEECHAT_HOOK_SIGNAL_POINTER,
infolist);
(void) weechat_hook_signal_send ("xfer_start_resume",
WEECHAT_HOOK_SIGNAL_POINTER,
infolist);
}
weechat_infolist_free (infolist);
}
weechat_hook_signal_send ("irc_dcc",
WEECHAT_HOOK_SIGNAL_STRING,
message);
(void) weechat_hook_signal_send ("irc_dcc",
WEECHAT_HOOK_SIGNAL_STRING,
message);
if (filename)
free (filename);
@@ -935,16 +935,16 @@ irc_ctcp_recv_dcc (struct t_irc_server *server, const char *nick,
IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_PROXY));
weechat_infolist_new_var_string (item, "remote_address", pos_addr);
weechat_infolist_new_var_integer (item, "port", atoi (pos_port));
weechat_hook_signal_send ("xfer_add",
WEECHAT_HOOK_SIGNAL_POINTER,
infolist);
(void) weechat_hook_signal_send ("xfer_add",
WEECHAT_HOOK_SIGNAL_POINTER,
infolist);
}
weechat_infolist_free (infolist);
}
weechat_hook_signal_send ("irc_dcc",
WEECHAT_HOOK_SIGNAL_STRING,
message);
(void) weechat_hook_signal_send ("irc_dcc",
WEECHAT_HOOK_SIGNAL_STRING,
message);
free (dcc_args);
}
@@ -1053,9 +1053,9 @@ irc_ctcp_recv (struct t_irc_server *server, time_t date, const char *command,
(pos_args) ? IRC_COLOR_RESET : "",
(pos_args) ? " " : "",
(pos_args) ? pos_args : "");
weechat_hook_signal_send ("irc_pv",
WEECHAT_HOOK_SIGNAL_STRING,
message);
(void) weechat_hook_signal_send ("irc_pv",
WEECHAT_HOOK_SIGNAL_STRING,
message);
}
}
}
@@ -1126,9 +1126,9 @@ irc_ctcp_recv (struct t_irc_server *server, time_t date, const char *command,
}
}
weechat_hook_signal_send ("irc_ctcp",
WEECHAT_HOOK_SIGNAL_STRING,
message);
(void) weechat_hook_signal_send ("irc_ctcp",
WEECHAT_HOOK_SIGNAL_STRING,
message);
if (pos_space)
pos_space[0] = ' ';
+4 -4
View File
@@ -253,8 +253,8 @@ irc_ignore_free (struct t_irc_ignore *ignore)
{
struct t_irc_ignore *ptr_ignore;
weechat_hook_signal_send ("irc_ignore_removing",
WEECHAT_HOOK_SIGNAL_POINTER, ignore);
(void) weechat_hook_signal_send ("irc_ignore_removing",
WEECHAT_HOOK_SIGNAL_POINTER, ignore);
/* decrement number for all ignore after this one */
for (ptr_ignore = ignore->next_ignore; ptr_ignore;
@@ -288,8 +288,8 @@ irc_ignore_free (struct t_irc_ignore *ignore)
free (ignore);
weechat_hook_signal_send ("irc_ignore_removed",
WEECHAT_HOOK_SIGNAL_STRING, NULL);
(void) weechat_hook_signal_send ("irc_ignore_removed",
WEECHAT_HOOK_SIGNAL_STRING, NULL);
}
/*
+5 -5
View File
@@ -434,8 +434,8 @@ void
irc_notify_free (struct t_irc_server *server, struct t_irc_notify *notify,
int remove_monitor)
{
weechat_hook_signal_send ("irc_notify_removing",
WEECHAT_HOOK_SIGNAL_POINTER, notify);
(void) weechat_hook_signal_send ("irc_notify_removing",
WEECHAT_HOOK_SIGNAL_POINTER, notify);
/* free data */
if (notify->nick)
@@ -468,8 +468,8 @@ irc_notify_free (struct t_irc_server *server, struct t_irc_notify *notify,
if (server->notify_count > 0)
server->notify_count--;
weechat_hook_signal_send ("irc_notify_removed",
WEECHAT_HOOK_SIGNAL_STRING, NULL);
(void) weechat_hook_signal_send ("irc_notify_removed",
WEECHAT_HOOK_SIGNAL_STRING, NULL);
}
/*
@@ -650,7 +650,7 @@ irc_notify_send_signal (struct t_irc_notify *notify,
(away_message && away_message[0]) ? away_message : "");
}
weechat_hook_signal_send (signal, WEECHAT_HOOK_SIGNAL_STRING, data);
(void) weechat_hook_signal_send (signal, WEECHAT_HOOK_SIGNAL_STRING, data);
if (data)
free (data);
+5 -5
View File
@@ -1764,9 +1764,9 @@ IRC_PROTOCOL_CALLBACK(privmsg)
if (ptr_channel->has_quit_server)
ptr_channel->has_quit_server = 0;
weechat_hook_signal_send ("irc_pv",
WEECHAT_HOOK_SIGNAL_STRING,
argv_eol[0]);
(void) weechat_hook_signal_send ("irc_pv",
WEECHAT_HOOK_SIGNAL_STRING,
argv_eol[0]);
}
return WEECHAT_RC_OK;
@@ -2183,8 +2183,8 @@ IRC_PROTOCOL_CALLBACK(001)
}
/* send signal "irc_server_connected" with server name */
weechat_hook_signal_send ("irc_server_connected",
WEECHAT_HOOK_SIGNAL_STRING, server->name);
(void) weechat_hook_signal_send ("irc_server_connected",
WEECHAT_HOOK_SIGNAL_STRING, server->name);
/* execute command when connected */
server_command = weechat_string_eval_expression (IRC_SERVER_OPTION_STRING(server,
+1 -1
View File
@@ -748,7 +748,7 @@ irc_redirect_stop (struct t_irc_redirect *redirect, const char *error)
snprintf (signal_name, sizeof (signal_name), "irc_redirection_%s_%s",
redirect->signal, redirect->pattern);
weechat_hook_hsignal_send (signal_name, hashtable);
(void) weechat_hook_hsignal_send (signal_name, hashtable);
if (hashtable)
weechat_hashtable_free (hashtable);
+16 -13
View File
@@ -1725,16 +1725,17 @@ irc_server_send_signal (struct t_irc_server *server, const char *signal,
{
snprintf (full_message_tags, length,
"%s;%s", tags, full_message);
weechat_hook_signal_send (str_signal,
WEECHAT_HOOK_SIGNAL_STRING,
(void *)full_message_tags);
(void) weechat_hook_signal_send (str_signal,
WEECHAT_HOOK_SIGNAL_STRING,
(void *)full_message_tags);
free (full_message_tags);
}
}
else
{
weechat_hook_signal_send (str_signal, WEECHAT_HOOK_SIGNAL_STRING,
(void *)full_message);
(void) weechat_hook_signal_send (str_signal,
WEECHAT_HOOK_SIGNAL_STRING,
(void *)full_message);
}
free (str_signal);
}
@@ -3502,8 +3503,9 @@ irc_server_create_buffer (struct t_irc_server *server)
weechat_buffer_set (server->buffer, "localvar_set_charset_modifier",
charset_modifier);
weechat_hook_signal_send ("logger_backlog",
WEECHAT_HOOK_SIGNAL_POINTER, server->buffer);
(void) weechat_hook_signal_send ("logger_backlog",
WEECHAT_HOOK_SIGNAL_POINTER,
server->buffer);
if (weechat_config_boolean (irc_config_network_send_unknown_commands))
weechat_buffer_set (server->buffer, "input_get_unknown_commands", "1");
@@ -3531,8 +3533,9 @@ irc_server_create_buffer (struct t_irc_server *server)
weechat_buffer_merge (server->buffer, ptr_buffer_for_merge);
}
weechat_hook_signal_send ("irc_server_opened",
WEECHAT_HOOK_SIGNAL_POINTER, server->buffer);
(void) weechat_hook_signal_send ("irc_server_opened",
WEECHAT_HOOK_SIGNAL_POINTER,
server->buffer);
return server->buffer;
}
@@ -4162,8 +4165,8 @@ irc_server_connect (struct t_irc_server *server)
#endif
/* send signal "irc_server_connecting" with server name */
weechat_hook_signal_send ("irc_server_connecting",
WEECHAT_HOOK_SIGNAL_STRING, server->name);
(void) weechat_hook_signal_send ("irc_server_connecting",
WEECHAT_HOOK_SIGNAL_STRING, server->name);
return 1;
}
@@ -4299,8 +4302,8 @@ irc_server_disconnect (struct t_irc_server *server, int switch_address,
server->disconnected = 1;
/* send signal "irc_server_disconnected" with server name */
weechat_hook_signal_send ("irc_server_disconnected",
WEECHAT_HOOK_SIGNAL_STRING, server->name);
(void) weechat_hook_signal_send ("irc_server_disconnected",
WEECHAT_HOOK_SIGNAL_STRING, server->name);
}
/*
+16 -15
View File
@@ -2643,13 +2643,13 @@ static int
weechat_lua_api_hook_signal_send (lua_State *L)
{
const char *signal, *type_data, *signal_data;
int number;
int number, rc;
API_FUNC(1, "hook_signal_send", API_RETURN_ERROR);
API_FUNC(1, "hook_signal_send", API_RETURN_INT(WEECHAT_RC_ERROR));
signal_data = NULL;
if (lua_gettop (L) < 3)
API_WRONG_ARGS(API_RETURN_ERROR);
API_WRONG_ARGS(API_RETURN_INT(WEECHAT_RC_ERROR));
signal = lua_tostring (L, -3);
type_data = lua_tostring (L, -2);
@@ -2657,24 +2657,24 @@ weechat_lua_api_hook_signal_send (lua_State *L)
if (strcmp (type_data, WEECHAT_HOOK_SIGNAL_STRING) == 0)
{
signal_data = lua_tostring (L, -1);
weechat_hook_signal_send (signal, type_data, (void *)signal_data);
API_RETURN_OK;
rc = weechat_hook_signal_send (signal, type_data, (void *)signal_data);
API_RETURN_INT(rc);
}
else if (strcmp (type_data, WEECHAT_HOOK_SIGNAL_INT) == 0)
{
number = lua_tonumber (L, -1);
weechat_hook_signal_send (signal, type_data, &number);
API_RETURN_OK;
rc = weechat_hook_signal_send (signal, type_data, &number);
API_RETURN_INT(rc);
}
else if (strcmp (type_data, WEECHAT_HOOK_SIGNAL_POINTER) == 0)
{
signal_data = lua_tostring (L, -1);
weechat_hook_signal_send (signal, type_data,
API_STR2PTR(signal_data));
API_RETURN_OK;
rc = weechat_hook_signal_send (signal, type_data,
API_STR2PTR(signal_data));
API_RETURN_INT(rc);
}
API_RETURN_ERROR;
API_RETURN_INT(WEECHAT_RC_ERROR);
}
int
@@ -2742,10 +2742,11 @@ weechat_lua_api_hook_hsignal_send (lua_State *L)
{
const char *signal;
struct t_hashtable *hashtable;
int rc;
API_FUNC(1, "hook_hsignal_send", API_RETURN_ERROR);
API_FUNC(1, "hook_hsignal_send", API_RETURN_INT(WEECHAT_RC_ERROR));
if (lua_gettop (L) < 2)
API_WRONG_ARGS(API_RETURN_ERROR);
API_WRONG_ARGS(API_RETURN_INT(WEECHAT_RC_ERROR));
signal = lua_tostring (L, -2);
hashtable = weechat_lua_tohashtable (L, -1,
@@ -2753,12 +2754,12 @@ weechat_lua_api_hook_hsignal_send (lua_State *L)
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING);
weechat_hook_hsignal_send (signal, hashtable);
rc = weechat_hook_hsignal_send (signal, hashtable);
if (hashtable)
weechat_hashtable_free (hashtable);
API_RETURN_OK;
API_RETURN_INT(rc);
}
int
+5 -4
View File
@@ -455,8 +455,9 @@ weechat_lua_load (const char *filename)
&weechat_lua_api_buffer_input_data_cb,
&weechat_lua_api_buffer_close_cb);
weechat_hook_signal_send ("lua_script_loaded", WEECHAT_HOOK_SIGNAL_STRING,
lua_current_script->filename);
(void) weechat_hook_signal_send ("lua_script_loaded",
WEECHAT_HOOK_SIGNAL_STRING,
lua_current_script->filename);
return 1;
}
@@ -514,8 +515,8 @@ weechat_lua_unload (struct t_plugin_script *script)
if (interpreter)
lua_close (interpreter);
weechat_hook_signal_send ("lua_script_unloaded",
WEECHAT_HOOK_SIGNAL_STRING, filename);
(void) weechat_hook_signal_send ("lua_script_unloaded",
WEECHAT_HOOK_SIGNAL_STRING, filename);
if (filename)
free (filename);
}
+21 -20
View File
@@ -2474,39 +2474,39 @@ XS (XS_weechat_api_hook_signal)
XS (XS_weechat_api_hook_signal_send)
{
char *signal, *type_data;
int number;
int number, rc;
dXSARGS;
API_FUNC(1, "hook_signal_send", API_RETURN_ERROR);
API_FUNC(1, "hook_signal_send", API_RETURN_INT(WEECHAT_RC_ERROR));
if (items < 3)
API_WRONG_ARGS(API_RETURN_ERROR);
API_WRONG_ARGS(API_RETURN_INT(WEECHAT_RC_ERROR));
signal = SvPV_nolen (ST (0));
type_data = SvPV_nolen (ST (1));
if (strcmp (type_data, WEECHAT_HOOK_SIGNAL_STRING) == 0)
{
weechat_hook_signal_send (signal,
type_data,
SvPV_nolen (ST (2))); /* signal_data */
API_RETURN_OK;
rc = weechat_hook_signal_send (signal,
type_data,
SvPV_nolen (ST (2))); /* signal_data */
API_RETURN_INT(rc);
}
else if (strcmp (type_data, WEECHAT_HOOK_SIGNAL_INT) == 0)
{
number = SvIV(ST (2));
weechat_hook_signal_send (signal,
type_data,
&number); /* signal_data */
API_RETURN_OK;
rc = weechat_hook_signal_send (signal,
type_data,
&number); /* signal_data */
API_RETURN_INT(rc);
}
else if (strcmp (type_data, WEECHAT_HOOK_SIGNAL_POINTER) == 0)
{
weechat_hook_signal_send (signal,
type_data,
API_STR2PTR(SvPV_nolen (ST (2)))); /* signal_data */
API_RETURN_OK;
rc = weechat_hook_signal_send (signal,
type_data,
API_STR2PTR(SvPV_nolen (ST (2)))); /* signal_data */
API_RETURN_INT(rc);
}
API_RETURN_ERROR;
API_RETURN_INT(WEECHAT_RC_ERROR);
}
int
@@ -2572,11 +2572,12 @@ XS (XS_weechat_api_hook_hsignal_send)
{
char *signal;
struct t_hashtable *hashtable;
int rc;
dXSARGS;
API_FUNC(1, "hook_hsignal_send", API_RETURN_ERROR);
API_FUNC(1, "hook_hsignal_send", API_RETURN_INT(WEECHAT_RC_ERROR));
if (items < 2)
API_WRONG_ARGS(API_RETURN_ERROR);
API_WRONG_ARGS(API_RETURN_INT(WEECHAT_RC_ERROR));
signal = SvPV_nolen (ST (0));
hashtable = weechat_perl_hash_to_hashtable (ST (1),
@@ -2584,12 +2585,12 @@ XS (XS_weechat_api_hook_hsignal_send)
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING);
weechat_hook_hsignal_send (signal, hashtable);
rc = weechat_hook_hsignal_send (signal, hashtable);
if (hashtable)
weechat_hashtable_free (hashtable);
API_RETURN_OK;
API_RETURN_INT(rc);
}
int
+5 -4
View File
@@ -468,8 +468,9 @@ weechat_perl_load (const char *filename)
&weechat_perl_api_buffer_input_data_cb,
&weechat_perl_api_buffer_close_cb);
weechat_hook_signal_send ("perl_script_loaded", WEECHAT_HOOK_SIGNAL_STRING,
perl_current_script->filename);
(void) weechat_hook_signal_send ("perl_script_loaded",
WEECHAT_HOOK_SIGNAL_STRING,
perl_current_script->filename);
return 1;
}
@@ -542,8 +543,8 @@ weechat_perl_unload (struct t_plugin_script *script)
free (interpreter);
#endif
weechat_hook_signal_send ("perl_script_unloaded",
WEECHAT_HOOK_SIGNAL_STRING, filename);
(void) weechat_hook_signal_send ("perl_script_unloaded",
WEECHAT_HOOK_SIGNAL_STRING, filename);
if (filename)
free (filename);
}
+4 -4
View File
@@ -1088,8 +1088,8 @@ plugin_script_action_install (struct t_weechat_plugin *weechat_plugin,
snprintf (str_signal, sizeof (str_signal),
"%s_script_installed", weechat_plugin->name);
weechat_hook_signal_send (str_signal, WEECHAT_HOOK_SIGNAL_STRING,
ptr_list);
(void) weechat_hook_signal_send (str_signal, WEECHAT_HOOK_SIGNAL_STRING,
ptr_list);
free (*list);
*list = NULL;
@@ -1148,8 +1148,8 @@ plugin_script_action_remove (struct t_weechat_plugin *weechat_plugin,
snprintf (str_signal, sizeof (str_signal),
"%s_script_removed", weechat_plugin->name);
weechat_hook_signal_send (str_signal, WEECHAT_HOOK_SIGNAL_STRING,
ptr_list);
(void) weechat_hook_signal_send (str_signal, WEECHAT_HOOK_SIGNAL_STRING,
ptr_list);
free (*list);
*list = NULL;
+4 -3
View File
@@ -862,8 +862,8 @@ plugin_load (const char *filename, int argc, char **argv)
name);
}
hook_signal_send ("plugin_loaded", WEECHAT_HOOK_SIGNAL_STRING,
(char *)filename);
(void) hook_signal_send ("plugin_loaded",
WEECHAT_HOOK_SIGNAL_STRING, (char *)filename);
return new_plugin;
}
@@ -1046,7 +1046,8 @@ plugin_unload (struct t_weechat_plugin *plugin)
_("Plugin \"%s\" unloaded"),
(name) ? name : "???");
}
hook_signal_send ("plugin_unloaded", WEECHAT_HOOK_SIGNAL_STRING, name);
(void) hook_signal_send ("plugin_unloaded",
WEECHAT_HOOK_SIGNAL_STRING, name);
if (name)
free (name);
}
+18 -17
View File
@@ -2584,38 +2584,38 @@ static PyObject *
weechat_python_api_hook_signal_send (PyObject *self, PyObject *args)
{
char *signal, *type_data, *signal_data, *error;
int number;
int number, rc;
API_FUNC(1, "hook_signal_send", API_RETURN_ERROR);
API_FUNC(1, "hook_signal_send", API_RETURN_INT(WEECHAT_RC_ERROR));
signal = NULL;
type_data = NULL;
signal_data = NULL;
if (!PyArg_ParseTuple (args, "sss", &signal, &type_data, &signal_data))
API_WRONG_ARGS(API_RETURN_ERROR);
API_WRONG_ARGS(API_RETURN_INT(WEECHAT_RC_ERROR));
if (strcmp (type_data, WEECHAT_HOOK_SIGNAL_STRING) == 0)
{
weechat_hook_signal_send (signal, type_data, signal_data);
API_RETURN_OK;
rc = weechat_hook_signal_send (signal, type_data, signal_data);
API_RETURN_INT(rc);
}
else if (strcmp (type_data, WEECHAT_HOOK_SIGNAL_INT) == 0)
{
error = NULL;
number = (int)strtol (signal_data, &error, 10);
if (error && !error[0])
{
weechat_hook_signal_send (signal, type_data, &number);
}
API_RETURN_OK;
rc = weechat_hook_signal_send (signal, type_data, &number);
else
rc = WEECHAT_RC_ERROR;
API_RETURN_INT(rc);
}
else if (strcmp (type_data, WEECHAT_HOOK_SIGNAL_POINTER) == 0)
{
weechat_hook_signal_send (signal, type_data,
API_STR2PTR(signal_data));
API_RETURN_OK;
rc = weechat_hook_signal_send (signal, type_data,
API_STR2PTR(signal_data));
API_RETURN_INT(rc);
}
API_RETURN_ERROR;
API_RETURN_INT(WEECHAT_RC_ERROR);
}
int
@@ -2687,24 +2687,25 @@ weechat_python_api_hook_hsignal_send (PyObject *self, PyObject *args)
char *signal;
struct t_hashtable *hashtable;
PyObject *dict;
int rc;
API_FUNC(1, "hook_hsignal_send", API_RETURN_ERROR);
API_FUNC(1, "hook_hsignal_send", API_RETURN_INT(WEECHAT_RC_ERROR));
signal = NULL;
dict = NULL;
if (!PyArg_ParseTuple (args, "sO", &signal, &dict))
API_WRONG_ARGS(API_RETURN_ERROR);
API_WRONG_ARGS(API_RETURN_INT(WEECHAT_RC_ERROR));
hashtable = weechat_python_dict_to_hashtable (dict,
WEECHAT_SCRIPT_HASHTABLE_DEFAULT_SIZE,
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING);
weechat_hook_hsignal_send (signal, hashtable);
rc = weechat_hook_hsignal_send (signal, hashtable);
if (hashtable)
weechat_hashtable_free (hashtable);
API_RETURN_OK;
API_RETURN_INT(rc);
}
int
+5 -4
View File
@@ -766,8 +766,9 @@ weechat_python_load (const char *filename)
&weechat_python_api_buffer_input_data_cb,
&weechat_python_api_buffer_close_cb);
weechat_hook_signal_send ("python_script_loaded", WEECHAT_HOOK_SIGNAL_STRING,
python_current_script->filename);
(void) weechat_hook_signal_send ("python_script_loaded",
WEECHAT_HOOK_SIGNAL_STRING,
python_current_script->filename);
return 1;
}
@@ -832,8 +833,8 @@ weechat_python_unload (struct t_plugin_script *script)
if (old_interpreter)
PyThreadState_Swap (old_interpreter);
weechat_hook_signal_send ("python_script_unloaded",
WEECHAT_HOOK_SIGNAL_STRING, filename);
(void) weechat_hook_signal_send ("python_script_unloaded",
WEECHAT_HOOK_SIGNAL_STRING, filename);
if (filename)
free (filename);
}
+4 -5
View File
@@ -1146,9 +1146,8 @@ relay_irc_input_send (struct t_relay_client *client, const char *irc_channel,
RELAY_PLUGIN_NAME, buf);
}
weechat_hook_signal_send ("irc_input_send",
WEECHAT_HOOK_SIGNAL_STRING,
buf);
(void) weechat_hook_signal_send ("irc_input_send",
WEECHAT_HOOK_SIGNAL_STRING, buf);
free (buf);
}
free (vbuffer);
@@ -1729,8 +1728,8 @@ relay_irc_recv (struct t_relay_client *client, const char *data)
*/
if (redirect_msg)
{
weechat_hook_hsignal_send ("irc_redirect_command",
hash_redirect);
(void) weechat_hook_hsignal_send ("irc_redirect_command",
hash_redirect);
}
weechat_hashtable_free (hash_redirect);
}
+16 -15
View File
@@ -3011,11 +3011,11 @@ weechat_ruby_api_hook_signal_send (VALUE class, VALUE signal, VALUE type_data,
VALUE signal_data)
{
char *c_signal, *c_type_data, *c_signal_data;
int number;
int number, rc;
API_FUNC(1, "hook_signal_send", API_RETURN_ERROR);
API_FUNC(1, "hook_signal_send", API_RETURN_INT(WEECHAT_RC_ERROR));
if (NIL_P (signal) || NIL_P (type_data) || NIL_P (signal_data))
API_WRONG_ARGS(API_RETURN_ERROR);
API_WRONG_ARGS(API_RETURN_INT(WEECHAT_RC_ERROR));
Check_Type (signal, T_STRING);
Check_Type (type_data, T_STRING);
@@ -3027,26 +3027,26 @@ weechat_ruby_api_hook_signal_send (VALUE class, VALUE signal, VALUE type_data,
{
Check_Type (signal_data, T_STRING);
c_signal_data = StringValuePtr (signal_data);
weechat_hook_signal_send (c_signal, c_type_data, c_signal_data);
API_RETURN_OK;
rc = weechat_hook_signal_send (c_signal, c_type_data, c_signal_data);
API_RETURN_INT(rc);
}
else if (strcmp (c_type_data, WEECHAT_HOOK_SIGNAL_INT) == 0)
{
Check_Type (signal_data, T_FIXNUM);
number = FIX2INT (signal_data);
weechat_hook_signal_send (c_signal, c_type_data, &number);
API_RETURN_OK;
rc = weechat_hook_signal_send (c_signal, c_type_data, &number);
API_RETURN_INT(rc);
}
else if (strcmp (c_type_data, WEECHAT_HOOK_SIGNAL_POINTER) == 0)
{
Check_Type (signal_data, T_STRING);
c_signal_data = StringValuePtr (signal_data);
weechat_hook_signal_send (c_signal, c_type_data,
API_STR2PTR(c_signal_data));
API_RETURN_OK;
rc = weechat_hook_signal_send (c_signal, c_type_data,
API_STR2PTR(c_signal_data));
API_RETURN_INT(rc);
}
API_RETURN_ERROR;
API_RETURN_INT(WEECHAT_RC_ERROR);
}
int
@@ -3119,10 +3119,11 @@ weechat_ruby_api_hook_hsignal_send (VALUE class, VALUE signal, VALUE hashtable)
{
char *c_signal;
struct t_hashtable *c_hashtable;
int rc;
API_FUNC(1, "hook_hsignal_send", API_RETURN_ERROR);
API_FUNC(1, "hook_hsignal_send", API_RETURN_INT(WEECHAT_RC_ERROR));
if (NIL_P (signal) || NIL_P (hashtable))
API_WRONG_ARGS(API_RETURN_ERROR);
API_WRONG_ARGS(API_RETURN_INT(WEECHAT_RC_ERROR));
Check_Type (signal, T_STRING);
Check_Type (hashtable, T_HASH);
@@ -3133,12 +3134,12 @@ weechat_ruby_api_hook_hsignal_send (VALUE class, VALUE signal, VALUE hashtable)
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING);
weechat_hook_hsignal_send (c_signal, c_hashtable);
rc = weechat_hook_hsignal_send (c_signal, c_hashtable);
if (c_hashtable)
weechat_hashtable_free (c_hashtable);
API_RETURN_OK;
API_RETURN_INT(rc);
}
int
+5 -4
View File
@@ -626,8 +626,9 @@ weechat_ruby_load (const char *filename)
&weechat_ruby_api_buffer_input_data_cb,
&weechat_ruby_api_buffer_close_cb);
weechat_hook_signal_send ("ruby_script_loaded", WEECHAT_HOOK_SIGNAL_STRING,
ruby_current_script->filename);
(void) weechat_hook_signal_send ("ruby_script_loaded",
WEECHAT_HOOK_SIGNAL_STRING,
ruby_current_script->filename);
return 1;
}
@@ -686,8 +687,8 @@ weechat_ruby_unload (struct t_plugin_script *script)
if (interpreter)
rb_gc_unregister_address (interpreter);
weechat_hook_signal_send ("ruby_script_unloaded",
WEECHAT_HOOK_SIGNAL_STRING, filename);
(void) weechat_hook_signal_send ("ruby_script_unloaded",
WEECHAT_HOOK_SIGNAL_STRING, filename);
if (filename)
free (filename);
}
+9 -9
View File
@@ -464,9 +464,9 @@ script_action_autoload (const char *name, int quiet, int autoload)
snprintf (str_signal, sizeof (str_signal),
"%s_script_autoload",
script_language[ptr_script->language]);
weechat_hook_signal_send (str_signal,
WEECHAT_HOOK_SIGNAL_STRING,
filename);
(void) weechat_hook_signal_send (str_signal,
WEECHAT_HOOK_SIGNAL_STRING,
filename);
free (filename);
}
if (!quiet)
@@ -546,9 +546,9 @@ script_action_install_process_cb (void *data, const char *command,
snprintf (str_signal, sizeof (str_signal),
"%s_script_install",
script_language[ptr_script->language]);
weechat_hook_signal_send (str_signal,
WEECHAT_HOOK_SIGNAL_STRING,
filename2);
(void) weechat_hook_signal_send (str_signal,
WEECHAT_HOOK_SIGNAL_STRING,
filename2);
free (filename2);
}
free (filename);
@@ -734,9 +734,9 @@ script_action_remove (const char *name, int quiet)
snprintf (str_signal, sizeof (str_signal),
"%s_script_remove",
script_language[ptr_script->language]);
weechat_hook_signal_send (str_signal,
WEECHAT_HOOK_SIGNAL_STRING,
filename);
(void) weechat_hook_signal_send (str_signal,
WEECHAT_HOOK_SIGNAL_STRING,
filename);
free (filename);
}
}
+22 -23
View File
@@ -2918,42 +2918,41 @@ weechat_tcl_api_hook_signal_send (ClientData clientData, Tcl_Interp *interp,
{
Tcl_Obj *objp;
char *signal, *type_data;
int number;
int i;
int number, i, rc;
API_FUNC(1, "hook_signal_send", API_RETURN_ERROR);
API_FUNC(1, "hook_signal_send", API_RETURN_INT(WEECHAT_RC_ERROR));
if (objc < 4)
API_WRONG_ARGS(API_RETURN_ERROR);
API_WRONG_ARGS(API_RETURN_INT(WEECHAT_RC_ERROR));
signal = Tcl_GetStringFromObj (objv[1], &i);
type_data = Tcl_GetStringFromObj (objv[2], &i);
if (strcmp (type_data, WEECHAT_HOOK_SIGNAL_STRING) == 0)
{
weechat_hook_signal_send (signal,
type_data,
Tcl_GetStringFromObj (objv[3], &i)); /* signal_data */
API_RETURN_OK;
rc = weechat_hook_signal_send (signal,
type_data,
Tcl_GetStringFromObj (objv[3], &i)); /* signal_data */
API_RETURN_INT(rc);
}
else if (strcmp (type_data, WEECHAT_HOOK_SIGNAL_INT) == 0)
{
if (Tcl_GetIntFromObj (interp, objv[3], &number) != TCL_OK)
{
API_RETURN_ERROR;
API_RETURN_INT(WEECHAT_RC_ERROR);
}
weechat_hook_signal_send (signal,
type_data,
&number); /* signal_data */
API_RETURN_OK;
rc = weechat_hook_signal_send (signal,
type_data,
&number); /* signal_data */
API_RETURN_INT(rc);
}
else if (strcmp (type_data, WEECHAT_HOOK_SIGNAL_POINTER) == 0)
{
weechat_hook_signal_send (signal,
type_data,
API_STR2PTR(Tcl_GetStringFromObj (objv[3], &i))); /* signal_data */
API_RETURN_OK;
rc = weechat_hook_signal_send (signal,
type_data,
API_STR2PTR(Tcl_GetStringFromObj (objv[3], &i))); /* signal_data */
API_RETURN_INT(rc);
}
API_RETURN_ERROR;
API_RETURN_INT(WEECHAT_RC_ERROR);
}
int
@@ -3025,11 +3024,11 @@ weechat_tcl_api_hook_hsignal_send (ClientData clientData, Tcl_Interp *interp,
Tcl_Obj *objp;
char *signal;
struct t_hashtable *hashtable;
int i;
int i, rc;
API_FUNC(1, "hook_hsignal_send", API_RETURN_ERROR);
API_FUNC(1, "hook_hsignal_send", API_RETURN_INT(WEECHAT_RC_ERROR));
if (objc < 3)
API_WRONG_ARGS(API_RETURN_ERROR);
API_WRONG_ARGS(API_RETURN_INT(WEECHAT_RC_ERROR));
signal = Tcl_GetStringFromObj (objv[1], &i);
hashtable = weechat_tcl_dict_to_hashtable (interp, objv[2],
@@ -3037,12 +3036,12 @@ weechat_tcl_api_hook_hsignal_send (ClientData clientData, Tcl_Interp *interp,
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING);
weechat_hook_hsignal_send (signal, hashtable);
rc = weechat_hook_hsignal_send (signal, hashtable);
if (hashtable)
weechat_hashtable_free (hashtable);
API_RETURN_OK;
API_RETURN_INT(rc);
}
int
+5 -4
View File
@@ -364,8 +364,9 @@ weechat_tcl_load (const char *filename)
&weechat_tcl_api_buffer_input_data_cb,
&weechat_tcl_api_buffer_close_cb);
weechat_hook_signal_send ("tcl_script_loaded", WEECHAT_HOOK_SIGNAL_STRING,
tcl_current_script->filename);
(void) weechat_hook_signal_send ("tcl_script_loaded",
WEECHAT_HOOK_SIGNAL_STRING,
tcl_current_script->filename);
return 1;
}
@@ -422,8 +423,8 @@ weechat_tcl_unload (struct t_plugin_script *script)
Tcl_DeleteInterp(interp);
weechat_hook_signal_send ("tcl_script_unloaded",
WEECHAT_HOOK_SIGNAL_STRING, filename);
(void) weechat_hook_signal_send ("tcl_script_unloaded",
WEECHAT_HOOK_SIGNAL_STRING, filename);
if (filename)
free (filename);
}
+5 -5
View File
@@ -57,7 +57,7 @@ struct timeval;
* please change the date with current one; for a second change at same
* date, increment the 01, otherwise please keep 01.
*/
#define WEECHAT_PLUGIN_API_VERSION "20140122-01"
#define WEECHAT_PLUGIN_API_VERSION "20140210-01"
/* macros for defining plugin infos */
#define WEECHAT_PLUGIN_NAME(__name) \
@@ -591,16 +591,16 @@ struct t_weechat_plugin
const char *type_data,
void *signal_data),
void *callback_data);
void (*hook_signal_send) (const char *signal, const char *type_data,
void *signal_data);
int (*hook_signal_send) (const char *signal, const char *type_data,
void *signal_data);
struct t_hook *(*hook_hsignal) (struct t_weechat_plugin *plugin,
const char *signal,
int (*callback)(void *data,
const char *signal,
struct t_hashtable *hashtable),
void *callback_data);
void (*hook_hsignal_send) (const char *signal,
struct t_hashtable *hashtable);
int (*hook_hsignal_send) (const char *signal,
struct t_hashtable *hashtable);
struct t_hook *(*hook_config) (struct t_weechat_plugin *plugin,
const char *option,
int (*callback)(void *data,
+3 -2
View File
@@ -424,8 +424,9 @@ xfer_send_signal (struct t_xfer *xfer, const char *signal)
{
if (xfer_add_to_infolist (infolist, xfer))
{
weechat_hook_signal_send (signal, WEECHAT_HOOK_SIGNAL_POINTER,
infolist);
(void) weechat_hook_signal_send (signal,
WEECHAT_HOOK_SIGNAL_POINTER,
infolist);
}
weechat_infolist_free (infolist);
}