From 58f1b845d69515ad676691e109624b05d2ca68d6 Mon Sep 17 00:00:00 2001 From: dmiller Date: Wed, 1 Oct 2014 17:56:19 +0000 Subject: [PATCH] Let lpeg-utility.escaped_quote only remove escaped escapes and quotes --- nselib/lpeg-utility.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nselib/lpeg-utility.lua b/nselib/lpeg-utility.lua index 2b77d3b21..3c6a39c94 100644 --- a/nselib/lpeg-utility.lua +++ b/nselib/lpeg-utility.lua @@ -81,11 +81,12 @@ function escaped_quote (quot, esc) quot = quot or '"' esc = esc or '\\' return lpeg.P { - lpeg.Cs(lpeg.V "quot" * lpeg.Cs((lpeg.V "simple_char" + lpeg.V "unesc")^0) * lpeg.V "quot"), + lpeg.Cs(lpeg.V "quot" * lpeg.Cs((lpeg.V "simple_char" + lpeg.V "noesc" + lpeg.V "unesc")^0) * lpeg.V "quot"), quot = lpeg.P(quot)/"", esc = lpeg.P(esc), simple_char = (lpeg.P(1) - (lpeg.V "quot" + lpeg.V "esc")), - unesc = (lpeg.V "esc" * lpeg.C( lpeg.P(1) ))/"%1", + unesc = (lpeg.V "esc" * lpeg.C( lpeg.V "esc" + lpeg.P(quot) ))/"%1", + noesc = lpeg.V "esc" * lpeg.V "simple_char" } end