X-Git-Url: https://git.llucax.com/software/libev.git/blobdiff_plain/6f16328ecec5b9add341be4e60ed9eeaa3adea67..e24bed5d59f88b90093005921b5338267ed65ea2:/ev.h?ds=sidebyside diff --git a/ev.h b/ev.h index ecca856..b563c3f 100644 --- a/ev.h +++ b/ev.h @@ -265,10 +265,10 @@ void ev_once (EV_P_ int fd, int events, ev_tstamp timeout, void (*cb)(int revent /* these may evaluate ev multiple times, and the other arguments at most once */ /* either use ev_watcher_init + ev_TYPE_set, or the ev_TYPE_init macro, below, to first initialise a watcher */ #define ev_watcher_init(ev,cb_) do { \ - ((struct ev_watcher *)(ev))->active = \ - ((struct ev_watcher *)(ev))->pending = \ - ((struct ev_watcher *)(ev))->priority = 0; \ - ((struct ev_watcher *)(ev))->cb = (cb_); \ + ((struct ev_watcher *)(void *)(ev))->active = \ + ((struct ev_watcher *)(void *)(ev))->pending = \ + ((struct ev_watcher *)(void *)(ev))->priority = 0; \ + (ev)->cb = (cb_); \ } while (0) #define ev_io_set(ev,fd_,events_) do { (ev)->fd = (fd_); (ev)->events = (events_); } while (0) @@ -289,11 +289,11 @@ void ev_once (EV_P_ int fd, int events, ev_tstamp timeout, void (*cb)(int revent #define ev_check_init(ev,cb) do { ev_watcher_init ((ev), (cb)); ev_check_set ((ev)); } while (0) #define ev_child_init(ev,cb,pid) do { ev_watcher_init ((ev), (cb)); ev_child_set ((ev),(pid)); } while (0) -#define ev_is_pending(ev) (0 + ((struct ev_watcher *)(ev))->pending) /* ro, true when watcher is waiting for callback invocation */ -#define ev_is_active(ev) (0 + ((struct ev_watcher *)(ev))->active) /* ro, true when the watcher has been started */ +#define ev_is_pending(ev) (0 + ((struct ev_watcher *)(void *)(ev))->pending) /* ro, true when watcher is waiting for callback invocation */ +#define ev_is_active(ev) (0 + ((struct ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */ -#define ev_priority(ev) ((struct ev_watcher *)(ev))->priority /* rw */ -#define ev_cb(ev) ((struct ev_watcher *)(ev))->cb /* rw */ +#define ev_priority(ev) ((struct ev_watcher *)(void *)(ev))->priority /* rw */ +#define ev_cb(ev) (ev)->cb /* rw */ #define ev_set_priority(ev,pri) ev_priority (ev) = (pri) #define ev_set_cb(ev,cb_) ev_cb (ev) = (cb_)