diff options
author | Christophe Fergeau <cfergeau@redhat.com> | 2012-02-29 19:01:54 +0100 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2012-03-20 15:25:56 +0100 |
commit | a107b62a745fa1e9755c4c0edd6ede32011eace3 (patch) | |
tree | 824548b335679962e27f931e12000d250acad8e0 | |
parent | a14a8c83e0781155255bc5e8677017cf6c6a2df3 (diff) |
mingw: use uintptr_t when converting a pointer to an int
win64 uses 32 bit long, so we cannot use a long to hold a 64 bit
pointer. Thankfully, there's a [u]intptr_t type available exactly
for these uses.
-rw-r--r-- | common/draw.h | 4 | ||||
-rw-r--r-- | common/pixman_utils.c | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/common/draw.h b/common/draw.h index 793169f..8b1206d 100644 --- a/common/draw.h +++ b/common/draw.h @@ -39,8 +39,8 @@ extern "C" { #endif -#define SPICE_GET_ADDRESS(addr) ((void *)(unsigned long)(addr)) -#define SPICE_SET_ADDRESS(addr, val) ((addr) = (unsigned long)(val)) +#define SPICE_GET_ADDRESS(addr) ((void *)(uintptr_t)(addr)) +#define SPICE_SET_ADDRESS(addr, val) ((addr) = (uintptr_t)(val)) typedef int32_t SPICE_FIXED28_4; diff --git a/common/pixman_utils.c b/common/pixman_utils.c index c04b01f..1136aa7 100644 --- a/common/pixman_utils.c +++ b/common/pixman_utils.c @@ -243,19 +243,19 @@ void spice_pixman_fill_rect(pixman_image_t *dest, byte_line += stride; w = byte_width; - while (w >= 1 && ((unsigned long)d & 1)) { + while (w >= 1 && ((uintptr_t)d & 1)) { *(uint8_t *)d = (value & 0xff); w--; d++; } - while (w >= 2 && ((unsigned long)d & 3)) { + while (w >= 2 && ((uintptr_t)d & 3)) { *(uint16_t *)d = value; w -= 2; d += 2; } - while (w >= 4 && ((unsigned long)d & 7)) { + while (w >= 4 && ((uintptr_t)d & 7)) { *(uint32_t *)d = value; w -= 4; |