diff --git a/package/libstrophe/0001-Use-void-to-store-function-pointer-when-compiled-as-.patch b/package/libstrophe/0001-Use-void-to-store-function-pointer-when-compiled-as-.patch new file mode 100644 index 0000000000..f61e2d8193 --- /dev/null +++ b/package/libstrophe/0001-Use-void-to-store-function-pointer-when-compiled-as-.patch @@ -0,0 +1,60 @@ +From dfb3e868248d86fc0f5553dffbb6f7c367c3c383 Mon Sep 17 00:00:00 2001 +From: Steffen Jaeckel +Date: Wed, 26 Mar 2025 14:14:19 +0100 +Subject: [PATCH] Use `void*` to store function pointer when compiled as C23. + +[0] decided that `rettype (*foo)();` must now be interpreted as +`rettype (*foo)(void);`. Luckily it also allows now to store function +pointers in a `void*` (c.f. Ch. J.5.7). + +[0]: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf + +Signed-off-by: Steffen Jaeckel + +Upstream: https://github.com/strophe/libstrophe/commit/dfb3e868248d86fc0f5553dffbb6f7c367c3c383 + +Signed-off-by: Bernd Kuhls +--- + src/common.h | 7 ++++++- + src/handler.c | 2 -- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/common.h b/src/common.h +index 75134be..c387c0f 100644 +--- a/src/common.h ++++ b/src/common.h +@@ -30,12 +30,17 @@ + #include "snprintf.h" + + /** handlers **/ ++#if (__STDC_VERSION__ >= 202000L) ++typedef void* xmpp_void_handler; ++#else ++typedef int (*xmpp_void_handler)(); ++#endif + + typedef struct _xmpp_handlist_t xmpp_handlist_t; + struct _xmpp_handlist_t { + /* common members */ + int user_handler; +- int (*handler)(); ++ xmpp_void_handler handler; + void *userdata; + int enabled; /* handlers are added disabled and enabled after the + * handler chain is processed to prevent stanzas from +diff --git a/src/handler.c b/src/handler.c +index 1c9bf9f..0577252 100644 +--- a/src/handler.c ++++ b/src/handler.c +@@ -25,8 +25,6 @@ + #include "common.h" + #include "ostypes.h" + +-typedef int (*xmpp_void_handler)(); +- + /* Remove item from the list pointed by head, but don't free it. + * There can be a situation when user's handler deletes another handler which + * is the previous in the list. handler_fire_stanza() and handler_fire_timed() +-- +2.47.3 + diff --git a/package/libstrophe/libstrophe.hash b/package/libstrophe/libstrophe.hash index ec5a55985a..a4951e608d 100644 --- a/package/libstrophe/libstrophe.hash +++ b/package/libstrophe/libstrophe.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 86c0abd348ae66feb40b6886f2c7f04525f1d5b20a48c10d4db4ed532dc63f22 libstrophe-0.13.1.tar.xz +sha256 8a7ebc274bd79fa4e5dfcfbf06123adbc9f70abd8bebf2843c2940e9086aeee0 libstrophe-0.14.0.tar.xz sha256 82476f36ffd5e895a176013c0812166ba7b7d99f3d536fc7f5ed2e33e9f74a08 MIT-LICENSE.txt sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 GPL-LICENSE.txt diff --git a/package/libstrophe/libstrophe.mk b/package/libstrophe/libstrophe.mk index 42d582fe9c..85e8753f2b 100644 --- a/package/libstrophe/libstrophe.mk +++ b/package/libstrophe/libstrophe.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSTROPHE_VERSION = 0.13.1 +LIBSTROPHE_VERSION = 0.14.0 LIBSTROPHE_SOURCE = libstrophe-$(LIBSTROPHE_VERSION).tar.xz LIBSTROPHE_SITE = https://github.com/strophe/libstrophe/releases/download/$(LIBSTROPHE_VERSION) LIBSTROPHE_DEPENDENCIES = host-pkgconf