From 9c01b9a9580effc1b379e5ae04264c49f5849a15 Mon Sep 17 00:00:00 2001 From: stanley lieber Date: Mon, 2 May 2016 14:48:11 -0400 Subject: [PATCH] libregexp/regcomp.c: fix parser for e2 production (thanks, spew) --- sys/src/libregexp/regcomp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/src/libregexp/regcomp.c b/sys/src/libregexp/regcomp.c index c937ee5c9..b54c77597 100644 --- a/sys/src/libregexp/regcomp.c +++ b/sys/src/libregexp/regcomp.c @@ -78,14 +78,14 @@ e2(Parselex *plex) Renode *n; n = e3(plex); - if(lex(plex) == LREP) { + while(lex(plex) == LREP) { switch(plex->rune) { case L'*': - return node(plex, TSTAR, n, nil); + n = node(plex, TSTAR, n, nil); case L'+': - return node(plex, TPLUS, n, nil); + n = node(plex, TPLUS, n, nil); case L'?': - return node(plex, TQUES, n, nil); + n = node(plex, TQUES, n, nil); } } plex->peek = 1; -- 2.44.0