aboutsummaryrefslogtreecommitdiffstats
path: root/src/data.c
diff options
context:
space:
mode:
authorPaul Eggert <[email protected]>2011-05-23 18:20:04 -0700
committerPaul Eggert <[email protected]>2011-05-23 18:20:04 -0700
commitc8a9ca5a6456e7d0ec9577493d5110b692b818bf (patch)
tree7c22b6cbed8d77bda8144bd6d1b57de58ef8483b /src/data.c
parent519e1d69210be09fc3d541ad3c086c1521f23f26 (diff)
* data.c (arith_driver, Flsh): Avoid unnecessary casts to EMACS_UINT.
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/data.c b/src/data.c
index 073fb0d492..ce0e8e40f5 100644
--- a/src/data.c
+++ b/src/data.c
@@ -2494,8 +2494,9 @@ arith_driver (enum arithop code, size_t nargs, register Lisp_Object *args)
case Amult:
if (INT_MULTIPLY_OVERFLOW (accum, next))
{
+ EMACS_UINT a = accum, b = next, ab = a * b;
overflow = 1;
- accum = (EMACS_UINT) accum * (EMACS_UINT) next & INTMASK;
+ accum = ab & INTMASK;
}
else
accum *= next;
@@ -2792,11 +2793,11 @@ In this case, zeros are shifted in on the left. */)
if (XINT (count) >= BITS_PER_EMACS_INT)
XSETINT (val, 0);
else if (XINT (count) > 0)
- XSETINT (val, (EMACS_UINT) XUINT (value) << XFASTINT (count));
+ XSETINT (val, XUINT (value) << XFASTINT (count));
else if (XINT (count) <= -BITS_PER_EMACS_INT)
XSETINT (val, 0);
else
- XSETINT (val, (EMACS_UINT) XUINT (value) >> -XINT (count));
+ XSETINT (val, XUINT (value) >> -XINT (count));
return val;
}