]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fpixmap_spec_p): Avoid function calls and assignments as arguments to a
authorKarl Heuer <kwzh@gnu.org>
Tue, 15 Nov 1994 22:53:26 +0000 (22:53 +0000)
committerKarl Heuer <kwzh@gnu.org>
Tue, 15 Nov 1994 22:53:26 +0000 (22:53 +0000)
type-test macro.

src/xfaces.c

index e929c204bdd8fdeca0b9423c8dd3152c422c1109..36c3c1ab4707344a21c7d8c47ffed886c758d0a8 100644 (file)
@@ -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);
 }