summaryrefslogtreecommitdiff
path: root/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'parse.c')
-rw-r--r--parse.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/parse.c b/parse.c
index 56b85fc384..3836fb5937 100644
--- a/parse.c
+++ b/parse.c
@@ -4567,10 +4567,6 @@ yyerrhandle:
static char *tokenbuf = NULL;
static int tokidx, toksiz = 0;
-#ifndef HAVE_STRDUP
-char *strdup();
-#endif
-
static NODE *rb_str_extend();
#define LEAVE_BS 1
@@ -5006,20 +5002,23 @@ parse_regx(term, paren)
case 'x':
options |= RE_OPTION_EXTENDED;
break;
+ case 'p':
+ options |= RE_OPTION_POSIX;
+ break;
case 'o':
once = 1;
break;
case 'n':
- kcode = 4;
+ kcode = 8;
break;
case 'e':
- kcode = 8;
+ kcode = 16;
break;
case 's':
- kcode = 12;
+ kcode = 24;
break;
case 'u':
- kcode = 16;
+ kcode = 32;
break;
default:
pushback(c);