regex: Remove some unreachable breaks.
This is based on a much bigger cleanup done in Illumos. Reference: https://www.illumos.org/issues/2077 MFC after: 1 week
This commit is contained in:
parent
ee9bc59982
commit
eab20bceca
@ -686,19 +686,16 @@ backref(struct match *m,
|
||||
while (m->g->strip[ss] != SOP(O_BACK, i))
|
||||
ss++;
|
||||
return(backref(m, sp+len, stop, ss+1, stopst, lev, rec));
|
||||
break;
|
||||
case OQUEST_: /* to null or not */
|
||||
dp = backref(m, sp, stop, ss+1, stopst, lev, rec);
|
||||
if (dp != NULL)
|
||||
return(dp); /* not */
|
||||
return(backref(m, sp, stop, ss+OPND(s)+1, stopst, lev, rec));
|
||||
break;
|
||||
case OPLUS_:
|
||||
assert(m->lastpos != NULL);
|
||||
assert(lev+1 <= m->g->nplus);
|
||||
m->lastpos[lev+1] = sp;
|
||||
return(backref(m, sp, stop, ss+1, stopst, lev+1, rec));
|
||||
break;
|
||||
case O_PLUS:
|
||||
if (sp == m->lastpos[lev]) /* last pass matched null */
|
||||
return(backref(m, sp, stop, ss+1, stopst, lev-1, rec));
|
||||
@ -709,7 +706,6 @@ backref(struct match *m,
|
||||
return(backref(m, sp, stop, ss+1, stopst, lev-1, rec));
|
||||
else
|
||||
return(dp);
|
||||
break;
|
||||
case OCH_: /* find the right one, if any */
|
||||
ssub = ss + 1;
|
||||
esub = ss + OPND(s) - 1;
|
||||
@ -730,6 +726,7 @@ backref(struct match *m,
|
||||
else
|
||||
assert(OP(m->g->strip[esub]) == O_CH);
|
||||
}
|
||||
/* NOTREACHED */
|
||||
break;
|
||||
case OLPAREN: /* must undo assignment if rest fails */
|
||||
i = OPND(s);
|
||||
@ -741,7 +738,6 @@ backref(struct match *m,
|
||||
return(dp);
|
||||
m->pmatch[i].rm_so = offsave;
|
||||
return(NULL);
|
||||
break;
|
||||
case ORPAREN: /* must undo assignment if rest fails */
|
||||
i = OPND(s);
|
||||
assert(0 < i && i <= m->g->nsub);
|
||||
@ -752,7 +748,6 @@ backref(struct match *m,
|
||||
return(dp);
|
||||
m->pmatch[i].rm_eo = offsave;
|
||||
return(NULL);
|
||||
break;
|
||||
default: /* uh oh */
|
||||
assert(nope);
|
||||
break;
|
||||
|
@ -746,7 +746,6 @@ p_b_term(struct parse *p, cset *cs)
|
||||
case '-':
|
||||
SETERROR(REG_ERANGE);
|
||||
return; /* NOTE RETURN */
|
||||
break;
|
||||
default:
|
||||
c = '\0';
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user