Test sizeof(drm_handle_t) instead of LONG64 when returning handles
[mesa.git] / src / glx / x11 / XF86dri.c
index d0b7f72554776eba9a4265a86617ecca9a704ad7..3f989fa986e147c17bc9b2f7461ecdb7fffc9a13 100644 (file)
@@ -40,7 +40,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NEED_REPLIES
 #include <X11/Xlibint.h>
 #include <X11/extensions/Xext.h>
-#include "extutil.h"
+#include <X11/extensions/extutil.h>
 #include "glheader.h"
 #include "xf86dristr.h"
 
@@ -200,9 +200,10 @@ PUBLIC Bool XF86DRIOpenConnection(dpy, screen, hSAREA, busIdString)
     }
 
     *hSAREA = rep.hSAREALow;
-#ifdef LONG64
-    *hSAREA |= ((drm_handle_t)rep.hSAREAHigh) << 32;
-#endif
+    if (sizeof(drm_handle_t) == 8) {
+       const int shift = 32; /* var to prevent warning on next line */
+       *hSAREA |= ((drm_handle_t) rep.hSAREAHigh) << shift;
+    }
 
     if (rep.length) {
         if (!(*busIdString = (char *)Xcalloc(rep.busIdStringLength + 1, 1))) {
@@ -562,9 +563,10 @@ PUBLIC Bool XF86DRIGetDeviceInfo(dpy, screen, hFrameBuffer,
     }
 
     *hFrameBuffer = rep.hFrameBufferLow;
-#ifdef LONG64
-    *hFrameBuffer |= ((drm_handle_t)rep.hFrameBufferHigh) << 32;
-#endif
+    if (sizeof(drm_handle_t) == 8) {
+       const int shift = 32; /* var to prevent warning on next line */
+       *hFrameBuffer |= ((drm_handle_t) rep.hFrameBufferHigh) << shift;
+    }
 
     *fbOrigin = rep.framebufferOrigin;
     *fbSize = rep.framebufferSize;