Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-06-11 | Fixed `process_emphasis` to handle new pathological cases. | John MacFarlane | |
Now we have an array of pointers (`potential_openers`), keyed to the delim char. When we've failed to match a potential opener prior to point X in the delimiter stack, we reset `potential_openers` for that opener type to X, and thus avoid having to look again through all the openers we've already rejected. See jgm/commonmark#43. | |||
2015-06-10 | More code simplification. | John MacFarlane | |
2015-06-10 | Code simplification. | John MacFarlane | |
2015-06-10 | process_inlines: remove closers from delim stack when possible. | John MacFarlane | |
When they have no matching openers and cannot be openers themselves, we can safely remove them. This helps with a performance case: "a_ " * 20000. See jgm/commonmark.js#43. | |||
2015-06-10 | Revert "Merge pull request #58 from nwellnhof/optimize_utf8proc_detab" | John MacFarlane | |
This reverts commit 54d1249c2caebf45a24d691dc765fb93c9a5e594, reversing changes made to bc14d869323650e936c7143dcf941b28ccd5b57d. | |||
2015-06-09 | Further optimize utf8proc_valid | Nick Wellnhofer | |
Assume a multi-byte sequence and rework switch statement into if/else for another 2% speedup. | |||
2015-06-09 | Roll utf8proc_charlen into utf8proc_valid | Nick Wellnhofer | |
Speeds up "make bench" by another percent. | |||
2015-06-09 | Optimize utf8proc_detab | Nick Wellnhofer | |
Handle valid UTF-8 chars inside the main loop and avoid a call to strbuf_put for every UTF-8 char. Results in a 8% speedup in the UTF-8-heavy "make bench" on my system. | |||
2015-06-07 | Remove unimplemented functions from houdini.h | Nick Wellnhofer | |
2015-06-07 | Helper to safely call strlen | Nick Wellnhofer | |
2015-06-07 | Avoid strlen in html.c | Nick Wellnhofer | |
2015-06-07 | Avoid strlen in xml.c | Nick Wellnhofer | |
2015-06-07 | Avoid strlen in commonmark.c | Nick Wellnhofer | |
2015-06-07 | Check for overflow in S_parser_feed | Nick Wellnhofer | |
Guard against too large chunks passed via the API. | |||
2015-06-07 | Convert code base to strbuf_t | Nick Wellnhofer | |
There are probably a couple of places I missed. But this will only be a problem if we use a 64-bit bufsize_t at some point. Then, we'll get warnings from -Wshorten-64-to-32. | |||
2015-06-07 | Change return type of cmark_strbuf_len | Nick Wellnhofer | |
2015-06-07 | Missing bounds checks in buffer.c | Nick Wellnhofer | |
2015-06-07 | Remove unused function cmark_strbuf_attach | Nick Wellnhofer | |
This function was missing a couple of range checks that I'm too lazy to fix. | |||
2015-06-07 | Fix check in cmark_strbuf_vprintf | Nick Wellnhofer | |
Avoid potential overflow and allow for different bufsize types. | |||
2015-06-07 | Check for negative lengths in buffer.c | Nick Wellnhofer | |
2015-06-07 | Check for overflow when growing strbufs | Nick Wellnhofer | |
Replace macro ENSURE_SIZE with inline function S_strbuf_grow_by that checks for overflow. | |||
2015-06-07 | Remove useless code in cmark_strbuf_grow | Nick Wellnhofer | |
cmark_strbuf_grow will never truncate a buffer. | |||
2015-06-07 | Account for null terminator in cmark_strbuf_grow | Nick Wellnhofer | |
This simplifies overflow checks. | |||
2015-06-07 | Check for overflow in cmark_strbuf_grow | Nick Wellnhofer | |
2015-06-07 | Simplify oversizing of strbufs | Nick Wellnhofer | |
Always add 50% on top of target size. No need for a loop. | |||
2015-06-07 | Use custom type bufsize_t for string buffer sizes | Nick Wellnhofer | |
This makes it easier to change the type later. No functional change. The rest of the code base still has to be adjusted to use the new type. Also add some TODO comments in buffer.c. | |||
2015-06-07 | Switch cmark_markdown_to_html over to size_t | Nick Wellnhofer | |
2015-06-07 | Abort on strbuf errors | Nick Wellnhofer | |
Users of the strbuf API are supposed to check for an OOM condition after appending to strbufs, but: * This is never done in the whole code base. * The implementation was flawed because only `ptr` was set to the OOM value without adjusting `size` and `asize`. After an error, subsequent calls could very well lead to segfaults, contrary to the documentation. Change the code to always abort on errors with a message printed to stderr. The only alternative is to propagate errors throughout the whole library which seems infeasible. | |||
2015-06-06 | Merge pull request #54 from bryant/ensure-size-typo | John MacFarlane | |
fix ENSURE_SIZE to actually check left arg length. | |||
2015-06-06 | fix ENSURE_SIZE to actually check left arg length. | bryant | |
2015-06-06 | Rename `is_line_end_char` to `S_is_line_end_char`. | John MacFarlane | |
2015-06-06 | Factored out `S_find_first_nonspace` in `S_proces_line`. | John MacFarlane | |
Added fields `offset`, `first_nonspace`, `indent`, and `blank` to `cmark_parser` struct. This just removes some repetition in the code. | |||
2015-06-06 | astyle formatting changes. | John MacFarlane | |
2015-06-06 | Allow new list item container indented > 4 spaces. | John MacFarlane | |
This fixes cases like: ``` 1. a 2. b 3. c ``` | |||
2015-06-04 | Don't allow link labels with no non-whitespace characters. | John MacFarlane | |
See jgm/CommonMark#322. | |||
2015-06-04 | Cleaned up with is_line_end_char function. | John MacFarlane | |
2015-06-03 | Revised "add newline to end if missing" for performance. | John MacFarlane | |
From btrask's alternate code in the comment on https://github.com/jgm/cmark/pull/18. Note: this gives a 1-2% performance boot in our benchmark, probably enough to make it worth while. | |||
2015-06-03 | Merge branch 'master' of https://github.com/btrask/cmark into btrask-master | John MacFarlane | |
Conflicts: src/blocks.c | |||
2015-06-03 | Fixed bug in list item parsing when items indented >= 4 spaces. | John MacFarlane | |
Closes #52. | |||
2015-06-01 | Fixed `is_autolink`. | John MacFarlane | |
Previously *any* link with an absolute URL was treated as an autolink. Closes #50. See also jgm/pandoc#2203. | |||
2015-05-31 | Merge pull request #49 from jeroenooms/master | John MacFarlane | |
Fix for UBSAN note | |||
2015-05-31 | Merge pull request #45 from nwellnhof/windows_snprintf | John MacFarlane | |
Cope with broken snprintf on Windows | |||
2015-05-31 | Removed -pg from Debug build flags. | John MacFarlane | |
Closes #47. | |||
2015-05-30 | Fix for UBSAN note | Jeroen Ooms | |
2015-05-29 | Cope with broken snprintf on Windows | Nick Wellnhofer | |
On Windows, snprintf returns -1 if the output was truncated. Fall back to Windows-specific _scprintf. | |||
2015-05-29 | Revert "Ubsan: add -fsanitize=undefined to link flags too." | John MacFarlane | |
This reverts commit 678bdab4a4421e64f7c36991a098ae6db730140b. This commit led to two -fsanitized=undefined in the same linker invocation. | |||
2015-05-29 | Ubsan: add -fsanitize=undefined to link flags too. | John MacFarlane | |
2015-05-29 | Added Ubsan build target, to check for undefined behavior. | John MacFarlane | |
2015-05-14 | Allow NULL value in string setters | Nick Wellnhofer | |
Supersedes pull request #34. | |||
2015-05-14 | Store link URL and title as cmark_chunk | Nick Wellnhofer | |