Match leading ^ in regexp with embedded newlines (Roger Peppe)
This commit is contained in:
parent
d91ab9ea7b
commit
da7f7882a2
2 changed files with 10 additions and 11 deletions
|
|
@ -58,7 +58,7 @@ regexec1(Reprog *progp, /* program to run */
|
|||
p = utfrune(s, '\n');
|
||||
if(p == 0 || s == j->eol)
|
||||
return match;
|
||||
s = p;
|
||||
s = p+1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ rregexec1(Reprog *progp, /* program to run */
|
|||
Relist* tle; /* ends of this and next list */
|
||||
Relist* nle;
|
||||
int match;
|
||||
Rune *p;
|
||||
|
||||
match = 0;
|
||||
checkstart = j->startchar;
|
||||
|
|
@ -44,20 +45,18 @@ rregexec1(Reprog *progp, /* program to run */
|
|||
if(checkstart) {
|
||||
switch(j->starttype) {
|
||||
case RUNE:
|
||||
while(*s != j->startchar) {
|
||||
if(*s == 0 || s == j->reol)
|
||||
return match;
|
||||
s++;
|
||||
}
|
||||
p = runestrchr(s, j->startchar);
|
||||
if(p == 0 || p == j->eol)
|
||||
return match;
|
||||
s = p;
|
||||
break;
|
||||
case BOL:
|
||||
if(s == bol)
|
||||
break;
|
||||
while(*s != '\n') {
|
||||
if(*s == 0 || s == j->reol)
|
||||
return match;
|
||||
s++;
|
||||
}
|
||||
p = runestrchr(s, '\n');
|
||||
if(p == 0 || s == j->reol)
|
||||
return match;
|
||||
s = p+1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue