aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
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