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

Add data string argument in all callbacks of script API, display script name in error messages for scripts

This commit is contained in:
Sebastien Helleu
2009-05-02 16:17:31 +02:00
parent a09fc84726
commit 5f1c0c8254
28 changed files with 3512 additions and 2754 deletions
+23
View File
@@ -21,6 +21,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include "../weechat-plugin.h"
#include "script.h"
@@ -41,6 +42,7 @@ script_callback_alloc ()
{
new_script_callback->script = NULL;
new_script_callback->function = NULL;
new_script_callback->data = NULL;
new_script_callback->config_file = NULL;
new_script_callback->config_section = NULL;
new_script_callback->config_option = NULL;
@@ -54,6 +56,24 @@ script_callback_alloc ()
return NULL;
}
/*
* script_callback_init: initialize callback with script, function and data
*/
void
script_callback_init (struct t_script_callback *script_callback,
struct t_plugin_script *script,
const char *function,
const char *data)
{
if (script_callback)
{
script_callback->script = script;
script_callback->function = (function) ? strdup (function) : NULL;
script_callback->data = (data) ? strdup (data) : NULL;
}
}
/*
* script_callback_add: add a callback to list
*/
@@ -78,6 +98,8 @@ script_callback_free_data (struct t_script_callback *script_callback)
{
if (script_callback->function)
free (script_callback->function);
if (script_callback->data)
free (script_callback->data);
}
/*
@@ -128,6 +150,7 @@ script_callback_print_log (struct t_weechat_plugin *weechat_plugin,
weechat_log_printf (" [callback (addr:0x%lx)]", script_callback);
weechat_log_printf (" script. . . . . . . : 0x%lx", script_callback->script);
weechat_log_printf (" function. . . . . . : '%s'", script_callback->function);
weechat_log_printf (" data. . . . . . . . : '%s'", script_callback->data);
weechat_log_printf (" config_file . . . . : 0x%lx", script_callback->config_file);
weechat_log_printf (" config_section. . . : 0x%lx", script_callback->config_section);
weechat_log_printf (" config_option . . . : 0x%lx", script_callback->config_option);