# HG changeset patch # User Richard M. Stallman # Date 774258515 0 # Node ID 694c4686b446db4ff304e0e472f645b70468125f # Parent e390776e58469e244b3830a8906be11c425ad887 (re_match_2_internal): Add casts to shut up some compilers. (FREE_STACK_RETURN): Nest the free inside the return. diff -r e390776e5846 -r 694c4686b446 src/regex.c --- a/src/regex.c Fri Jul 15 04:31:14 1994 +0000 +++ b/src/regex.c Fri Jul 15 07:48:35 1994 +0000 @@ -1493,12 +1493,7 @@ /* Return, freeing storage we allocated. */ #define FREE_STACK_RETURN(value) \ -do \ -{ \ - free (compile_stack.stack); \ - return value; \ -} \ -while (1) + return (free (compile_stack.stack), value) static reg_errcode_t regex_compile (pattern, size, syntax, bufp) @@ -4298,7 +4293,7 @@ #endif if ((re_opcode_t) p1[3] == exactn - && ! (p2[1] * BYTEWIDTH > p1[4] + && ! ((int) p2[1] * BYTEWIDTH > (int) p1[4] && (p2[1 + p1[4] / BYTEWIDTH] & (1 << (p1[4] % BYTEWIDTH))))) { @@ -4312,9 +4307,9 @@ int idx; /* We win if the charset_not inside the loop lists every character listed in the charset after. */ - for (idx = 0; idx < p2[1]; idx++) + for (idx = 0; idx < (int) p2[1]; idx++) if (! (p2[2 + idx] == 0 - || (idx < p1[4] + || (idx < (int) p1[4] && ((p2[2 + idx] & ~ p1[5 + idx]) == 0)))) break; @@ -4329,7 +4324,9 @@ int idx; /* We win if the charset inside the loop has no overlap with the one after the loop. */ - for (idx = 0; idx < p2[1] && idx < p1[4]; idx++) + for (idx = 0; + idx < (int) p2[1] && idx < (int) p1[4]; + idx++) if ((p2[2 + idx] & p1[5 + idx]) != 0) break;