summaryrefslogtreecommitdiff
path: root/src/scanners.re
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2015-07-12 20:39:34 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2015-07-12 20:39:34 -0700
commit7eb81622aedcda536f41bc36b63d3fc48c065838 (patch)
treec0cfc70e28d54b948a375113604d2f528fc4172c /src/scanners.re
parent34cd161d7b70c39957f46c9602aef165d747a466 (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.re2
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; }
*/
}