svn commit: r265727 - stable/9/lib/libc/regex
Pedro F. Giffuni
pfg at FreeBSD.org
Fri May 9 01:25:26 UTC 2014
Author: pfg
Date: Fri May 9 01:25:25 2014
New Revision: 265727
URL: http://svnweb.freebsd.org/changeset/base/265727
Log:
MFC r265202:
Remove some unreachable breaks in regex.
This is based on a much bigger cleanup done in Illumos.
Reference:
https://www.illumos.org/issues/2077
Modified:
stable/9/lib/libc/regex/engine.c
stable/9/lib/libc/regex/regcomp.c
Directory Properties:
stable/9/ (props changed)
stable/9/lib/ (props changed)
stable/9/lib/libc/ (props changed)
Modified: stable/9/lib/libc/regex/engine.c
==============================================================================
--- stable/9/lib/libc/regex/engine.c Fri May 9 01:20:39 2014 (r265726)
+++ stable/9/lib/libc/regex/engine.c Fri May 9 01:25:25 2014 (r265727)
@@ -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;
Modified: stable/9/lib/libc/regex/regcomp.c
==============================================================================
--- stable/9/lib/libc/regex/regcomp.c Fri May 9 01:20:39 2014 (r265726)
+++ stable/9/lib/libc/regex/regcomp.c Fri May 9 01:25:25 2014 (r265727)
@@ -746,7 +746,6 @@ p_b_term(struct parse *p, cset *cs)
case '-':
SETERROR(REG_ERANGE);
return; /* NOTE RETURN */
- break;
default:
c = '\0';
break;
More information about the svn-src-stable-9
mailing list