Bugzilla #1058: Fix some potential 64bit pointer issues by storing differences
authorEric Anholt <anholt@FreeBSD.org>
Thu, 30 Sep 2004 00:40:21 +0000 (00:40 +0000)
committerEric Anholt <anholt@FreeBSD.org>
Thu, 30 Sep 2004 00:40:21 +0000 (00:40 +0000)
between pointers in appropriate types.

Submitted by:   Ronny V. Vindenes <s864@ii.uib.no>

src/mesa/drivers/dri/r200/r200_ioctl.c

index d2fde39a1cdc1f6d8fca980399306f28df7d2b07..74cc40adcd5e0abc434e3a43d744e3aa06e55aeb 100644 (file)
@@ -860,7 +860,7 @@ void r200FreeMemoryMESA(__DRInativeDisplay *dpy, int scrn, GLvoid *pointer)
 {
    GET_CURRENT_CONTEXT(ctx);
    r200ContextPtr rmesa;
-   int region_offset;
+   ptrdiff_t region_offset;
    drm_radeon_mem_free_t memfree;
    int ret;
 
@@ -921,7 +921,7 @@ GLuint r200GetMemoryOffsetMESA(__DRInativeDisplay *dpy, int scrn, const GLvoid *
 GLboolean r200IsGartMemory( r200ContextPtr rmesa, const GLvoid *pointer,
                           GLint size )
 {
-   int offset = (char *)pointer - (char *)rmesa->r200Screen->gartTextures.map;
+   ptrdiff_t offset = (char *)pointer - (char *)rmesa->r200Screen->gartTextures.map;
    int valid = (size >= 0 &&
                offset >= 0 &&
                offset + size < rmesa->r200Screen->gartTextures.size);
@@ -935,7 +935,7 @@ GLboolean r200IsGartMemory( r200ContextPtr rmesa, const GLvoid *pointer,
 
 GLuint r200GartOffsetFromVirtual( r200ContextPtr rmesa, const GLvoid *pointer )
 {
-   int offset = (char *)pointer - (char *)rmesa->r200Screen->gartTextures.map;
+   ptrdiff_t offset = (char *)pointer - (char *)rmesa->r200Screen->gartTextures.map;
 
    if (offset < 0 || offset > rmesa->r200Screen->gartTextures.size)
       return ~0;