diff options
author | Xavier Mendez <me@jmendeth.com> | 2015-01-01 12:22:21 +0100 |
---|---|---|
committer | Xavier Mendez <me@jmendeth.com> | 2015-01-01 12:22:21 +0100 |
commit | fd09d02ca6e0ad6da3f24a832d2fe762268feafd (patch) | |
tree | 2bee28417d69e303489b2c5b9d3f8ebff2a265e1 | |
parent | 810c79db34077e9f1eff3e66ccb4f5d1c43d613b (diff) | |
parent | 6d16d197353e43b0fc299b8c250bdbff0c581b15 (diff) | |
download | rust-hoedown-fd09d02ca6e0ad6da3f24a832d2fe762268feafd.tar.gz |
Merge pull request #144 from uranusjr/fix-escape-in-comment
Special-case comment tag to ignore all its content
-rw-r--r-- | src/html_smartypants.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/html_smartypants.c b/src/html_smartypants.c index bbe4fc5..b0904da 100644 --- a/src/html_smartypants.c +++ b/src/html_smartypants.c @@ -313,6 +313,16 @@ smartypants_cb__ltag(hoedown_buffer *ob, struct smartypants_data *smrt, uint8_t size_t tag, i = 0; + /* This is a comment. Copy everything verbatim until --> or EOF is seen. */ + if (i + 4 < size && memcmp(text, "<!--", 4) == 0) { + i += 4; + while (i + 3 < size && memcmp(text + i, "-->", 3) != 0) + i++; + i += 3; + hoedown_buffer_put(ob, text, i + 1); + return i; + } + while (i < size && text[i] != '>') i++; |