summaryrefslogtreecommitdiff
path: root/src/plugins/scripts/perl
diff options
context:
space:
mode:
authorSebastien Helleu <flashcode@flashtux.org>2009-02-19 14:12:18 +0100
committerSebastien Helleu <flashcode@flashtux.org>2009-02-19 14:12:18 +0100
commit78fe938e4f4c18eeac64b50b9858aec40e7f85b2 (patch)
treeb1faae8dfc04378f1d6434c7b98f34e99992bd34 /src/plugins/scripts/perl
parent0ca39f974b6419ca9a428d2f8cde72ee20a3f8c0 (diff)
downloadweechat-78fe938e4f4c18eeac64b50b9858aec40e7f85b2.zip
Fix bug with arguments of config_read callback in script plugins
Diffstat (limited to 'src/plugins/scripts/perl')
-rw-r--r--src/plugins/scripts/perl/weechat-perl-api.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/plugins/scripts/perl/weechat-perl-api.c b/src/plugins/scripts/perl/weechat-perl-api.c
index eb4dd7851..aaecfd70c 100644
--- a/src/plugins/scripts/perl/weechat-perl-api.c
+++ b/src/plugins/scripts/perl/weechat-perl-api.c
@@ -896,10 +896,12 @@ static XS (XS_weechat_api_config_new)
void
weechat_perl_api_config_section_read_cb (void *data,
struct t_config_file *config_file,
- const char *option_name, const char *value)
+ struct t_config_section *section,
+ const char *option_name,
+ const char *value)
{
struct t_script_callback *script_callback;
- char *perl_argv[4];
+ char *perl_argv[5];
int *rc;
script_callback = (struct t_script_callback *)data;
@@ -907,9 +909,10 @@ weechat_perl_api_config_section_read_cb (void *data,
if (script_callback->function && script_callback->function[0])
{
perl_argv[0] = script_ptr2str (config_file);
- perl_argv[1] = (char *)option_name;
- perl_argv[2] = (char *)value;
- perl_argv[3] = NULL;
+ perl_argv[1] = script_ptr2str (section);
+ perl_argv[2] = (char *)option_name;
+ perl_argv[3] = (char *)value;
+ perl_argv[4] = NULL;
rc = (int *) weechat_perl_exec (script_callback->script,
WEECHAT_SCRIPT_EXEC_INT,
@@ -920,6 +923,8 @@ weechat_perl_api_config_section_read_cb (void *data,
free (rc);
if (perl_argv[0])
free (perl_argv[0]);
+ if (perl_argv[1])
+ free (perl_argv[1]);
}
}