From b4c1cf2ea1220698c00fa2692477505e20431bb0 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Mon, 31 Jul 2017 06:56:22 +0200 Subject: libregexp: fix lexer so it doesnt move past the string when it gets a \ escape --- sys/src/libregexp/regcomp.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'sys/src/libregexp') diff --git a/sys/src/libregexp/regcomp.c b/sys/src/libregexp/regcomp.c index 094f94779..c7b3b9b87 100644 --- a/sys/src/libregexp/regcomp.c +++ b/sys/src/libregexp/regcomp.c @@ -312,13 +312,10 @@ getnextr(Parselex *l) return; } l->rawexp += chartorune(&l->rune, l->rawexp); - if(l->rune == L'\\') { - l->rawexp += chartorune(&l->rune, l->rawexp); - l->literal = 1; - } if(*l->rawexp == 0) l->done = 1; - return; + if(l->rune == L'\\') + getnextrlit(l); } static void @@ -333,7 +330,6 @@ getnextrlit(Parselex *l) l->rawexp += chartorune(&l->rune, l->rawexp); if(*l->rawexp == 0) l->done = 1; - return; } static int -- cgit v1.2.3