python: fix integer arguments in hook_connect() and hook_fd() callbacks
This commit is contained in:
parent
d4a6758b8b
commit
515334e53b
@ -15,6 +15,14 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
(file _ReleaseNotes.adoc_ in sources).
|
||||
|
||||
|
||||
[[v2.1]]
|
||||
== Version 2.1 (under dev)
|
||||
|
||||
Bug fixes::
|
||||
|
||||
* python: fix arguments status/gnutls_rc/sock in hook_connect() callback
|
||||
* python: fix argument fd in hook_fd() callback
|
||||
|
||||
[[v2.0]]
|
||||
== Version 2.0 (2017-12-03)
|
||||
|
||||
|
@ -2255,12 +2255,12 @@ weechat_python_api_hook_fd_cb (const void *pointer, void *data, int fd)
|
||||
if (ptr_function && ptr_function[0])
|
||||
{
|
||||
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
|
||||
func_argv[1] = &fd;
|
||||
func_argv[1] = PyLong_FromLong((long)fd);
|
||||
|
||||
rc = (int *) weechat_python_exec (script,
|
||||
WEECHAT_SCRIPT_EXEC_INT,
|
||||
ptr_function,
|
||||
"si", func_argv);
|
||||
"sO", func_argv);
|
||||
|
||||
if (!rc)
|
||||
ret = WEECHAT_RC_ERROR;
|
||||
@ -2269,6 +2269,10 @@ weechat_python_api_hook_fd_cb (const void *pointer, void *data, int fd)
|
||||
ret = *rc;
|
||||
free (rc);
|
||||
}
|
||||
if (func_argv[1])
|
||||
{
|
||||
Py_XDECREF((PyObject *)func_argv[1]);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -2449,16 +2453,16 @@ weechat_python_api_hook_connect_cb (const void *pointer, void *data,
|
||||
if (ptr_function && ptr_function[0])
|
||||
{
|
||||
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
|
||||
func_argv[1] = &status;
|
||||
func_argv[2] = &gnutls_rc;
|
||||
func_argv[3] = &sock;
|
||||
func_argv[1] = PyLong_FromLong((long)status);
|
||||
func_argv[2] = PyLong_FromLong((long)gnutls_rc);
|
||||
func_argv[3] = PyLong_FromLong((long)sock);
|
||||
func_argv[4] = (ip_address) ? (char *)ip_address : empty_arg;
|
||||
func_argv[5] = (error) ? (char *)error : empty_arg;
|
||||
|
||||
rc = (int *) weechat_python_exec (script,
|
||||
WEECHAT_SCRIPT_EXEC_INT,
|
||||
ptr_function,
|
||||
"siiiss", func_argv);
|
||||
"sOOOss", func_argv);
|
||||
|
||||
if (!rc)
|
||||
ret = WEECHAT_RC_ERROR;
|
||||
@ -2467,6 +2471,18 @@ weechat_python_api_hook_connect_cb (const void *pointer, void *data,
|
||||
ret = *rc;
|
||||
free (rc);
|
||||
}
|
||||
if (func_argv[1])
|
||||
{
|
||||
Py_XDECREF((PyObject *)func_argv[1]);
|
||||
}
|
||||
if (func_argv[2])
|
||||
{
|
||||
Py_XDECREF((PyObject *)func_argv[2]);
|
||||
}
|
||||
if (func_argv[3])
|
||||
{
|
||||
Py_XDECREF((PyObject *)func_argv[3]);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user