diff options
author | Karl Heuer <kwzh@gnu.org> | 1994-11-15 22:53:26 +0000 |
---|---|---|
committer | Karl Heuer <kwzh@gnu.org> | 1994-11-15 22:53:26 +0000 |
commit | 5aa7fadc6657d0c33d358147b3e048fe590e26ac (patch) | |
tree | b4bf42be3ccba0e98929f72815cba1f79e47f85c /src/xfaces.c | |
parent | 5263f2c9a832992875b3921a9ce5af93c85ee7f3 (diff) | |
download | emacs-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.c | 18 |
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); } |