summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/commonmark.c12
1 files changed, 8 insertions, 4 deletions
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.