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 <s@jaeckel.eu>
This commit is contained in:
@@ -30,12 +30,17 @@
|
|||||||
#include "snprintf.h"
|
#include "snprintf.h"
|
||||||
|
|
||||||
/** handlers **/
|
/** 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;
|
typedef struct _xmpp_handlist_t xmpp_handlist_t;
|
||||||
struct _xmpp_handlist_t {
|
struct _xmpp_handlist_t {
|
||||||
/* common members */
|
/* common members */
|
||||||
int user_handler;
|
int user_handler;
|
||||||
int (*handler)();
|
xmpp_void_handler handler;
|
||||||
void *userdata;
|
void *userdata;
|
||||||
int enabled; /* handlers are added disabled and enabled after the
|
int enabled; /* handlers are added disabled and enabled after the
|
||||||
* handler chain is processed to prevent stanzas from
|
* handler chain is processed to prevent stanzas from
|
||||||
|
|||||||
@@ -25,8 +25,6 @@
|
|||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "ostypes.h"
|
#include "ostypes.h"
|
||||||
|
|
||||||
typedef int (*xmpp_void_handler)();
|
|
||||||
|
|
||||||
/* Remove item from the list pointed by head, but don't free it.
|
/* 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
|
* 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()
|
* is the previous in the list. handler_fire_stanza() and handler_fire_timed()
|
||||||
|
|||||||
Reference in New Issue
Block a user