From 8270cf85fc1ee514ccef54d4c545e9ba97b4c003 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Mon, 1 Jun 2015 22:59:49 +0200 Subject: Fixed `is_autolink`. Previously *any* link with an absolute URL was treated as an autolink. Closes #50. See also jgm/pandoc#2203. --- src/commonmark.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/commonmark.c') diff --git a/src/commonmark.c b/src/commonmark.c index 805f139..47da191 100644 --- a/src/commonmark.c +++ b/src/commonmark.c @@ -239,6 +239,7 @@ is_autolink(cmark_node *node) { const char *title; const char *url; + cmark_node *link_text; if (node->type != CMARK_NODE_LINK) { return false; @@ -255,10 +256,13 @@ is_autolink(cmark_node *node) if (title != NULL && strlen(title) > 0) { return false; } - cmark_consolidate_text_nodes(node); - return (strncmp(url, - (char*)node->as.literal.data, - node->as.literal.len) == 0); + + link_text = node->first_child; + cmark_consolidate_text_nodes(link_text); + return ((int)strlen(url) == link_text->as.literal.len && + strncmp(url, + (char*)link_text->as.literal.data, + link_text->as.literal.len) == 0); } // if node is a block node, returns node. -- cgit v1.2.3