1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-30 06:46:38 +02:00

scripts: fix type of argument "rc" in callback of hook_process (from string to integer)

This commit is contained in:
Sebastien Helleu
2012-05-01 09:17:13 +02:00
parent f4a07da0a2
commit d282d9fd06
8 changed files with 26 additions and 32 deletions
+3 -1
View File
@@ -1,7 +1,7 @@
WeeChat ChangeLog
=================
Sébastien Helleu <flashcode@flashtux.org>
v0.3.8-dev, 2012-04-19
v0.3.8-dev, 2012-05-01
Version 0.3.8 (under dev!)
@@ -26,6 +26,8 @@ Version 0.3.8 (under dev!)
* api: display warning in scripts when invalid pointers (malformed strings) are
given to plugin API functions (warning displayed if debug for plugin is >= 1)
* api: add list "gui_buffer_last_displayed" in hdata "buffer"
* scripts: fix type of argument "rc" in callback of hook_process (from string to
integer)
* guile: add missing function "hook_process_hashtable" in API
* irc: add option "-pending" for command /disconnect (cancel auto-reconnection
on servers currently reconnecting) (task #11985)
@@ -2361,25 +2361,23 @@ weechat_guile_api_hook_process_cb (void *data,
{
struct t_script_callback *script_callback;
void *func_argv[5];
char str_rc[32], empty_arg[1] = { '\0' };
char empty_arg[1] = { '\0' };
int *rc, ret;
script_callback = (struct t_script_callback *)data;
if (script_callback && script_callback->function && script_callback->function[0])
{
snprintf (str_rc, sizeof (str_rc), "%d", return_code);
func_argv[0] = (script_callback->data) ? script_callback->data : empty_arg;
func_argv[1] = (command) ? (char *)command : empty_arg;
func_argv[2] = str_rc;
func_argv[2] = &return_code;
func_argv[3] = (out) ? (char *)out : empty_arg;
func_argv[4] = (err) ? (char *)err : empty_arg;
rc = (int *) weechat_guile_exec (script_callback->script,
WEECHAT_SCRIPT_EXEC_INT,
script_callback->function,
"sssss", func_argv);
"ssiss", func_argv);
if (!rc)
ret = WEECHAT_RC_ERROR;
+3 -5
View File
@@ -2605,25 +2605,23 @@ weechat_lua_api_hook_process_cb (void *data,
{
struct t_script_callback *script_callback;
void *func_argv[5];
char str_rc[32], empty_arg[1] = { '\0' };
char empty_arg[1] = { '\0' };
int *rc, ret;
script_callback = (struct t_script_callback *)data;
if (script_callback && script_callback->function && script_callback->function[0])
{
snprintf (str_rc, sizeof (str_rc), "%d", return_code);
func_argv[0] = (script_callback->data) ? script_callback->data : empty_arg;
func_argv[1] = (command) ? (char *)command : empty_arg;
func_argv[2] = str_rc;
func_argv[2] = &return_code;
func_argv[3] = (out) ? (char *)out : empty_arg;
func_argv[4] = (err) ? (char *)err : empty_arg;
rc = (int *) weechat_lua_exec (script_callback->script,
WEECHAT_SCRIPT_EXEC_INT,
script_callback->function,
"sssss", func_argv);
"ssiss", func_argv);
if (!rc)
ret = WEECHAT_RC_ERROR;
+3 -5
View File
@@ -2447,25 +2447,23 @@ weechat_perl_api_hook_process_cb (void *data,
{
struct t_script_callback *script_callback;
void *func_argv[5];
char str_rc[32], empty_arg[1] = { '\0' };
char empty_arg[1] = { '\0' };
int *rc, ret;
script_callback = (struct t_script_callback *)data;
if (script_callback && script_callback->function && script_callback->function[0])
{
snprintf (str_rc, sizeof (str_rc), "%d", return_code);
func_argv[0] = (script_callback->data) ? script_callback->data : empty_arg;
func_argv[1] = (command) ? (char *)command : empty_arg;
func_argv[2] = str_rc;
func_argv[2] = &return_code;
func_argv[3] = (out) ? (char *)out : empty_arg;
func_argv[4] = (err) ? (char *)err : empty_arg;
rc = (int *) weechat_perl_exec (script_callback->script,
WEECHAT_SCRIPT_EXEC_INT,
script_callback->function,
"sssss", func_argv);
"ssiss", func_argv);
if (!rc)
ret = WEECHAT_RC_ERROR;
@@ -2547,25 +2547,23 @@ weechat_python_api_hook_process_cb (void *data,
{
struct t_script_callback *script_callback;
void *func_argv[5];
char str_rc[32], empty_arg[1] = { '\0' };
char empty_arg[1] = { '\0' };
int *rc, ret;
script_callback = (struct t_script_callback *)data;
if (script_callback && script_callback->function && script_callback->function[0])
{
snprintf (str_rc, sizeof (str_rc), "%d", return_code);
func_argv[0] = (script_callback->data) ? script_callback->data : empty_arg;
func_argv[1] = (command) ? (char *)command : empty_arg;
func_argv[2] = str_rc;
func_argv[2] = PyLong_FromLong((long)return_code);
func_argv[3] = (out) ? (char *)out : empty_arg;
func_argv[4] = (err) ? (char *)err : empty_arg;
rc = (int *) weechat_python_exec (script_callback->script,
WEECHAT_SCRIPT_EXEC_INT,
script_callback->function,
"sssss", func_argv);
"ssOss", func_argv);
if (!rc)
ret = WEECHAT_RC_ERROR;
@@ -2574,6 +2572,10 @@ weechat_python_api_hook_process_cb (void *data,
ret = *rc;
free (rc);
}
if (func_argv[2])
{
Py_XDECREF((PyObject *)func_argv[2]);
}
return ret;
}
+3 -5
View File
@@ -2920,25 +2920,23 @@ weechat_ruby_api_hook_process_cb (void *data,
{
struct t_script_callback *script_callback;
void *func_argv[5];
char str_rc[32], empty_arg[1] = { '\0' };
char empty_arg[1] = { '\0' };
int *rc, ret;
script_callback = (struct t_script_callback *)data;
if (script_callback && script_callback->function && script_callback->function[0])
{
snprintf (str_rc, sizeof (str_rc), "%d", return_code);
func_argv[0] = (script_callback->data) ? script_callback->data : empty_arg;
func_argv[1] = (command) ? (char *)command : empty_arg;
func_argv[2] = str_rc;
func_argv[2] = &return_code;
func_argv[3] = (out) ? (char *)out : empty_arg;
func_argv[4] = (err) ? (char *)err : empty_arg;
rc = (int *) weechat_ruby_exec (script_callback->script,
WEECHAT_SCRIPT_EXEC_INT,
script_callback->function,
"sssss", func_argv);
"ssiss", func_argv);
if (!rc)
ret = WEECHAT_RC_ERROR;
+3 -5
View File
@@ -2869,25 +2869,23 @@ weechat_tcl_api_hook_process_cb (void *data,
{
struct t_script_callback *script_callback;
void *func_argv[5];
char str_rc[32], empty_arg[1] = { '\0' };
char empty_arg[1] = { '\0' };
int *rc, ret;
script_callback = (struct t_script_callback *)data;
if (script_callback && script_callback->function && script_callback->function[0])
{
snprintf (str_rc, sizeof (str_rc), "%d", return_code);
func_argv[0] = (script_callback->data) ? script_callback->data : empty_arg;
func_argv[1] = (command) ? (char *)command : empty_arg;
func_argv[2] = str_rc;
func_argv[2] = &return_code;
func_argv[3] = (out) ? (char *)out : empty_arg;
func_argv[4] = (err) ? (char *)err : empty_arg;
rc = (int *) weechat_tcl_exec (script_callback->script,
WEECHAT_SCRIPT_EXEC_INT,
script_callback->function,
"sssss", func_argv);
"ssiss", func_argv);
if (!rc)
ret = WEECHAT_RC_ERROR;
+1 -1
View File
@@ -208,7 +208,7 @@ weechat_tcl_exec (struct t_plugin_script *script,
break;
case 'i': /* integer */
Tcl_ListObjAppendElement (interp, cmdlist,
Tcl_NewStringObj (argv[i], -1));
Tcl_NewIntObj (*((int *)argv[i])));
break;
case 'h': /* hash */
Tcl_ListObjAppendElement (interp, cmdlist,