summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2012-02-29 19:01:54 +0100
committerAlon Levy <alevy@redhat.com>2012-03-04 10:50:38 +0200
commit5989e2d1c4fa997dc2dbd4ea331bf6e77a425aff (patch)
tree6901792524e1786eb1c3c6c2843d4451963b3812
parent534b71dfaaf78e8ab2991bbb105f5601f23e7e16 (diff)
downloadspice-5989e2d1c4fa997dc2dbd4ea331bf6e77a425aff.tar.gz
spice-5989e2d1c4fa997dc2dbd4ea331bf6e77a425aff.tar.xz
spice-5989e2d1c4fa997dc2dbd4ea331bf6e77a425aff.zip
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--client/canvas.cpp2
-rw-r--r--client/cursor.cpp2
-rw-r--r--common/draw.h4
-rw-r--r--common/pixman_utils.c6
4 files changed, 7 insertions, 7 deletions
diff --git a/client/canvas.cpp b/client/canvas.cpp
index 139b663b..0986d47b 100644
--- a/client/canvas.cpp
+++ b/client/canvas.cpp
@@ -70,7 +70,7 @@ void Canvas::clear()
void Canvas::begin_draw(SpiceMsgDisplayBase& base, int size, size_t min_size)
{
- _base = (unsigned long)&base;
+ _base = (uintptr_t)&base;
}
void Canvas::draw_fill(SpiceMsgDisplayDrawFill& fill, int size)
diff --git a/client/cursor.cpp b/client/cursor.cpp
index e9e3006d..0584b884 100644
--- a/client/cursor.cpp
+++ b/client/cursor.cpp
@@ -64,7 +64,7 @@ CursorData::CursorData(SpiceCursor& cursor, int data_size)
}
if (data_size < expected_size) {
- THROW("access violation 0x%lx %u", (unsigned long)cursor.data, expected_size);
+ THROW("access violation 0x%lx %u", (uintptr_t)cursor.data, expected_size);
}
_data = new uint8_t[expected_size];
memcpy(_data, cursor.data, expected_size);
diff --git a/common/draw.h b/common/draw.h
index 793169ff..8b1206de 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 c04b01f3..1136aa72 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;