1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
diff -urN mp-3.3.9.orig/gnu_regex.c mp-3.3.9/gnu_regex.c
--- mp-3.3.9.orig/gnu_regex.c 2004-12-21 11:51:05.000000000 -0500
+++ mp-3.3.9/gnu_regex.c 2004-12-21 12:06:50.974403033 -0500
@@ -1635,10 +1635,12 @@
if (syntax & RE_NO_BK_PARENS) goto normal_backslash;
if (COMPILE_STACK_EMPTY)
+ {
if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)
goto normal_backslash;
else
return REG_ERPAREN;
+ }
handle_close:
if (fixup_alt_jump)
@@ -1655,10 +1657,12 @@
/* See similar code for backslashed left paren above. */
if (COMPILE_STACK_EMPTY)
+ {
if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)
goto normal_char;
else
return REG_ERPAREN;
+ }
/* Since we just checked for an empty stack above, this
``can't happen''. */
@@ -3843,7 +3847,7 @@
/* Compare that many; failure if mismatch, else move
past them. */
if (translate
- ? bcmp_translate (d, d2, mcnt, translate)
+ ? bcmp_translate ((unsigned char *)d, (unsigned char *)d2, mcnt, translate)
: bcmp (d, d2, mcnt))
goto fail;
d += mcnt, d2 += mcnt;
|