File cast-pointer-integer-different-size.patch of Package xemacs

diff -ru xemacs-21.5.28.20070726.orig/src/eval.c xemacs-21.5.28.20070726/src/eval.c
--- xemacs-21.5.28.20070726.orig/src/eval.c	2007-07-26 15:22:25.000000000 +0200
+++ xemacs-21.5.28.20070726/src/eval.c	2007-07-26 17:15:07.000000000 +0200
@@ -136,6 +136,7 @@
 */
 
 #include <config.h>
+#include <stdint.h>
 #include "lisp.h"
 
 #include "commands.h"
@@ -6007,7 +6008,7 @@
   Lisp_Object opaque = XCAR (cons);
   Lisp_Object lval = XCDR (cons);
   int *addr = (int *) get_opaque_ptr (opaque);
-  int val;
+  intptr_t val;
 
   /* In the event that a C integer will always fit in an Emacs int, we
      haven't ever stored a C integer as an opaque pointer. This #ifdef
@@ -6020,7 +6021,7 @@
     }
   else
     {
-      val = (int) get_opaque_ptr (lval);
+      val = (intptr_t) get_opaque_ptr (lval);
       free_opaque_ptr (lval);
     }
 #else /* !(INT_VALBITS < INTBITS) */
diff -ru xemacs-21.5.28.20070726.orig/src/event-unixoid.c xemacs-21.5.28.20070726/src/event-unixoid.c
--- xemacs-21.5.28.20070726.orig/src/event-unixoid.c	2007-07-26 15:22:25.000000000 +0200
+++ xemacs-21.5.28.20070726/src/event-unixoid.c	2007-07-26 17:16:53.000000000 +0200
@@ -27,6 +27,7 @@
 /* This file has been Mule-ized. */
 
 #include <config.h>
+#include <stdint.h>
 #include "lisp.h"
 
 #include "console-stream-impl.h"
@@ -362,9 +363,9 @@
      the process implementation being used. */
   /* We are passed plain old file descs, which are ints, so */
   /* if sizeof(EMACS_INT) > sizeof(int) it's OK. */
-  infd  = (EMACS_INT) inhandle;
-  outfd = (EMACS_INT) outhandle;
-  errfd = (EMACS_INT) errhandle;
+  infd  = (EMACS_INT) (intptr_t) inhandle;
+  outfd = (EMACS_INT) (intptr_t) outhandle;
+  errfd = (EMACS_INT) (intptr_t) errhandle;
 
   *instream = (infd >= 0
 	       ? make_filedesc_input_stream (infd, 0, -1, 0)
diff -ru xemacs-21.5.28.20070726.orig/src/process-unix.c xemacs-21.5.28.20070726/src/process-unix.c
--- xemacs-21.5.28.20070726.orig/src/process-unix.c	2007-07-26 15:22:26.000000000 +0200
+++ xemacs-21.5.28.20070726/src/process-unix.c	2007-07-26 17:19:24.000000000 +0200
@@ -31,6 +31,7 @@
    written by Wolfgang S. Rupprecht */
 
 #include <config.h>
+#include <stdint.h>
 
 #if !defined (NO_SUBPROCESSES)
 
@@ -847,8 +848,8 @@
 			      void *err, int UNUSED (flags))
 {
   /* if sizeof(EMACS_INT) > sizeof(int) this truncates the value */
-  UNIX_DATA(p)->infd = (EMACS_INT) in;
-  UNIX_DATA(p)->errfd = (EMACS_INT) err;
+  UNIX_DATA(p)->infd = (EMACS_INT) (intptr_t) in;
+  UNIX_DATA(p)->errfd = (EMACS_INT) (intptr_t) err;
 }
 
 /* Move the file descriptor FD so that its number is not less than MIN. *