summaryrefslogtreecommitdiff
path: root/src/sysdep.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2012-06-02 09:37:54 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2012-06-02 09:37:54 -0700
commit63810350ec7f26232fbd653f279c92f43b5c4807 (patch)
treebc4881b40b8fc53d28d55f5f01f098342e8c2cff /src/sysdep.c
parent4cf9b38dd572979c53bc5a7892c27b2a40a6f039 (diff)
downloademacs-63810350ec7f26232fbd653f279c92f43b5c4807.tar.gz
* sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
Convert pctcpu and pctmem to Lisp float properly. Let the compiler fold better, as 100.0/0x8000 is exact.
Diffstat (limited to 'src/sysdep.c')
-rw-r--r--src/sysdep.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/sysdep.c b/src/sysdep.c
index a82f802a785..bf87fa2ff0b 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -3107,8 +3107,8 @@ system_process_attributes (Lisp_Object pid)
attrs = Fcons (Fcons (Qrss, make_fixnum_or_float (pinfo.pr_rssize)), attrs);
/* pr_pctcpu and pr_pctmem are encoded as a fixed point 16 bit number in [0 ... 1]. */
- attrs = Fcons (Fcons (Qpcpu, (pinfo.pr_pctcpu * 100.0) / (double)0x8000), attrs);
- attrs = Fcons (Fcons (Qpmem, (pinfo.pr_pctmem * 100.0) / (double)0x8000), attrs);
+ attrs = Fcons (Fcons (Qpcpu, make_float (100.0 / 0x8000 * pinfo.pr_pctcpu)), attrs);
+ attrs = Fcons (Fcons (Qpmem, make_float (100.0 / 0x8000 * pinfo.pr_pctmem)), attrs);
decoded_cmd
= code_convert_string_norecord (make_unibyte_string (pinfo.pr_fname,