summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2015-06-03Revert "Hacks to spec_tests.py to test CRLF support."John MacFarlane
This reverts commit 6f99ff72519a34517285b070cb222de42d8acdfd. We'll add a separate test for line endings.
2015-06-03Revised "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-03Merge branch 'master' of https://github.com/btrask/cmark into btrask-masterJohn MacFarlane
Conflicts: src/blocks.c
2015-06-03Updated spec.John MacFarlane
2015-06-03Added note on 64-bit timings in benchmarks.md.John MacFarlane
2015-06-03Fixed bug in list item parsing when items indented >= 4 spaces.John MacFarlane
Closes #52.