summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2012-02-29 19:01:54 +0100
committerMarc-André Lureau <marcandre.lureau@gmail.com>2012-03-20 15:25:56 +0100
commita107b62a745fa1e9755c4c0edd6ede32011eace3 (patch)
tree824548b335679962e27f931e12000d250acad8e0
parenta14a8c83e0781155255bc5e8677017cf6c6a2df3 (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.h4
-rw-r--r--common/pixman_utils.c6
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;