Commit e0efb993 authored by Stefan Weil's avatar Stefan Weil Committed by Blue Swirl
Browse files

Fix conversions from pointer to int and vice versa



Here the int values fds[0], sigfd, s, sock and fd are converted
to void pointers which are later converted back to an int value.

These conversions should always use intptr_t instead of unsigned long.

They are needed for environments where sizeof(long) != sizeof(void *).

Signed-off-by: default avatarStefan Weil <weil@mail.berlios.de>
Signed-off-by: default avatarBlue Swirl <blauwirbel@gmail.com>
parent d81e54de
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -278,7 +278,7 @@ static void qemu_event_increment(void)

static void qemu_event_read(void *opaque)
{
    int fd = (unsigned long)opaque;
    int fd = (intptr_t)opaque;
    ssize_t len;
    char buffer[512];

@@ -306,7 +306,7 @@ static int qemu_event_init(void)
        goto fail;
    }
    qemu_set_fd_handler2(fds[0], NULL, qemu_event_read, NULL,
                         (void *)(unsigned long)fds[0]);
                         (void *)(intptr_t)fds[0]);

    io_thread_fd = fds[1];
    return 0;
@@ -327,7 +327,7 @@ static void dummy_signal(int sig)
 */
static void sigfd_handler(void *opaque)
{
    int fd = (unsigned long) opaque;
    int fd = (intptr_t)opaque;
    struct qemu_signalfd_siginfo info;
    struct sigaction action;
    ssize_t len;
@@ -395,7 +395,7 @@ static int qemu_signal_init(void)
    fcntl_setfl(sigfd, O_NONBLOCK);

    qemu_set_fd_handler2(sigfd, NULL, sigfd_handler, NULL,
                         (void *)(unsigned long) sigfd);
                         (void *)(intptr_t)sigfd);

    return 0;
}
+2 −2
Original line number Diff line number Diff line
@@ -139,7 +139,7 @@ static void tcp_accept_incoming_migration(void *opaque)
{
    struct sockaddr_in addr;
    socklen_t addrlen = sizeof(addr);
    int s = (unsigned long)opaque;
    int s = (intptr_t)opaque;
    QEMUFile *f;
    int c;

@@ -194,7 +194,7 @@ int tcp_start_incoming_migration(const char *host_port)
        goto err;

    qemu_set_fd_handler2(s, NULL, tcp_accept_incoming_migration, NULL,
                         (void *)(unsigned long)s);
                         (void *)(intptr_t)s);

    return 0;

+2 −2
Original line number Diff line number Diff line
@@ -147,7 +147,7 @@ static void unix_accept_incoming_migration(void *opaque)
{
    struct sockaddr_un addr;
    socklen_t addrlen = sizeof(addr);
    int s = (unsigned long)opaque;
    int s = (intptr_t)opaque;
    QEMUFile *f;
    int c;

@@ -204,7 +204,7 @@ int unix_start_incoming_migration(const char *path)
    }

    qemu_set_fd_handler2(sock, NULL, unix_accept_incoming_migration, NULL,
			 (void *)(unsigned long)sock);
			 (void *)(intptr_t)sock);

    return 0;

+2 −2
Original line number Diff line number Diff line
@@ -1376,7 +1376,7 @@ static CharDriverState *qemu_chr_open_pp(QemuOpts *opts)
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
static int pp_ioctl(CharDriverState *chr, int cmd, void *arg)
{
    int fd = (int)(long)chr->opaque;
    int fd = (int)(intptr_t)chr->opaque;
    uint8_t b;

    switch(cmd) {
@@ -1422,7 +1422,7 @@ static CharDriverState *qemu_chr_open_pp(QemuOpts *opts)
        return NULL;

    chr = qemu_mallocz(sizeof(CharDriverState));
    chr->opaque = (void *)(long)fd;
    chr->opaque = (void *)(intptr_t)fd;
    chr->chr_write = null_chr_write;
    chr->chr_ioctl = pp_ioctl;
    return chr;