]> jfr.im git - irc/weechat/weechat.git/commitdiff
api: change type of argument object_id in upgrade_new callback from string to integer...
authorSébastien Helleu <redacted>
Thu, 29 Sep 2022 19:38:04 +0000 (21:38 +0200)
committerSébastien Helleu <redacted>
Thu, 29 Sep 2022 19:38:04 +0000 (21:38 +0200)
ChangeLog.adoc
ReleaseNotes.adoc
src/plugins/guile/weechat-guile-api.c
src/plugins/javascript/weechat-js-api.cpp
src/plugins/lua/weechat-lua-api.c
src/plugins/perl/weechat-perl-api.c
src/plugins/python/weechat-python-api.c
src/plugins/ruby/weechat-ruby-api.c
src/plugins/tcl/weechat-tcl-api.c

index d3c80c9102fbe4053b58338dc6383a945c76ad88..6aff9386f28e4e4d9ae75576a9e9c5e9561d0a49 100644 (file)
@@ -41,6 +41,7 @@ Bug fixes::
 
   * core: fix wrong terminal title on terminal resize (issue #1702)
   * api: change type of argument remaining_calls in hook_timer callback from string to integer (in scripts)
+  * api: change type of argument object_id in upgrade_new callback from string to integer (in scripts)
   * irc: fix duplicated channels in autojoin option when autojoin_dynamic is enabled (issue #1795)
   * irc: fix display of TOPIC and QUIT messages with an empty trailing parameter (issue #1797)
   * irc: fix parsing of messages with trailing spaces and no trailing parameter (issue #1803)
index c4030389a7c27879614f6d7e1ab835f21da5c599..b09c28a8d0a9c726218aed02220b7fab6e7abe6b 100644 (file)
@@ -20,6 +20,21 @@ https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog]
 [[v3.7]]
 == Version 3.7 (under dev)
 
+[[v3.7_upgrade_new_callback_object_id]]
+=== Argument "object_id" in callback of upgrade_new
+
+In all script languages (except PHP), the argument "object_id" sent to the
+callback of "upgrade_new" is now an integer (it was a string in older releases).
+
+To be compatible with all versions, it is recommended to convert the argument
+to integer before testing it, for example in Python:
+
+[source,python]
+----
+if int(object_id) == 1:
+    # ...
+----
+
 [[v3.7_hook_timer_callback_remaining_calls]]
 === Argument "remaining_calls" in callback of hook_timer
 
index 539c37020a834d00da6af8aa97f53f5bbcd16003..04af03ecdc5c879f4e13dd21a55579f6827211d1 100644 (file)
@@ -4979,7 +4979,7 @@ weechat_guile_api_upgrade_read_cb (const void *pointer, void *data,
 {
     struct t_plugin_script *script;
     void *func_argv[4];
-    char empty_arg[1] = { '\0' }, str_object_id[32];
+    char empty_arg[1] = { '\0' };
     const char *ptr_function, *ptr_data;
     int *rc, ret;
 
@@ -4988,17 +4988,15 @@ weechat_guile_api_upgrade_read_cb (const void *pointer, void *data,
 
     if (ptr_function && ptr_function[0])
     {
-        snprintf (str_object_id, sizeof (str_object_id), "%d", object_id);
-
         func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
         func_argv[1] = (char *)API_PTR2STR(upgrade_file);
-        func_argv[2] = str_object_id;
+        func_argv[2] = &object_id;
         func_argv[3] = (char *)API_PTR2STR(infolist);
 
         rc = (int *) weechat_guile_exec (script,
                                          WEECHAT_SCRIPT_EXEC_INT,
                                          ptr_function,
-                                         "ssss", func_argv);
+                                         "ssis", func_argv);
 
         if (!rc)
             ret = WEECHAT_RC_ERROR;
index 8e2e56b851cb2bd17a1a0cf8d21d07953dd84252..e880be653a18edf6c034230a07337cc4006c2b7c 100644 (file)
@@ -4901,7 +4901,7 @@ weechat_js_api_upgrade_read_cb (const void *pointer, void *data,
 {
     struct t_plugin_script *script;
     void *func_argv[4];
-    char empty_arg[1] = { '\0' }, str_object_id[32];
+    char empty_arg[1] = { '\0' };
     const char *ptr_function, *ptr_data;
     int *rc, ret;
 
@@ -4910,17 +4910,15 @@ weechat_js_api_upgrade_read_cb (const void *pointer, void *data,
 
     if (ptr_function && ptr_function[0])
     {
-        snprintf (str_object_id, sizeof (str_object_id), "%d", object_id);
-
         func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
         func_argv[1] = (char *)API_PTR2STR(upgrade_file);
-        func_argv[2] = str_object_id;
+        func_argv[2] = &object_id;
         func_argv[3] = (char *)API_PTR2STR(infolist);
 
         rc = (int *)weechat_js_exec (script,
                                      WEECHAT_SCRIPT_EXEC_INT,
                                      ptr_function,
-                                     "ssss", func_argv);
+                                     "ssis", func_argv);
 
         if (!rc)
             ret = WEECHAT_RC_ERROR;
index f5bd9ec14cf3e2230bb85f296e6470f07db6528e..4022cfd920699a9786b32fda2dd950bec38ac6a7 100644 (file)
@@ -5298,7 +5298,7 @@ weechat_lua_api_upgrade_read_cb (const void *pointer, void *data,
 {
     struct t_plugin_script *script;
     void *func_argv[4];
-    char empty_arg[1] = { '\0' }, str_object_id[32];
+    char empty_arg[1] = { '\0' };
     const char *ptr_function, *ptr_data;
     int *rc, ret;
 
@@ -5307,17 +5307,15 @@ weechat_lua_api_upgrade_read_cb (const void *pointer, void *data,
 
     if (ptr_function && ptr_function[0])
     {
-        snprintf (str_object_id, sizeof (str_object_id), "%d", object_id);
-
         func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
         func_argv[1] = (char *)API_PTR2STR(upgrade_file);
-        func_argv[2] = str_object_id;
+        func_argv[2] = &object_id;
         func_argv[3] = (char *)API_PTR2STR(infolist);
 
         rc = (int *) weechat_lua_exec (script,
                                        WEECHAT_SCRIPT_EXEC_INT,
                                        ptr_function,
-                                       "ssss", func_argv);
+                                       "ssis", func_argv);
 
         if (!rc)
             ret = WEECHAT_RC_ERROR;
index c7fc20bde6ac7b5c6ed4132ee0248445e4b1a9d6..e637840406c464f1027e7980319b64b52e20542b 100644 (file)
@@ -5237,7 +5237,7 @@ weechat_perl_api_upgrade_read_cb (const void *pointer, void *data,
 {
     struct t_plugin_script *script;
     void *func_argv[4];
-    char empty_arg[1] = { '\0' }, str_object_id[32];
+    char empty_arg[1] = { '\0' };
     const char *ptr_function, *ptr_data;
     int *rc, ret;
 
@@ -5246,17 +5246,15 @@ weechat_perl_api_upgrade_read_cb (const void *pointer, void *data,
 
     if (ptr_function && ptr_function[0])
     {
-        snprintf (str_object_id, sizeof (str_object_id), "%d", object_id);
-
         func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
         func_argv[1] = (char *)API_PTR2STR(upgrade_file);
-        func_argv[2] = str_object_id;
+        func_argv[2] = &object_id;
         func_argv[3] = (char *)API_PTR2STR(infolist);
 
         rc = (int *) weechat_perl_exec (script,
                                         WEECHAT_SCRIPT_EXEC_INT,
                                         ptr_function,
-                                        "ssss", func_argv);
+                                        "ssis", func_argv);
 
         if (!rc)
             ret = WEECHAT_RC_ERROR;
index c487e7d84f3084ab4fae60faefe853e64a18bce1..1aab910f835210fe3a54e5abf3065219bdcf2c66 100644 (file)
@@ -5166,7 +5166,7 @@ weechat_python_api_upgrade_read_cb (const void *pointer, void *data,
 {
     struct t_plugin_script *script;
     void *func_argv[4];
-    char empty_arg[1] = { '\0' }, str_object_id[32];
+    char empty_arg[1] = { '\0' };
     const char *ptr_function, *ptr_data;
     int *rc, ret;
 
@@ -5175,17 +5175,15 @@ weechat_python_api_upgrade_read_cb (const void *pointer, void *data,
 
     if (ptr_function && ptr_function[0])
     {
-        snprintf (str_object_id, sizeof (str_object_id), "%d", object_id);
-
         func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
         func_argv[1] = (char *)API_PTR2STR(upgrade_file);
-        func_argv[2] = str_object_id;
+        func_argv[2] = &object_id;
         func_argv[3] = (char *)API_PTR2STR(infolist);
 
         rc = (int *) weechat_python_exec (script,
                                           WEECHAT_SCRIPT_EXEC_INT,
                                           ptr_function,
-                                          "ssss", func_argv);
+                                          "ssis", func_argv);
 
         if (!rc)
             ret = WEECHAT_RC_ERROR;
index 59bfcfffcad55575a32627b9c324cbe3e37c7ab5..771b90234e77b8976f0a7d896b686cb8dd379586 100644 (file)
@@ -6381,7 +6381,7 @@ weechat_ruby_api_upgrade_read_cb (const void *pointer, void *data,
 {
     struct t_plugin_script *script;
     void *func_argv[4];
-    char empty_arg[1] = { '\0' }, str_object_id[32];
+    char empty_arg[1] = { '\0' };
     const char *ptr_function, *ptr_data;
     int *rc, ret;
 
@@ -6390,17 +6390,15 @@ weechat_ruby_api_upgrade_read_cb (const void *pointer, void *data,
 
     if (ptr_function && ptr_function[0])
     {
-        snprintf (str_object_id, sizeof (str_object_id), "%d", object_id);
-
         func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
         func_argv[1] = (char *)API_PTR2STR(upgrade_file);
-        func_argv[2] = str_object_id;
+        func_argv[2] = &object_id;
         func_argv[3] = (char *)API_PTR2STR(infolist);
 
         rc = (int *) weechat_ruby_exec (script,
                                         WEECHAT_SCRIPT_EXEC_INT,
                                         ptr_function,
-                                        "ssss", func_argv);
+                                        "ssis", func_argv);
 
         if (!rc)
             ret = WEECHAT_RC_ERROR;
index e4fb7395a35e75a22ed29923385febd51ea14e10..cd1474521e00583fbbbcab66fd3a06548f83425d 100644 (file)
@@ -5637,7 +5637,7 @@ weechat_tcl_api_upgrade_read_cb (const void *pointer, void *data,
 {
     struct t_plugin_script *script;
     void *func_argv[4];
-    char empty_arg[1] = { '\0' }, str_object_id[32];
+    char empty_arg[1] = { '\0' };
     const char *ptr_function, *ptr_data;
     int *rc, ret;
 
@@ -5646,17 +5646,15 @@ weechat_tcl_api_upgrade_read_cb (const void *pointer, void *data,
 
     if (ptr_function && ptr_function[0])
     {
-        snprintf (str_object_id, sizeof (str_object_id), "%d", object_id);
-
         func_argv[0] = (ptr_data) ? (char *)ptr_data : empty_arg;
         func_argv[1] = (char *)API_PTR2STR(upgrade_file);
-        func_argv[2] = str_object_id;
+        func_argv[2] = &object_id;
         func_argv[3] = (char *)API_PTR2STR(infolist);
 
         rc = (int *) weechat_tcl_exec (script,
                                        WEECHAT_SCRIPT_EXEC_INT,
                                        ptr_function,
-                                       "ssss", func_argv);
+                                       "ssis", func_argv);
 
         if (!rc)
             ret = WEECHAT_RC_ERROR;