]> code.delx.au - gnu-emacs/commitdiff
(search_buffer): Avoid boolean/integer mixing that confuses some compilers.
authorKarl Heuer <kwzh@gnu.org>
Mon, 14 Mar 1994 21:44:12 +0000 (21:44 +0000)
committerKarl Heuer <kwzh@gnu.org>
Mon, 14 Mar 1994 21:44:12 +0000 (21:44 +0000)
src/search.c

index e24a201908647717b3fefc4f119c92408590497d..45d3f52fe90e58ab788c52015f0daa81aaf88c9c 100644 (file)
@@ -822,7 +822,10 @@ search_buffer (string, pos, lim, n, RE, trt, inverse_trt)
         of pattern would align in a possible match.  */
       while (n != 0)
        {
-         if ((lim - pos - (direction > 0)) * direction < 0)
+         /* It's been reported that some (broken) compiler thinks that
+            Boolean expressions in an arithmetic context are unsigned.
+            Using an explicit ?1:0 prevents this.  */
+         if ((lim - pos - ((direction > 0) ? 1 : 0)) * direction < 0)
            return (n * (0 - direction));
          /* First we do the part we can by pointers (maybe nothing) */
          QUIT;