]> git.eshelyaron.com Git - emacs.git/commitdiff
* sysdep.c (system_process_attributes): Simplify pid_t handling.
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 26 Oct 2011 05:22:54 +0000 (22:22 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 26 Oct 2011 05:22:54 +0000 (22:22 -0700)
src/ChangeLog
src/sysdep.c

index 2f825a3797164609cb01b0a5c2e73507f99c2de8..7d28913b0ce9d0fc065053453d0fc844572cd9fc 100644 (file)
@@ -1,4 +1,4 @@
-2011-10-25  Paul Eggert  <eggert@cs.ucla.edu>
+2011-10-26  Paul Eggert  <eggert@cs.ucla.edu>
 
        Fix integer width and related bugs.
        * alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp):
        Don't assume pid_t fits in int; on 64-bit AIX pid_t is 64-bit.
        (emacs_read, emacs_write):
        Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (system_process_attributes): Don't assume uid_t, gid_t, and
-       double all fit in int or even EMACS_INT.
+       (system_process_attributes): Don't assume uid_t, gid_t, EMACS_INT,
+       and double all fit in int.
        * term.c (set_tty_color_mode):
        Check that fixnums are in proper range for system types.
        * termhooks.h (struct input_event):
index efc627e80b79faa9fd5f01e4e37549e98b671e99..9b4bd088046cd5bffb7e1362b852657b253827a9 100644 (file)
@@ -2705,15 +2705,7 @@ system_process_attributes (Lisp_Object pid)
   struct gcpro gcpro1, gcpro2;
 
   CHECK_NUMBER_OR_FLOAT (pid);
-  if (FLOATP (pid))
-    {
-      double v = XFLOAT_DATA (pid);
-      if (! (TYPE_MINIMUM (pid_t) <= v && v < TYPE_MAXIMUM (pid_t) + 1.0))
-       return attrs;
-      proc_id = v;
-    }
-  else
-    proc_id = XINT (pid);
+  CONS_TO_INTEGER (pid, pid_t, proc_id);
   sprintf (procfn, "/proc/%"pMd, proc_id);
   if (stat (procfn, &st) < 0)
     return attrs;
@@ -2978,15 +2970,7 @@ system_process_attributes (Lisp_Object pid)
   struct gcpro gcpro1, gcpro2;
 
   CHECK_NUMBER_OR_FLOAT (pid);
-  if (FLOATP (pid))
-    {
-      double v = XFLOAT_DATA (pid);
-      if (! (TYPE_MINIMUM (pid_t) <= v && v < TYPE_MAXIMUM (pid_t) + 1.0))
-       return attrs;
-      proc_id = v;
-    }
-  else
-    proc_id = XINT (v);
+  CONS_TO_INTEGER (pid, pid_t, proc_id);
   sprintf (procfn, "/proc/%"pMd, proc_id);
   if (stat (procfn, &st) < 0)
     return attrs;