aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKarl Heuer1994-11-15 22:53:26 +0000
committerKarl Heuer1994-11-15 22:53:26 +0000
commite1befa751b517f76e629be225ac9b8858b6252f3 (patch)
treed92a0da79d26e633f8370713f15ec55a061ec813 /src
parenta4a9f09f1067e2c4c80026126e11fd68aed9e118 (diff)
downloademacs-e1befa751b517f76e629be225ac9b8858b6252f3.tar.gz
emacs-e1befa751b517f76e629be225ac9b8858b6252f3.zip
(Fpixmap_spec_p): Avoid function calls and assignments as arguments to a
type-test macro.
Diffstat (limited to 'src')
-rw-r--r--src/xfaces.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/xfaces.c b/src/xfaces.c
index e929c204bdd..36c3c1ab470 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -392,18 +392,18 @@ DEFUN ("pixmap-spec-p", Fpixmap_spec_p, Spixmap_spec_p, 1, 1, 0,
392 392
393 return ((STRINGP (arg) 393 return ((STRINGP (arg)
394 || (CONSP (arg) 394 || (CONSP (arg)
395 && CONSP (Fcdr (arg)) 395 && CONSP (XCONS (arg)->cdr)
396 && CONSP (Fcdr (Fcdr (arg))) 396 && CONSP (XCONS (XCONS (arg)->cdr)->cdr)
397 && NILP (Fcdr (Fcdr (Fcdr (arg)))) 397 && NILP (XCONS (XCONS (XCONS (arg)->cdr)->cdr)->cdr)
398 && INTEGERP (width = Fcar (arg)) 398 && (width = XCONS (arg)->car, INTEGERP (width))
399 && INTEGERP (height = Fcar (Fcdr (arg))) 399 && (height = XCONS (XCONS (arg)->cdr)->car, INTEGERP (height))
400 && STRINGP (Fcar (Fcdr (Fcdr (arg)))) 400 && STRINGP (XCONS (XCONS (XCONS (arg)->cdr)->cdr)->car)
401 && XINT (width) > 0 401 && XINT (width) > 0
402 && XINT (height) > 0 402 && XINT (height) > 0
403 /* The string must have enough bits for width * height. */ 403 /* The string must have enough bits for width * height. */
404 && (XINT (width) * XINT (height) 404 && ((XSTRING (XCONS (XCONS (XCONS (arg)->cdr)->cdr)->car)->size
405 <= (XSTRING (Fcar (Fcdr (Fcdr (arg))))->size 405 * (INTBITS / sizeof (int)))
406 * (INTBITS / sizeof (int)))))) 406 >= XFASTINT (width) * XFASTINT (height))))
407 ? Qt : Qnil); 407 ? Qt : Qnil);
408} 408}
409 409