api: change type of arguments status/gnutls_rc/sock in hook_connect() callback from string to integer (in scripts)

v2.8-utf8proc
Sébastien Helleu 2017-08-13 10:40:01 +02:00
parent bf0df282a2
commit bfef8da84c
13 changed files with 70 additions and 67 deletions

View File

@ -34,6 +34,7 @@ Bug fixes::
* core: fix cast of time_t (to "long long" instead of "long") (issue #1051)
* core: call the config hook when options are renamed or removed
* api: change type of arguments status/gnutls_rc/sock in hook_connect() callback from string to integer (in scripts)
* api: change type of argument fd in hook_fd() callback from string to integer (in scripts)
* buflist: fix crash in auto-scroll of bar when the buflist item is not the first item in the bar
* relay: fix send of "PART" command in backlog (irc protocol)

View File

@ -20,6 +20,14 @@ https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog]
[[v2.0]]
== Version 2.0 (under dev)
[[v2.0_hook_connect]]
=== Function hook_connect
In scripts, the arguments _status_, _gnutls_rc_ and _sock_ sent to the callback
of _hook_connect_ are now integers (they were strings in older releases). +
To be compatible with all versions, it is recommended to convert the argument
to integer before using it, for example in Python: `int(sock)`.
[[v2.0_hook_fd]]
=== Function hook_fd

View File

@ -8796,7 +8796,7 @@ hook3 = weechat.hook_process_hashtable("sh",
==== hook_connect
_Updated in 1.5._
_Updated in 1.5, 2.0._
Hook a connection (background connection to a remote host).
@ -8879,6 +8879,12 @@ Return value:
* pointer to new hook, NULL if error occurred
[IMPORTANT]
In scripts, with WeeChat ≥ 2.0, the callback arguments _status_, _gnutls_rc_
and _sock_ are integers (with WeeChat ≤ 1.9, they were strings). +
To be compatible with all versions, it is recommended to convert the argument
to integer before using it, for example in Python: `int(sock)`.
C example:
[source,C]

View File

@ -8961,7 +8961,7 @@ hook3 = weechat.hook_process_hashtable("sh",
==== hook_connect
_Mis à jour dans la 1.5._
_Mis à jour dans la 1.5, 2.0._
Accrocher une connexion (connexion à une machine distante en tâche de fond).
@ -9050,6 +9050,13 @@ Valeur de retour :
* pointeur vers le nouveau "hook", NULL en cas d'erreur
[IMPORTANT]
Dans les scripts, avec WeeChat ≥ 2.0, les paramètres de la fonction de rappel
_status_, _gnutls_rc_ et _sock_ sont des entiers (avec WeeChat ≤ 1.9, ils étaient
des chaînes). +
Pour être compatible avec toutes les versions, il est recommandé de convertir
le paramètre avant de l'utiliser, par exemple en Python: `int(sock)`.
Exemple en C :
[source,C]

View File

@ -9064,7 +9064,7 @@ hook3 = weechat.hook_process_hashtable("sh",
==== hook_connect
// TRANSLATION MISSING
_Updated in 1.5._
_Updated in 1.5, 2.0._
Hook su una connessione (connessione in secondo piano ad un host remoto).
@ -9152,6 +9152,13 @@ Valore restituito:
* puntatore al nuovo hook, NULL in caso di errore
// TRANSLATION MISSING
[IMPORTANT]
In scripts, with WeeChat ≥ 2.0, the callback arguments _status_, _gnutls_rc_
and _sock_ are integers (with WeeChat ≤ 1.9, they were strings). +
To be compatible with all versions, it is recommended to convert the argument
to integer before using it, for example in Python: `int(sock)`.
Esempio in C:
[source,C]

View File

@ -8808,7 +8808,8 @@ hook3 = weechat.hook_process_hashtable("sh",
==== hook_connect
_WeeChat バージョン 1.5 で更新。_
// TRANSLATION MISSING
_Updated in 1.5, 2.0._
接続をフックする (リモートホストへのバックグラウンド接続)。
@ -8891,6 +8892,13 @@ struct t_hook *weechat_hook_connect (const char *proxy,
* 新しいフックへのポインタ、エラーが起きた場合は NULL
// TRANSLATION MISSING
[IMPORTANT]
In scripts, with WeeChat ≥ 2.0, the callback arguments _status_, _gnutls_rc_
and _sock_ are integers (with WeeChat ≤ 1.9, they were strings). +
To be compatible with all versions, it is recommended to convert the argument
to integer before using it, for example in Python: `int(sock)`.
C 言語での使用例:
[source,C]

View File

@ -2388,7 +2388,6 @@ weechat_guile_api_hook_connect_cb (const void *pointer, void *data,
{
struct t_plugin_script *script;
void *func_argv[6];
char str_status[32], str_gnutls_rc[32], str_sock[32];
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc, ret;
@ -2398,21 +2397,17 @@ weechat_guile_api_hook_connect_cb (const void *pointer, void *data,
if (ptr_function && ptr_function[0])
{
snprintf (str_status, sizeof (str_status), "%d", status);
snprintf (str_gnutls_rc, sizeof (str_gnutls_rc), "%d", gnutls_rc);
snprintf (str_sock, sizeof (str_sock), "%d", sock);
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = str_status;
func_argv[2] = str_gnutls_rc;
func_argv[3] = str_sock;
func_argv[1] = &status;
func_argv[2] = &gnutls_rc;
func_argv[3] = &sock;
func_argv[4] = (ip_address) ? (char *)ip_address : empty_arg;
func_argv[5] = (error) ? (char *)error : empty_arg;
rc = (int *) weechat_guile_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ssssss", func_argv);
"siiiss", func_argv);
if (!rc)
ret = WEECHAT_RC_ERROR;

View File

@ -2309,7 +2309,6 @@ weechat_js_api_hook_connect_cb (const void *pointer, void *data,
{
struct t_plugin_script *script;
void *func_argv[6];
char str_status[32], str_gnutls_rc[32], str_sock[32];
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc, ret;
@ -2319,21 +2318,17 @@ weechat_js_api_hook_connect_cb (const void *pointer, void *data,
if (ptr_function && ptr_function[0])
{
snprintf (str_status, sizeof (str_status), "%d", status);
snprintf (str_gnutls_rc, sizeof (str_gnutls_rc), "%d", gnutls_rc);
snprintf (str_sock, sizeof (str_sock), "%d", sock);
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = str_status;
func_argv[2] = str_gnutls_rc;
func_argv[3] = str_sock;
func_argv[1] = &status;
func_argv[2] = &gnutls_rc;
func_argv[3] = &sock;
func_argv[4] = (ip_address) ? (char *)ip_address : empty_arg;
func_argv[5] = (error) ? (char *)error : empty_arg;
rc = (int *)weechat_js_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ssssss", func_argv);
"siiiss", func_argv);
if (!rc)
ret = WEECHAT_RC_ERROR;

View File

@ -2506,7 +2506,6 @@ weechat_lua_api_hook_connect_cb (const void *pointer, void *data,
{
struct t_plugin_script *script;
void *func_argv[6];
char str_status[32], str_gnutls_rc[32], str_sock[32];
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc, ret;
@ -2516,21 +2515,17 @@ weechat_lua_api_hook_connect_cb (const void *pointer, void *data,
if (ptr_function && ptr_function[0])
{
snprintf (str_status, sizeof (str_status), "%d", status);
snprintf (str_gnutls_rc, sizeof (str_gnutls_rc), "%d", gnutls_rc);
snprintf (str_sock, sizeof (str_sock), "%d", sock);
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = str_status;
func_argv[2] = str_gnutls_rc;
func_argv[3] = str_sock;
func_argv[1] = &status;
func_argv[2] = &gnutls_rc;
func_argv[3] = &sock;
func_argv[4] = (ip_address) ? (char *)ip_address : empty_arg;
func_argv[5] = (error) ? (char *)error : empty_arg;
rc = (int *) weechat_lua_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ssssss", func_argv);
"siiiss", func_argv);
if (!rc)
ret = WEECHAT_RC_ERROR;

View File

@ -2424,7 +2424,6 @@ weechat_perl_api_hook_connect_cb (const void *pointer, void *data,
{
struct t_plugin_script *script;
void *func_argv[6];
char str_status[32], str_gnutls_rc[32], str_sock[32];
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc, ret;
@ -2434,21 +2433,17 @@ weechat_perl_api_hook_connect_cb (const void *pointer, void *data,
if (ptr_function && ptr_function[0])
{
snprintf (str_status, sizeof (str_status), "%d", status);
snprintf (str_gnutls_rc, sizeof (str_gnutls_rc), "%d", gnutls_rc);
snprintf (str_sock, sizeof (str_sock), "%d", sock);
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = str_status;
func_argv[2] = str_gnutls_rc;
func_argv[3] = str_sock;
func_argv[1] = &status;
func_argv[2] = &gnutls_rc;
func_argv[3] = &sock;
func_argv[4] = (ip_address) ? (char *)ip_address : empty_arg;
func_argv[5] = (error) ? (char *)error : empty_arg;
rc = (int *) weechat_perl_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ssssss", func_argv);
"siiiss", func_argv);
if (!rc)
ret = WEECHAT_RC_ERROR;

View File

@ -2442,7 +2442,7 @@ weechat_python_api_hook_connect_cb (const void *pointer, void *data,
{
struct t_plugin_script *script;
void *func_argv[6];
char str_status[32], str_gnutls_rc[32], str_sock[32], empty_arg[1] = { '\0' };
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc, ret;
@ -2451,21 +2451,17 @@ weechat_python_api_hook_connect_cb (const void *pointer, void *data,
if (ptr_function && ptr_function[0])
{
snprintf (str_status, sizeof (str_status), "%d", status);
snprintf (str_gnutls_rc, sizeof (str_gnutls_rc), "%d", gnutls_rc);
snprintf (str_sock, sizeof (str_sock), "%d", sock);
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = str_status;
func_argv[2] = str_gnutls_rc;
func_argv[3] = str_sock;
func_argv[1] = &status;
func_argv[2] = &gnutls_rc;
func_argv[3] = &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,
"ssssss", func_argv);
"siiiss", func_argv);
if (!rc)
ret = WEECHAT_RC_ERROR;

View File

@ -2952,7 +2952,6 @@ weechat_ruby_api_hook_connect_cb (const void *pointer, void *data,
{
struct t_plugin_script *script;
void *func_argv[6];
char str_status[32], str_gnutls_rc[32], str_sock[32];
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc, ret;
@ -2962,21 +2961,17 @@ weechat_ruby_api_hook_connect_cb (const void *pointer, void *data,
if (ptr_function && ptr_function[0])
{
snprintf (str_status, sizeof (str_status), "%d", status);
snprintf (str_gnutls_rc, sizeof (str_gnutls_rc), "%d", gnutls_rc);
snprintf (str_sock, sizeof (str_sock), "%d", sock);
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = str_status;
func_argv[2] = str_gnutls_rc;
func_argv[3] = str_sock;
func_argv[1] = &status;
func_argv[2] = &gnutls_rc;
func_argv[3] = &sock;
func_argv[4] = (ip_address) ? (char *)ip_address : empty_arg;
func_argv[5] = (error) ? (char *)error : empty_arg;
rc = (int *) weechat_ruby_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ssssss", func_argv);
"siiiss", func_argv);
if (!rc)
ret = WEECHAT_RC_ERROR;

View File

@ -2690,7 +2690,6 @@ weechat_tcl_api_hook_connect_cb (const void *pointer, void *data,
{
struct t_plugin_script *script;
void *func_argv[6];
char str_status[32], str_gnutls_rc[32], str_sock[32];
char empty_arg[1] = { '\0' };
const char *ptr_function, *ptr_data;
int *rc, ret;
@ -2700,21 +2699,17 @@ weechat_tcl_api_hook_connect_cb (const void *pointer, void *data,
if (ptr_function && ptr_function[0])
{
snprintf (str_status, sizeof (str_status), "%d", status);
snprintf (str_gnutls_rc, sizeof (str_gnutls_rc), "%d", gnutls_rc);
snprintf (str_sock, sizeof (str_sock), "%d", sock);
func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
func_argv[1] = str_status;
func_argv[2] = str_gnutls_rc;
func_argv[3] = str_sock;
func_argv[1] = &status;
func_argv[2] = &gnutls_rc;
func_argv[3] = &sock;
func_argv[4] = (ip_address) ? (char *)ip_address : empty_arg;
func_argv[5] = (error) ? (char *)error : empty_arg;
rc = (int *) weechat_tcl_exec (script,
WEECHAT_SCRIPT_EXEC_INT,
ptr_function,
"ssssss", func_argv);
"siiiss", func_argv);
if (!rc)
ret = WEECHAT_RC_ERROR;