libc: regex: partial revert of r368358
Part of the libregex functionality leaked into the tests it shares with the standard regex(3). Introduce a P flag to set the REG_POSIX cflag to indicate that libc regex should effectively do nothing while libregex should specifically run it in non-extended mode. This unbreaks the libc/regex test run. Reported by: Jenkins
This commit is contained in:
parent
68225a196f
commit
4f1efa309c
@ -28,6 +28,7 @@ The full list of flags:
|
|||||||
$ REG_NOTEOL
|
$ REG_NOTEOL
|
||||||
# REG_STARTEND (see below)
|
# REG_STARTEND (see below)
|
||||||
p REG_PEND
|
p REG_PEND
|
||||||
|
P REG_POSIX
|
||||||
|
|
||||||
For REG_STARTEND, the start/end offsets are those of the substring
|
For REG_STARTEND, the start/end offsets are those of the substring
|
||||||
enclosed in ().
|
enclosed in ().
|
||||||
|
@ -5,7 +5,7 @@ a\*c & a*c a*c
|
|||||||
a\\b & a\b a\b
|
a\\b & a\b a\b
|
||||||
a\\\*b & a\*b a\*b
|
a\\\*b & a\*b a\*b
|
||||||
# Begin FreeBSD
|
# Begin FreeBSD
|
||||||
a\bc & abc
|
a\bc &CP EESCAPE
|
||||||
# End FreeBSD
|
# End FreeBSD
|
||||||
a\ &C EESCAPE
|
a\ &C EESCAPE
|
||||||
a\\bc & a\bc a\bc
|
a\\bc & a\bc a\bc
|
||||||
|
@ -338,7 +338,7 @@ options(int type, char *s)
|
|||||||
{
|
{
|
||||||
char *p;
|
char *p;
|
||||||
int o = (type == 'c') ? copts : eopts;
|
int o = (type == 'c') ? copts : eopts;
|
||||||
const char *legal = (type == 'c') ? "bisnmp" : "^$#tl";
|
const char *legal = (type == 'c') ? "bisnmpP" : "^$#tl";
|
||||||
|
|
||||||
for (p = s; *p != '\0'; p++)
|
for (p = s; *p != '\0'; p++)
|
||||||
if (strchr(legal, *p) != NULL)
|
if (strchr(legal, *p) != NULL)
|
||||||
@ -362,6 +362,9 @@ options(int type, char *s)
|
|||||||
case 'p':
|
case 'p':
|
||||||
o |= REG_PEND;
|
o |= REG_PEND;
|
||||||
break;
|
break;
|
||||||
|
case 'P':
|
||||||
|
o |= REG_POSIX;
|
||||||
|
break;
|
||||||
case '^':
|
case '^':
|
||||||
o |= REG_NOTBOL;
|
o |= REG_NOTBOL;
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user