]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fcolor_distance): Don't continue checking a color for errors after it has been
authorJuanma Barranquero <lekktu@gmail.com>
Wed, 14 Feb 2007 15:47:51 +0000 (15:47 +0000)
committerJuanma Barranquero <lekktu@gmail.com>
Wed, 14 Feb 2007 15:47:51 +0000 (15:47 +0000)
correctly parsed as an RGB list.

src/xfaces.c

index 46a95feeb452d48e54660fc4372b0fb151631610..b98d10764ce461fbc4cedb26098cccc2820a13c9 100644 (file)
@@ -5348,13 +5348,11 @@ If FRAME is unspecified or nil, the current frame is used.  */)
   CHECK_LIVE_FRAME (frame);
   f = XFRAME (frame);
 
-  if ((CONSP (color1) && !parse_rgb_list (color1, &cdef1))
-      || !STRINGP (color1)
-      || !defined_color (f, SDATA (color1), &cdef1, 0))
+  if (!(CONSP (color1) && parse_rgb_list (color1, &cdef1))
+      && !(STRINGP (color1) && defined_color (f, SDATA (color1), &cdef1, 0)))
     signal_error ("Invalid color", color1);
-  if ((CONSP (color2) && !parse_rgb_list (color2, &cdef2))
-      || !STRINGP (color2)
-      || !defined_color (f, SDATA (color2), &cdef2, 0))
+  if (!(CONSP (color2) && parse_rgb_list (color2, &cdef2))
+      && !(STRINGP (color2) && defined_color (f, SDATA (color2), &cdef2, 0)))
     signal_error ("Invalid color", color2);
 
   return make_number (color_distance (&cdef1, &cdef2));