(Fdelete_process, Fprocess_id, sigchld_handler): Copy PID into EMACS_INT
authorEli Zaretskii <eliz@gnu.org>
Sat, 13 Jan 2007 21:58:23 +0000 (21:58 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 13 Jan 2007 21:58:23 +0000 (21:58 +0000)
to avoid GCC warnings.

src/ChangeLog
src/process.c

index c5e1043..3842c3c 100644 (file)
@@ -1,5 +1,8 @@
 2007-01-13  Eli Zaretskii  <eliz@gnu.org>
 
+       * process.c (Fdelete_process, Fprocess_id, sigchld_handler): Copy
+       PID into EMACS_INT to avoid GCC warnings.
+
        * fns.c (maybe_resize_hash_table): Copy new size of hash table
        into EMACS_INT to avoid GCC warnings.
 
index c2ec602..9a7f9ee 100644 (file)
@@ -815,9 +815,12 @@ nil, indicating the current buffer's process.  */)
     {
 #ifdef SIGCHLD
       Lisp_Object symbol;
+      /* Assignment to EMACS_INT stops GCC whining about limited range
+        of data type.  */
+      EMACS_INT pid = p->pid;;
 
       /* No problem storing the pid here, as it is still in Vprocess_alist.  */
-      deleted_pid_list = Fcons (make_fixnum_or_float (p->pid),
+      deleted_pid_list = Fcons (make_fixnum_or_float (pid),
                                /* GC treated elements set to nil.  */
                                Fdelq (Qnil, deleted_pid_list));
       /* If the process has already signaled, remove it from the list.  */
@@ -827,7 +830,7 @@ nil, indicating the current buffer's process.  */)
       if (CONSP (p->status))
        symbol = XCAR (p->status);
       if (EQ (symbol, Qsignal) || EQ (symbol, Qexit))
-       Fdelete (make_fixnum_or_float (p->pid), deleted_pid_list);
+       Fdelete (make_fixnum_or_float (pid), deleted_pid_list);
       else
 #endif
        {
@@ -912,10 +915,13 @@ For a network connection, this value is nil.  */)
      (process)
      register Lisp_Object process;
 {
+  /* Assignment to EMACS_INT stops GCC whining about limited range of
+     data type.  */
+  EMACS_INT pid;
+
   CHECK_PROCESS (process);
-  return (XPROCESS (process)->pid
-         ? make_fixnum_or_float (XPROCESS (process)->pid)
-         : Qnil);
+  pid = XPROCESS (process)->pid;
+  return (pid ? make_fixnum_or_float (pid) : Qnil);
 }
 
 DEFUN ("process-name", Fprocess_name, Sprocess_name, 1, 1, 0,
@@ -6405,7 +6411,7 @@ sigchld_handler (signo)
 
   while (1)
     {
-      register int pid;
+      register EMACS_INT pid;
       WAITTYPE w;
       Lisp_Object tail;