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: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
Stefan Weil 2011-02-23 19:09:16 +01:00 committed by Blue Swirl
parent d81e54de59
commit e0efb993b8
4 changed files with 10 additions and 10 deletions

8
cpus.c
View File

@ -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;
}

View File

@ -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;

View File

@ -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;

View File

@ -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;