summaryrefslogtreecommitdiff
path: root/src/regex.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1994-07-15 07:48:35 +0000
committerRichard M. Stallman <rms@gnu.org>1994-07-15 07:48:35 +0000
commit5330e99c716e17b584dd5f09c3ed1cd6807393a1 (patch)
tree5a683fa633e7a0d3517465ca59509e4ad454e6be /src/regex.c
parent47c5e807f2ce02d0c29a56a3c28e8605d64b6eec (diff)
downloademacs-5330e99c716e17b584dd5f09c3ed1cd6807393a1.tar.gz
(re_match_2_internal): Add casts to shut up some compilers.
(FREE_STACK_RETURN): Nest the free inside the return.
Diffstat (limited to 'src/regex.c')
-rw-r--r--src/regex.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/regex.c b/src/regex.c
index 0cfd4969982..88ccc69a208 100644
--- a/src/regex.c
+++ b/src/regex.c
@@ -1493,12 +1493,7 @@ typedef struct
/* 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
#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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
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;