summaryrefslogtreecommitdiff
path: root/src/xfaces.c
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1994-11-15 22:53:26 +0000
committerKarl Heuer <kwzh@gnu.org>1994-11-15 22:53:26 +0000
commit5aa7fadc6657d0c33d358147b3e048fe590e26ac (patch)
treeb4bf42be3ccba0e98929f72815cba1f79e47f85c /src/xfaces.c
parent5263f2c9a832992875b3921a9ce5af93c85ee7f3 (diff)
downloademacs-5aa7fadc6657d0c33d358147b3e048fe590e26ac.tar.gz
(Fpixmap_spec_p): Avoid function calls and assignments as arguments to a
type-test macro.
Diffstat (limited to 'src/xfaces.c')
-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,
return ((STRINGP (arg)
|| (CONSP (arg)
- && CONSP (Fcdr (arg))
- && CONSP (Fcdr (Fcdr (arg)))
- && NILP (Fcdr (Fcdr (Fcdr (arg))))
- && INTEGERP (width = Fcar (arg))
- && INTEGERP (height = Fcar (Fcdr (arg)))
- && STRINGP (Fcar (Fcdr (Fcdr (arg))))
+ && CONSP (XCONS (arg)->cdr)
+ && CONSP (XCONS (XCONS (arg)->cdr)->cdr)
+ && NILP (XCONS (XCONS (XCONS (arg)->cdr)->cdr)->cdr)
+ && (width = XCONS (arg)->car, INTEGERP (width))
+ && (height = XCONS (XCONS (arg)->cdr)->car, INTEGERP (height))
+ && STRINGP (XCONS (XCONS (XCONS (arg)->cdr)->cdr)->car)
&& XINT (width) > 0
&& XINT (height) > 0
/* The string must have enough bits for width * height. */
- && (XINT (width) * XINT (height)
- <= (XSTRING (Fcar (Fcdr (Fcdr (arg))))->size
- * (INTBITS / sizeof (int))))))
+ && ((XSTRING (XCONS (XCONS (XCONS (arg)->cdr)->cdr)->car)->size
+ * (INTBITS / sizeof (int)))
+ >= XFASTINT (width) * XFASTINT (height))))
? Qt : Qnil);
}