diff options
author | John MacFarlane <jgm@berkeley.edu> | 2015-07-12 20:39:34 -0700 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2015-07-12 20:39:34 -0700 |
commit | 7eb81622aedcda536f41bc36b63d3fc48c065838 (patch) | |
tree | c0cfc70e28d54b948a375113604d2f528fc4172c /src/scanners.re | |
parent | 34cd161d7b70c39957f46c9602aef165d747a466 (diff) |
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.
Diffstat (limited to 'src/scanners.re')
-rw-r--r-- | src/scanners.re | 2 |
1 files changed, 1 insertions, 1 deletions
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; } */ } |