From 7eb81622aedcda536f41bc36b63d3fc48c065838 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sun, 12 Jul 2015 20:39:34 -0700 Subject: Fixed scanner for link url. re2c returns the longest match, so we were getting bad results with [link](foo\(and\(bar\)\)) which it would parse as containing a bare `\` followed by an in-parens chunk ending with the final paren. --- src/scanners.re | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/scanners.re') diff --git a/src/scanners.re b/src/scanners.re index d2cdefe..efa6731 100644 --- a/src/scanners.re +++ b/src/scanners.re @@ -210,7 +210,7 @@ bufsize_t _scan_link_url(const unsigned char *p) const unsigned char *start = p; /*!re2c [ \r\n]* [<] ([^<>\r\n\\\x00] | escaped_char | [\\])* [>] { return (bufsize_t)(p - start); } - [ \r\n]* (reg_char+ | escaped_char | in_parens_nosp | [\\])* { return (bufsize_t)(p - start); } + [ \r\n]* (reg_char+ | escaped_char | in_parens_nosp | [\\][^()])* { return (bufsize_t)(p - start); } .? { return 0; } */ } -- cgit v1.2.3