<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cmark/src/node.c, branch master</title>
<subtitle>My own fork of cmark for commonmark conversion</subtitle>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/'/>
<entry>
<title>Rearrange struct cmark_node</title>
<updated>2020-01-23T16:25:54+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2020-01-19T12:46:10+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=f3f50b29d615d2678d8047dc277b108cc5143167'/>
<id>f3f50b29d615d2678d8047dc277b108cc5143167</id>
<content type='text'>
Introduce multi-purpose data/len members in struct cmark_node. This
is mainly used to store literal text for inlines, code and HTML blocks.

Move the content strbuf for blocks from cmark_node to cmark_parser.
When finalizing nodes that allow inlines (paragraphs and headings),
detach the strbuf and store the block content in the node's data/len
members. Free the block content after processing inlines.

Reduces size of struct cmark_node by 8 bytes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce multi-purpose data/len members in struct cmark_node. This
is mainly used to store literal text for inlines, code and HTML blocks.

Move the content strbuf for blocks from cmark_node to cmark_parser.
When finalizing nodes that allow inlines (paragraphs and headings),
detach the strbuf and store the block content in the node's data/len
members. Free the block content after processing inlines.

Reduces size of struct cmark_node by 8 bytes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve packing of struct cmark_list</title>
<updated>2020-01-23T16:25:54+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2020-01-19T12:45:40+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=3ef0718f9f4c9dea5014a8a0e9a67e2366b9374f'/>
<id>3ef0718f9f4c9dea5014a8a0e9a67e2366b9374f</id>
<content type='text'>
Allows to reduce size of struct cmark_node later.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allows to reduce size of struct cmark_node later.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use C string instead of chunk for literal text</title>
<updated>2020-01-23T16:25:54+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2020-01-18T23:51:02+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=b0a4cfa36e99c27dd2b20be8f8888fa7721bad58'/>
<id>b0a4cfa36e99c27dd2b20be8f8888fa7721bad58</id>
<content type='text'>
Use zero-terminated C strings and a separate length field instead of
cmark_chunks. Literal inline text will now be copied from the parent
block's content buffer, slowing the benchmark down by 10-15%.

The node struct never references memory of other nodes now, fixing #309.
Node accessors don't have to check for delayed creation of C strings,
so parsing and iterating all literals using the public API should
actually be faster than before.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use zero-terminated C strings and a separate length field instead of
cmark_chunks. Literal inline text will now be copied from the parent
block's content buffer, slowing the benchmark down by 10-15%.

The node struct never references memory of other nodes now, fixing #309.
Node accessors don't have to check for delayed creation of C strings,
so parsing and iterating all literals using the public API should
actually be faster than before.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use C string instead of chunk for custom block contents</title>
<updated>2020-01-23T16:25:54+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2020-01-18T22:37:32+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=75b48c5938f5984dbcf79a579d15c9cbd6447d12'/>
<id>75b48c5938f5984dbcf79a579d15c9cbd6447d12</id>
<content type='text'>
Reduces size of struct cmark_node by 8 bytes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reduces size of struct cmark_node by 8 bytes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use C string instead of chunk for link URL and title</title>
<updated>2020-01-23T16:25:54+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2020-01-18T22:12:37+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=b237924585e61532ada774bf9e70eadff00666dc'/>
<id>b237924585e61532ada774bf9e70eadff00666dc</id>
<content type='text'>
Use zero-terminated C strings instead of cmark_chunks without storing
the length. This introduces a few additional strlen computations,
but overhead should be low.

Allows to reduce size of struct cmark_node later.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use zero-terminated C strings instead of cmark_chunks without storing
the length. This introduces a few additional strlen computations,
but overhead should be low.

Allows to reduce size of struct cmark_node later.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use C string instead of chunk for code info and literal</title>
<updated>2020-01-23T16:25:54+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2020-01-18T21:27:13+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=3acbdf0965859c55fa36c65a4c0e17e92012687c'/>
<id>3acbdf0965859c55fa36c65a4c0e17e92012687c</id>
<content type='text'>
Use zero-terminated C strings instead of cmark_chunks without storing
the length. The length of code literals will be readded in a later
commit. strlen overhead for code info should be negligible.

Reduces size of struct cmark_node by 8 bytes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use zero-terminated C strings instead of cmark_chunks without storing
the length. The length of code literals will be readded in a later
commit. strlen overhead for code info should be negligible.

Reduces size of struct cmark_node by 8 bytes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Helper function to set C strings in nodes</title>
<updated>2020-01-23T16:25:54+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2020-01-18T21:25:41+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=df7ef9ed7b5f418897df557c9de88eaba2174703'/>
<id>df7ef9ed7b5f418897df557c9de88eaba2174703</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed cmark_node_get_list_start to return 0 for bullet lists...</title>
<updated>2017-06-02T14:23:25+00:00</updated>
<author>
<name>John MacFarlane</name>
<email>jgm@berkeley.edu</email>
</author>
<published>2017-06-02T14:23:25+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=0b1886ca44e0b562f9022ad95568acd6f9b4e1d2'/>
<id>0b1886ca44e0b562f9022ad95568acd6f9b4e1d2</id>
<content type='text'>
as documented!

Closes #202.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
as documented!

Closes #202.
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed check for same mem allocator in S_can_contain.</title>
<updated>2016-06-23T20:29:06+00:00</updated>
<author>
<name>John MacFarlane</name>
<email>jgm@berkeley.edu</email>
</author>
<published>2016-06-23T20:28:41+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=41b8c5b3a4c46d3c2beb1dae6e170c295c19b198'/>
<id>41b8c5b3a4c46d3c2beb1dae6e170c295c19b198</id>
<content type='text'>
This is too strict, as it prevents the use of dynamically
loaded extensions: see
https://github.com/jgm/cmark/pull/123#discussion_r67231518.

Documented in man page and public header that one should use the same
memory allocator for every node in a tree.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is too strict, as it prevents the use of dynamically
loaded extensions: see
https://github.com/jgm/cmark/pull/123#discussion_r67231518.

Documented in man page and public header that one should use the same
memory allocator for every node in a tree.
</pre>
</div>
</content>
</entry>
<entry>
<title>msvc: Fix warnings and errors</title>
<updated>2016-06-06T22:39:06+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>tanoku@gmail.com</email>
</author>
<published>2016-06-06T09:50:13+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=d4cb8e767ce224d31501c19fb11a220824df9bf8'/>
<id>d4cb8e767ce224d31501c19fb11a220824df9bf8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
