# HG changeset patch # User Karl Heuer # Date 784940006 0 # Node ID dd9afae74baf7b17c7c48bf959c489540e30fe86 # Parent 4e6e0478baeffd15d6d001bdd5557d0a96f8954d (Fpixmap_spec_p): Avoid function calls and assignments as arguments to a type-test macro. diff -r 4e6e0478baef -r dd9afae74baf src/xfaces.c --- a/src/xfaces.c Tue Nov 15 22:45:31 1994 +0000 +++ b/src/xfaces.c Tue Nov 15 22:53:26 1994 +0000 @@ -392,18 +392,18 @@ 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); }