aboutsummaryrefslogtreecommitdiff
path: root/util/ub_event_pluggable.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/ub_event_pluggable.c')
-rw-r--r--util/ub_event_pluggable.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/util/ub_event_pluggable.c b/util/ub_event_pluggable.c
index 5c517555e71b9..4a9451263b7ce 100644
--- a/util/ub_event_pluggable.c
+++ b/util/ub_event_pluggable.c
@@ -144,12 +144,10 @@ struct my_event {
struct event ev;
};
-#define AS_MY_EVENT_BASE(x) \
- (((union {struct ub_event_base* a; struct my_event_base* b;})x).b)
-#define AS_MY_EVENT(x) \
- (((union {struct ub_event* a; struct my_event* b;})x).b)
+#define AS_MY_EVENT_BASE(x) ((struct my_event_base*)x)
+#define AS_MY_EVENT(x) ((struct my_event*)x)
-const char* ub_event_get_version()
+const char* ub_event_get_version(void)
{
return "pluggable-event"PACKAGE_VERSION;
}
@@ -597,7 +595,7 @@ ub_event_add(struct ub_event* ev, struct timeval* tv)
int
ub_event_del(struct ub_event* ev)
{
- if (ev->magic == UB_EVENT_MAGIC) {
+ if (ev && ev->magic == UB_EVENT_MAGIC) {
fptr_ok(ev->vmt != &default_event_vmt ||
ev->vmt->del == my_event_del);
return (*ev->vmt->del)(ev);
@@ -620,7 +618,7 @@ ub_timer_add(struct ub_event* ev, struct ub_event_base* base,
int
ub_timer_del(struct ub_event* ev)
{
- if (ev->magic == UB_EVENT_MAGIC) {
+ if (ev && ev->magic == UB_EVENT_MAGIC) {
fptr_ok(ev->vmt != &default_event_vmt ||
ev->vmt->del_timer == my_timer_del);
return (*ev->vmt->del_timer)(ev);
@@ -642,7 +640,7 @@ ub_signal_add(struct ub_event* ev, struct timeval* tv)
int
ub_signal_del(struct ub_event* ev)
{
- if (ev->magic == UB_EVENT_MAGIC) {
+ if (ev && ev->magic == UB_EVENT_MAGIC) {
fptr_ok(ev->vmt != &default_event_vmt ||
ev->vmt->del_signal == my_signal_del);
return (*ev->vmt->del_signal)(ev);
@@ -653,7 +651,7 @@ ub_signal_del(struct ub_event* ev)
void
ub_winsock_unregister_wsaevent(struct ub_event* ev)
{
- if (ev->magic == UB_EVENT_MAGIC) {
+ if (ev && ev->magic == UB_EVENT_MAGIC) {
fptr_ok(ev->vmt != &default_event_vmt ||
ev->vmt->winsock_unregister_wsaevent ==
my_winsock_unregister_wsaevent);