1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-26 12:56:37 +02:00

api: do not expect any return value in callbacks change/delete of config_new_option (scripting API)

This commit is contained in:
Sébastien Helleu
2022-10-15 21:46:00 +02:00
parent a1057c9a03
commit 56dbd871ea
12 changed files with 105 additions and 98 deletions
+10 -12
View File
@@ -1232,10 +1232,9 @@ weechat_guile_api_config_option_change_cb (const void *pointer, void *data,
struct t_config_option *option)
{
struct t_plugin_script *script;
void *func_argv[2];
void *func_argv[2], *rc;
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc;
script = (struct t_plugin_script *)pointer;
plugin_script_get_function_and_data (data, &ptr_function, &ptr_data);
@@ -1245,10 +1244,10 @@ weechat_guile_api_config_option_change_cb (const void *pointer, void *data,
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = (char *)API_PTR2STR(option);
rc = (int *) weechat_guile_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ss", func_argv);
rc = weechat_guile_exec (script,
WEECHAT_SCRIPT_EXEC_IGNORE,
ptr_function,
"ss", func_argv);
if (rc)
free (rc);
@@ -1260,10 +1259,9 @@ weechat_guile_api_config_option_delete_cb (const void *pointer, void *data,
struct t_config_option *option)
{
struct t_plugin_script *script;
void *func_argv[2];
void *func_argv[2], *rc;
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc;
script = (struct t_plugin_script *)pointer;
plugin_script_get_function_and_data (data, &ptr_function, &ptr_data);
@@ -1273,10 +1271,10 @@ weechat_guile_api_config_option_delete_cb (const void *pointer, void *data,
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = (char *)API_PTR2STR(option);
rc = (int *) weechat_guile_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ss", func_argv);
rc = weechat_guile_exec (script,
WEECHAT_SCRIPT_EXEC_IGNORE,
ptr_function,
"ss", func_argv);
if (rc)
free (rc);
+10 -12
View File
@@ -1149,10 +1149,9 @@ weechat_js_api_config_option_change_cb (const void *pointer, void *data,
struct t_config_option *option)
{
struct t_plugin_script *script;
void *func_argv[2];
void *func_argv[2], *rc;
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc;
script = (struct t_plugin_script *)pointer;
plugin_script_get_function_and_data (data, &ptr_function, &ptr_data);
@@ -1162,10 +1161,10 @@ weechat_js_api_config_option_change_cb (const void *pointer, void *data,
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = (char *)API_PTR2STR(option);
rc = (int *)weechat_js_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ss", func_argv);
rc = weechat_js_exec (script,
WEECHAT_SCRIPT_EXEC_IGNORE,
ptr_function,
"ss", func_argv);
if (rc)
free (rc);
@@ -1177,10 +1176,9 @@ weechat_js_api_config_option_delete_cb (const void *pointer, void *data,
struct t_config_option *option)
{
struct t_plugin_script *script;
void *func_argv[2];
void *func_argv[2], *rc;
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc;
script = (struct t_plugin_script *)pointer;
plugin_script_get_function_and_data (data, &ptr_function, &ptr_data);
@@ -1190,10 +1188,10 @@ weechat_js_api_config_option_delete_cb (const void *pointer, void *data,
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = (char *)API_PTR2STR(option);
rc = (int *)weechat_js_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ss", func_argv);
rc = weechat_js_exec (script,
WEECHAT_SCRIPT_EXEC_IGNORE,
ptr_function,
"ss", func_argv);
if (rc)
free (rc);
+10 -12
View File
@@ -1262,10 +1262,9 @@ weechat_lua_api_config_option_change_cb (const void *pointer, void *data,
struct t_config_option *option)
{
struct t_plugin_script *script;
void *func_argv[2];
void *func_argv[2], *rc;
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc;
script = (struct t_plugin_script *)pointer;
plugin_script_get_function_and_data (data, &ptr_function, &ptr_data);
@@ -1275,10 +1274,10 @@ weechat_lua_api_config_option_change_cb (const void *pointer, void *data,
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = (char *)API_PTR2STR(option);
rc = (int *) weechat_lua_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ss", func_argv);
rc = weechat_lua_exec (script,
WEECHAT_SCRIPT_EXEC_IGNORE,
ptr_function,
"ss", func_argv);
if (rc)
free (rc);
@@ -1290,10 +1289,9 @@ weechat_lua_api_config_option_delete_cb (const void *pointer, void *data,
struct t_config_option *option)
{
struct t_plugin_script *script;
void *func_argv[2];
void *func_argv[2], *rc;
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc;
script = (struct t_plugin_script *)pointer;
plugin_script_get_function_and_data (data, &ptr_function, &ptr_data);
@@ -1303,10 +1301,10 @@ weechat_lua_api_config_option_delete_cb (const void *pointer, void *data,
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = (char *)API_PTR2STR(option);
rc = (int *) weechat_lua_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ss", func_argv);
rc = weechat_lua_exec (script,
WEECHAT_SCRIPT_EXEC_IGNORE,
ptr_function,
"ss", func_argv);
if (rc)
free (rc);
+10 -12
View File
@@ -1203,10 +1203,9 @@ weechat_perl_api_config_option_change_cb (const void *pointer, void *data,
struct t_config_option *option)
{
struct t_plugin_script *script;
void *func_argv[2];
void *func_argv[2], *rc;
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc;
script = (struct t_plugin_script *)pointer;
plugin_script_get_function_and_data (data, &ptr_function, &ptr_data);
@@ -1216,10 +1215,10 @@ weechat_perl_api_config_option_change_cb (const void *pointer, void *data,
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = (char *)API_PTR2STR(option);
rc = (int *) weechat_perl_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ss", func_argv);
rc = weechat_perl_exec (script,
WEECHAT_SCRIPT_EXEC_IGNORE,
ptr_function,
"ss", func_argv);
if (rc)
free (rc);
@@ -1231,10 +1230,9 @@ weechat_perl_api_config_option_delete_cb (const void *pointer, void *data,
struct t_config_option *option)
{
struct t_plugin_script *script;
void *func_argv[2];
void *func_argv[2], *rc;
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc;
script = (struct t_plugin_script *)pointer;
plugin_script_get_function_and_data (data, &ptr_function, &ptr_data);
@@ -1244,10 +1242,10 @@ weechat_perl_api_config_option_delete_cb (const void *pointer, void *data,
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = (char *)API_PTR2STR(option);
rc = (int *) weechat_perl_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ss", func_argv);
rc = weechat_perl_exec (script,
WEECHAT_SCRIPT_EXEC_IGNORE,
ptr_function,
"ss", func_argv);
if (rc)
free (rc);
+21 -11
View File
@@ -186,12 +186,14 @@ API_FUNC(register)
static void
weechat_php_cb (const void *pointer, void *data, void **func_argv,
const char *func_types, int func_type, void *rc)
const char *func_types, int ret_type, void *rc)
{
struct t_plugin_script *script;
const char *ptr_function, *ptr_data;
void *ret;
ret = NULL;
script = (struct t_plugin_script *)pointer;
plugin_script_get_function_and_data (data, &ptr_function, &ptr_data);
@@ -202,20 +204,25 @@ weechat_php_cb (const void *pointer, void *data, void **func_argv,
goto weechat_php_cb_err;
}
ret = weechat_php_exec (script, func_type, ptr_function,
ret = weechat_php_exec (script, ret_type, ptr_function,
func_types, func_argv);
if (!ret)
if ((ret_type != WEECHAT_SCRIPT_EXEC_IGNORE) && !ret)
{
goto weechat_php_cb_err;
}
if (func_type == WEECHAT_SCRIPT_EXEC_INT)
if (ret_type == WEECHAT_SCRIPT_EXEC_IGNORE)
{
if (ret)
free (ret);
}
else if (ret_type == WEECHAT_SCRIPT_EXEC_INT)
{
*((int *)rc) = *((int *)ret);
free (ret);
}
else if (func_type == WEECHAT_SCRIPT_EXEC_HASHTABLE)
else if (ret_type == WEECHAT_SCRIPT_EXEC_HASHTABLE)
{
*((struct t_hashtable **)rc) = (struct t_hashtable *)ret;
}
@@ -226,11 +233,16 @@ weechat_php_cb (const void *pointer, void *data, void **func_argv,
return;
weechat_php_cb_err:
if (func_type == WEECHAT_SCRIPT_EXEC_INT)
if (ret_type == WEECHAT_SCRIPT_EXEC_IGNORE)
{
if (ret)
free (ret);
}
else if (ret_type == WEECHAT_SCRIPT_EXEC_INT)
{
*((int *)rc) = WEECHAT_RC_ERROR;
}
else if (func_type == WEECHAT_SCRIPT_EXEC_HASHTABLE)
else if (ret_type == WEECHAT_SCRIPT_EXEC_HASHTABLE)
{
*((struct t_hashtable **)rc) = NULL;
}
@@ -1273,13 +1285,12 @@ weechat_php_api_config_option_change_cb (const void *pointer,
void *data,
struct t_config_option *option)
{
int *rc;
void *func_argv[2];
func_argv[1] = (char *)API_PTR2STR(option);
weechat_php_cb (pointer, data, func_argv, "ss",
WEECHAT_SCRIPT_EXEC_INT, &rc);
WEECHAT_SCRIPT_EXEC_IGNORE, NULL);
}
static void
@@ -1287,13 +1298,12 @@ weechat_php_api_config_option_delete_cb (const void *pointer,
void *data,
struct t_config_option *option)
{
int rc;
void *func_argv[2];
func_argv[1] = (char *)API_PTR2STR(option);
weechat_php_cb (pointer, data, func_argv, "ss",
WEECHAT_SCRIPT_EXEC_INT, &rc);
WEECHAT_SCRIPT_EXEC_IGNORE, NULL);
}
API_FUNC(config_new_option)
+10 -12
View File
@@ -1195,10 +1195,9 @@ weechat_python_api_config_option_change_cb (const void *pointer, void *data,
struct t_config_option *option)
{
struct t_plugin_script *script;
void *func_argv[2];
void *func_argv[2], *rc;
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc;
script = (struct t_plugin_script *)pointer;
plugin_script_get_function_and_data (data, &ptr_function, &ptr_data);
@@ -1208,10 +1207,10 @@ weechat_python_api_config_option_change_cb (const void *pointer, void *data,
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = (char *)API_PTR2STR(option);
rc = (int *) weechat_python_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ss", func_argv);
rc = weechat_python_exec (script,
WEECHAT_SCRIPT_EXEC_IGNORE,
ptr_function,
"ss", func_argv);
if (rc)
free (rc);
@@ -1223,10 +1222,9 @@ weechat_python_api_config_option_delete_cb (const void *pointer, void *data,
struct t_config_option *option)
{
struct t_plugin_script *script;
void *func_argv[2];
void *func_argv[2], *rc;
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc;
script = (struct t_plugin_script *)pointer;
plugin_script_get_function_and_data (data, &ptr_function, &ptr_data);
@@ -1236,10 +1234,10 @@ weechat_python_api_config_option_delete_cb (const void *pointer, void *data,
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = (char *)API_PTR2STR(option);
rc = (int *) weechat_python_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ss", func_argv);
rc = weechat_python_exec (script,
WEECHAT_SCRIPT_EXEC_IGNORE,
ptr_function,
"ss", func_argv);
if (rc)
free (rc);
+10 -12
View File
@@ -1437,10 +1437,9 @@ weechat_ruby_api_config_option_change_cb (const void *pointer, void *data,
struct t_config_option *option)
{
struct t_plugin_script *script;
void *func_argv[2];
void *func_argv[2], *rc;
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc;
script = (struct t_plugin_script *)pointer;
plugin_script_get_function_and_data (data, &ptr_function, &ptr_data);
@@ -1450,10 +1449,10 @@ weechat_ruby_api_config_option_change_cb (const void *pointer, void *data,
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = (char *)API_PTR2STR(option);
rc = (int *) weechat_ruby_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ss", func_argv);
rc = weechat_ruby_exec (script,
WEECHAT_SCRIPT_EXEC_IGNORE,
ptr_function,
"ss", func_argv);
if (rc)
free (rc);
@@ -1465,10 +1464,9 @@ weechat_ruby_api_config_option_delete_cb (const void *pointer, void *data,
struct t_config_option *option)
{
struct t_plugin_script *script;
void *func_argv[2];
void *func_argv[2], *rc;
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc;
script = (struct t_plugin_script *)pointer;
plugin_script_get_function_and_data (data, &ptr_function, &ptr_data);
@@ -1478,10 +1476,10 @@ weechat_ruby_api_config_option_delete_cb (const void *pointer, void *data,
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = (char *)API_PTR2STR(option);
rc = (int *) weechat_ruby_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ss", func_argv);
rc = weechat_ruby_exec (script,
WEECHAT_SCRIPT_EXEC_IGNORE,
ptr_function,
"ss", func_argv);
if (rc)
free (rc);
+10 -12
View File
@@ -1410,10 +1410,9 @@ weechat_tcl_api_config_option_change_cb (const void *pointer, void *data,
struct t_config_option *option)
{
struct t_plugin_script *script;
void *func_argv[2];
void *func_argv[2], *rc;
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc;
script = (struct t_plugin_script *)pointer;
plugin_script_get_function_and_data (data, &ptr_function, &ptr_data);
@@ -1423,10 +1422,10 @@ weechat_tcl_api_config_option_change_cb (const void *pointer, void *data,
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = (char *)API_PTR2STR(option);
rc = (int *) weechat_tcl_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ss", func_argv);
rc = weechat_tcl_exec (script,
WEECHAT_SCRIPT_EXEC_IGNORE,
ptr_function,
"ss", func_argv);
if (rc)
free (rc);
@@ -1438,10 +1437,9 @@ weechat_tcl_api_config_option_delete_cb (const void *pointer, void *data,
struct t_config_option *option)
{
struct t_plugin_script *script;
void *func_argv[2];
void *func_argv[2], *rc;
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc;
script = (struct t_plugin_script *)pointer;
plugin_script_get_function_and_data (data, &ptr_function, &ptr_data);
@@ -1451,10 +1449,10 @@ weechat_tcl_api_config_option_delete_cb (const void *pointer, void *data,
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = (char *)API_PTR2STR(option);
rc = (int *) weechat_tcl_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ss", func_argv);
rc = weechat_tcl_exec (script,
WEECHAT_SCRIPT_EXEC_IGNORE,
ptr_function,
"ss", func_argv);
if (rc)
free (rc);