summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-06-10process_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-10Revert "Merge pull request #58 from nwellnhof/optimize_utf8proc_detab"John MacFarlane
This reverts commit 54d1249c2caebf45a24d691dc765fb93c9a5e594, reversing changes made to bc14d869323650e936c7143dcf941b28ccd5b57d.
2015-06-09Updated spec.John MacFarlane
2015-06-09Merge pull request #58 from nwellnhof/optimize_utf8proc_detabJohn MacFarlane
Further optimize utf8proc_valid
2015-06-09Further optimize utf8proc_validNick Wellnhofer
Assume a multi-byte sequence and rework switch statement into if/else for another 2% speedup.
2015-06-09Merge pull request #57 from nwellnhof/optimize_utf8proc_detabJohn MacFarlane
Optimize utf8proc_detab
2015-06-09Roll utf8proc_charlen into utf8proc_validNick Wellnhofer
Speeds up "make bench" by another percent.
2015-06-09Optimize utf8proc_detabNick 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-08Updated spec.John MacFarlane
2015-06-07Updated changelog.John MacFarlane
2015-06-07Merge pull request #56 from nwellnhof/bufsize_tJohn MacFarlane
Safer handling of string buffer sizes and indices
2015-06-07Remove unimplemented functions from houdini.hNick Wellnhofer
2015-06-07Helper to safely call strlenNick Wellnhofer
2015-06-07Use size_t for strlen result in API testNick Wellnhofer
2015-06-07Avoid strlen in html.cNick Wellnhofer
2015-06-07Avoid strlen in xml.cNick Wellnhofer
2015-06-07Avoid strlen in commonmark.cNick Wellnhofer
2015-06-07Check for overflow in S_parser_feedNick Wellnhofer
Guard against too large chunks passed via the API.
2015-06-07Convert code base to strbuf_tNick 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-07Change return type of cmark_strbuf_lenNick Wellnhofer
2015-06-07Missing bounds checks in buffer.cNick Wellnhofer
2015-06-07Remove unused function cmark_strbuf_attachNick Wellnhofer
This function was missing a couple of range checks that I'm too lazy to fix.
2015-06-07Fix check in cmark_strbuf_vprintfNick Wellnhofer
Avoid potential overflow and allow for different bufsize types.
2015-06-07Check for negative lengths in buffer.cNick Wellnhofer
2015-06-07Check for overflow when growing strbufsNick Wellnhofer
Replace macro ENSURE_SIZE with inline function S_strbuf_grow_by that checks for overflow.
2015-06-07Remove useless code in cmark_strbuf_growNick Wellnhofer
cmark_strbuf_grow will never truncate a buffer.
2015-06-07Account for null terminator in cmark_strbuf_growNick Wellnhofer
This simplifies overflow checks.
2015-06-07Check for overflow in cmark_strbuf_growNick Wellnhofer
2015-06-07Simplify oversizing of strbufsNick Wellnhofer
Always add 50% on top of target size. No need for a loop.
2015-06-07Use custom type bufsize_t for string buffer sizesNick 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-07Switch cmark_markdown_to_html over to size_tNick Wellnhofer
2015-06-07Added benchmark for hoedown.John MacFarlane
Note that hoedown doesn't show the 32/64 bit difference that sundown does -- so it was probably a bug in sundown. Removed the comments from benchmarks.md about this.
2015-06-07Merge pull request #55 from nwellnhof/strbuf_error_handlingJohn MacFarlane
Abort on strbuf errors
2015-06-07Updated changelog.John MacFarlane
2015-06-07Abort on strbuf errorsNick 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-06Merge pull request #54 from bryant/ensure-size-typoJohn MacFarlane
fix ENSURE_SIZE to actually check left arg length.
2015-06-06fix ENSURE_SIZE to actually check left arg length.bryant
2015-06-06Updated changelog.John MacFarlane
2015-06-06Updated version to 0.20.0.John MacFarlane
2015-06-06Rename `is_line_end_char` to `S_is_line_end_char`.John MacFarlane
2015-06-06Factored 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-06astyle formatting changes.John MacFarlane
2015-06-06Allow new list item container indented > 4 spaces.John MacFarlane
This fixes cases like: ``` 1. a 2. b 3. c ```
2015-06-06Updated spec.John MacFarlane
2015-06-04Updated spec.John MacFarlane
2015-06-04Don't allow link labels with no non-whitespace characters.John MacFarlane
See jgm/CommonMark#322.
2015-06-04Updated spec.John MacFarlane
2015-06-04Updated spec.txt.John MacFarlane
2015-06-04Added test for different line endings to api_test.John MacFarlane
2015-06-04Cleaned up with is_line_end_char function.John MacFarlane