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()