summaryrefslogtreecommitdiff
path: root/src/inlines.c
AgeCommit message (Collapse)Author
2014-11-06Quick fix to #168.John MacFarlane
Ultimately we'll have a better (stack-based?) parser for links, and we can have something more elegant. This fix removes an optimization which gave wrong results for `*hi [there*]`.
2014-11-06Reformatted code consistently.John MacFarlane
2014-11-05Give warning on unknown inline type.John MacFarlane
2014-11-05Improved free_inlines.John MacFarlane
2014-11-05Removed stack limits in inline parsing.John MacFarlane
This brings back segfaults, but we're now aiming for a better solution, revising the renderer so it doesn't use recursion, and using a stack approach for nested brackets. Removing these limits will allow us to know when we've got it right. See #166, #187.
2014-11-05free_inlines: use non-recursive algorithm.John MacFarlane
This will help avoid stack overflows in deeply nested structures. Partially addresses #187 (still need to do renderers).
2014-11-05Removed recursive call to handle_strong_emph.John MacFarlane
Closes #186 - in a somewhat different way than in the PR. This is simpler and I don't see any significant impact on performance in my tests.
2014-11-03Removed artificial rule for emph/strong markers.John MacFarlane
Previously there was a rule that nothing in a string of more than 3 `*` or `_` characters could close or start emphasis. This was artifical and led to strange asymmetries, e.g. you could have `*a *b**` emph within emph but not `**a **b****` strong within strong. The new parsing strategy makes it easy to remove this limitation. Spec, js, and c implementations have been updated. Spec might need some further grooming.
2014-10-28Disallow bracketed labels nested more than 1000 deep.John MacFarlane
For performance reasons. See #166.
2014-10-28Changed EMPHASIS_STACK_LIMIT -> STACK_LIMIT.John MacFarlane
We'll also use it in parsing bracketed link labels.
2014-10-28Rename number_of_emphasis_openers -> emphasis_nestlevel.John MacFarlane
2014-10-26Add EMPHASIS_STACK_LIMIT.John MacFarlane
If we get more than 1000 deep in potential emphasis/strong emphasis openers, we refuse to add more to the stack. This prevents the sort of stack overflow we previously got with python -c 'print "*a **a " * 100000; print " a** a*" * 100000' | ./cmark Partially addresses #166.
2014-10-24Renamed c program and library stmd -> cmark.John MacFarlane
Also renamed internal library functions accordingly.
2014-10-24Merge branch 'master' of https://github.com/tchetch/stmd into tchetch-masterJohn MacFarlane
Conflicts: src/inlines.c
2014-10-24Use unsigned char, not char, throughout.John MacFarlane
Closes #43.
2014-10-24Fixed a memory allocation error.John MacFarlane
2014-10-24Fixed memory leak by freeing all unused emphasis openers.John MacFarlane
2014-10-24Renamed subj->last_emphasis to subj->emphasis_openers.John MacFarlane
2014-10-19Removed now-undeeded 'first' parameter in parse_inline.John MacFarlane
2014-10-19Whitespace changes.John MacFarlane
2014-10-18parse_inline: Correctly move to last inline.John MacFarlane
2014-10-18Fixed performance regression.John MacFarlane
See discussion under #157.
2014-10-18Don't emit empty str elements in handle_strong_emph.John MacFarlane
2014-10-18Reindented c sources.John MacFarlane
2014-10-09After inline parsing free any remaining InlineStack instances.user
2014-10-09Modified inline parsing to keep track of two pointers - the head of the list ↵user
and the tail.
2014-10-09Revert "Modified inline parsing to keep track of two pointers - the head of ↵Knagis
the list and the tail." This reverts commit bc78ad0a182bd322552fd081e30e552c18a87455.
2014-10-09Modified inline parsing to keep track of two pointers - the head of the list ↵Knagis
and the tail.
2014-10-08Implemented stack-based algorithm for matching emphasisKnagis
2014-10-06- Use of calloc instead of malloctchetch
- Test for NULL after allocation
2014-09-18Use a lookup table for subject_find_special_charJordan Milne
2014-09-15Cleanup external APIsVicent Marti
2014-09-10Do not use strchr for span searchesVicent Marti
Strchr will return a valid pointer for '\0' when searching a static string, as the NULL byte is part of the string.
2014-09-10Cleanup reference implementationVicent Marti
2014-09-09This is going wellVicent Marti
2014-09-09UTF8-aware detabbing and entity handlingVicent Marti
2014-09-09Silly meVicent Marti
2014-09-09Remove warningsVicent Marti
2014-09-09Rename `inl`Vicent Marti
2014-09-09Rename inlVicent Marti
2014-09-09Rename to strbufVicent Marti
2014-09-09433/8Vicent Marti
2014-09-09430/11Vicent Marti
2014-09-09426/15Vicent Marti
2014-09-09368/73Vicent Marti
2014-09-09338/103Vicent Marti
2014-09-09NO SEGFAULTS KTHXVicent Marti
2014-09-09Rename inlinesVicent Marti
2014-09-09ffffixVicent Marti
2014-09-09lolVicent Marti