[PATCH] Fix cast int-to-pointer and pointer-to-int
Tomas Carnecky
tom at dbservice.com
Wed Feb 4 11:43:43 PST 2009
By first casting to long and then to the final type. Of course
this assumes that sizeof(long) == sizeof(void *). If the Win32
folks care enough about warnings, we could make macros for this.
Signed-off-by: Tomas Carnecky <tom at dbservice.com>
---
Let's suppose macros would be preferred, into which header
should they go? Into include/os.h? include/misc.h?
composite/compwindow.c | 4 ++--
glx/glxcmds.c | 2 +-
hw/xfree86/dri/dri.c | 8 ++++----
hw/xfree86/os-support/bus/linuxPci.c | 2 +-
hw/xfree86/os-support/linux/lnx_agp.c | 2 +-
mi/miscrinit.c | 2 +-
6 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/composite/compwindow.c b/composite/compwindow.c
index 577fa73..efad534 100644
--- a/composite/compwindow.c
+++ b/composite/compwindow.c
@@ -92,7 +92,7 @@ static Bool
compRepaintBorder (ClientPtr pClient, pointer closure)
{
WindowPtr pWindow;
- int rc = dixLookupWindow(&pWindow, (XID)closure, pClient, DixWriteAccess);
+ int rc = dixLookupWindow(&pWindow, (XID)(long)closure, pClient, DixWriteAccess);
if (rc == Success) {
RegionRec exposed;
@@ -123,7 +123,7 @@ compSetPixmapVisitWindow (WindowPtr pWindow, pointer data)
SetBorderSize (pWindow);
if (HasBorder (pWindow))
QueueWorkProc (compRepaintBorder, serverClient,
- (pointer) pWindow->drawable.id);
+ (pointer)(long)pWindow->drawable.id);
return WT_WALKCHILDREN;
}
diff --git a/glx/glxcmds.c b/glx/glxcmds.c
index 33954ee..003f8e0 100644
--- a/glx/glxcmds.c
+++ b/glx/glxcmds.c
@@ -2021,7 +2021,7 @@ int __glXDisp_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc)
if (ret == Success) {
if (barrier)
/* add source for cleanup when drawable is gone */
- AddResource(drawable, __glXSwapBarrierRes, (pointer)screen);
+ AddResource(drawable, __glXSwapBarrierRes, (pointer)(long)screen);
else
/* delete source */
FreeResourceByType(drawable, __glXSwapBarrierRes, FALSE);
diff --git a/hw/xfree86/dri/dri.c b/hw/xfree86/dri/dri.c
index 871b6a9..15536af 100644
--- a/hw/xfree86/dri/dri.c
+++ b/hw/xfree86/dri/dri.c
@@ -429,7 +429,7 @@ DRIScreenInit(ScreenPtr pScreen, DRIInfoPtr pDRIInfo, int *pDRMFD)
if (!pDRIPriv->pDriverInfo->dontMapFrameBuffer)
{
if (drmAddMap( pDRIPriv->drmFD,
- (drm_handle_t)pDRIPriv->pDriverInfo->frameBufferPhysicalAddress,
+ (drm_handle_t)(long)pDRIPriv->pDriverInfo->frameBufferPhysicalAddress,
pDRIPriv->pDriverInfo->frameBufferSize,
DRM_FRAME_BUFFER,
0,
@@ -1278,7 +1278,7 @@ DRICreateDrawable(ScreenPtr pScreen, ClientPtr client, DrawablePtr pDrawable,
/* track this in case the client dies */
AddResource(FakeClientID(client->index), DRIDrawablePrivResType,
- (pointer)pDrawable->id);
+ (pointer)(long)pDrawable->id);
if (pDRIDrawablePriv->hwDrawable) {
drmUpdateDrawableInfo(pDRIPriv->drmFD,
@@ -1349,7 +1349,7 @@ DRIDestroyDrawable(ScreenPtr pScreen, ClientPtr client, DrawablePtr pDrawable)
if (pDrawable->type == DRAWABLE_WINDOW) {
LookupClientResourceComplex(client, DRIDrawablePrivResType,
DRIDestroyDrawableCB,
- (pointer)pDrawable->id);
+ (pointer)(long)pDrawable->id);
}
else { /* pixmap (or for GLX 1.3, a PBuffer) */
/* NOT_DONE */
@@ -1364,7 +1364,7 @@ DRIDrawablePrivDelete(pointer pResource, XID id)
{
WindowPtr pWin;
- id = (XID)pResource;
+ id = (XID)(long)pResource;
pWin = LookupIDByType(id, RT_WINDOW);
if (pWin) {
diff --git a/hw/xfree86/os-support/bus/linuxPci.c b/hw/xfree86/os-support/bus/linuxPci.c
index 41682c2..c22cfb1 100644
--- a/hw/xfree86/os-support/bus/linuxPci.c
+++ b/hw/xfree86/os-support/bus/linuxPci.c
@@ -525,7 +525,7 @@ xf86MapLegacyIO(struct pci_device *dev)
PCIIOC_MMAP_IS_IO);
}
else { /* legacy_io file exists, encode fd */
- DomainMmappedIO[domain] = (pointer)(fd << 24);
+ DomainMmappedIO[domain] = (pointer)(long)(fd << 24);
}
}
diff --git a/hw/xfree86/os-support/linux/lnx_agp.c b/hw/xfree86/os-support/linux/lnx_agp.c
index 6143740..8553155 100644
--- a/hw/xfree86/os-support/linux/lnx_agp.c
+++ b/hw/xfree86/os-support/linux/lnx_agp.c
@@ -264,7 +264,7 @@ xf86DeallocateGARTMemory(int screenNum, int key)
}
#ifdef __linux__
- if (ioctl(gartFd, AGPIOC_DEALLOCATE, (int *)key) != 0) {
+ if (ioctl(gartFd, AGPIOC_DEALLOCATE, (int *)(long)key) != 0) {
#else
if (ioctl(gartFd, AGPIOC_DEALLOCATE, &key) != 0) {
#endif
diff --git a/mi/miscrinit.c b/mi/miscrinit.c
index 93a6c4b..ea52e58 100644
--- a/mi/miscrinit.c
+++ b/mi/miscrinit.c
@@ -308,5 +308,5 @@ DevPrivateKey miZeroLineScreenKey = &miZeroLineScreenKeyIndex;
void
miSetZeroLineBias(ScreenPtr pScreen, unsigned int bias)
{
- dixSetPrivate(&pScreen->devPrivates, miZeroLineScreenKey, (pointer)bias);
+ dixSetPrivate(&pScreen->devPrivates, miZeroLineScreenKey, (pointer)(long)bias);
}
--
1.6.1.2
More information about the xorg
mailing list