Fix "cast from pointer to integer of different size" warnings on a 64-bit machine.
authorJeremy Allison <jra@samba.org>
Mon, 28 Feb 2011 20:25:40 +0000 (12:25 -0800)
committerJeremy Allison <jra@samba.org>
Mon, 28 Feb 2011 20:58:20 +0000 (21:58 +0100)
lib/tevent/tevent_poll.c

index c1331940723fbcd56a318dc7e44986ed0d177740..cda028a964bf8c723eb211571af9f1762eac18d9 100644 (file)
@@ -64,7 +64,7 @@ static int poll_event_fd_destructor(struct tevent_fd *fde)
        struct tevent_context *ev = fde->event_ctx;
        struct poll_event_context *poll_ev = NULL;
        struct tevent_fd *moved_fde;
-       int del_idx;
+       long del_idx;
 
        if (ev == NULL) {
                goto done;
@@ -76,7 +76,7 @@ static int poll_event_fd_destructor(struct tevent_fd *fde)
        /*
         * Assume a void * can carry enough bits to hold num_fds.
         */
-       del_idx = (int)(fde->additional_data);
+       del_idx = (long)(fde->additional_data);
 
        moved_fde = poll_ev->fd_events[poll_ev->num_fds-1];
        poll_ev->fd_events[del_idx] = moved_fde;
@@ -152,7 +152,7 @@ static struct tevent_fd *poll_event_add_fd(struct tevent_context *ev,
        /*
         * Assume a void * can carry enough bits to hold num_fds.
         */
-       fde->additional_data = (void *)poll_ev->num_fds;
+       fde->additional_data = (void *)(long)poll_ev->num_fds;
        poll_ev->fd_events[poll_ev->num_fds] = fde;
 
        poll_ev->num_fds += 1;
@@ -169,7 +169,7 @@ static void poll_event_set_fd_flags(struct tevent_fd *fde, uint16_t flags)
 {
        struct poll_event_context *poll_ev = talloc_get_type_abort(
                fde->event_ctx->additional_data, struct poll_event_context);
-       int idx;
+       long idx;
        uint16_t pollflags = 0;
 
        if (flags & TEVENT_FD_READ) {
@@ -179,7 +179,7 @@ static void poll_event_set_fd_flags(struct tevent_fd *fde, uint16_t flags)
                pollflags |= (POLLOUT);
        }
 
-       idx = (int)(fde->additional_data);
+       idx = (long)(fde->additional_data);
        poll_ev->fds[idx].events = pollflags;
 
        fde->flags = flags;
@@ -237,10 +237,10 @@ static int poll_event_loop_poll(struct tevent_context *ev,
                   the handler to remove itself when called */
                for (fde = ev->fd_events; fde; fde = fde->next) {
                        struct pollfd *pfd;
-                       int pfd_idx;
+                       long pfd_idx;
                        uint16_t flags = 0;
 
-                       pfd_idx = (int)(fde->additional_data);
+                       pfd_idx = (long)(fde->additional_data);
 
                        pfd = &poll_ev->fds[pfd_idx];