<feed xmlns='http://www.w3.org/2005/Atom'>
<title>libplist/libcnary/node.c, branch 2.8.0</title>
<subtitle>Library to handle Apple Property List format files in binary or XML</subtitle>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/'/>
<entry>
<title>libcnary: Fix leak on error in node_copy_deep()</title>
<updated>2026-02-12T23:48:34+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2026-02-12T23:48:34+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=70fd355f94f41bd53d236c9365ed4f888a8818eb'/>
<id>70fd355f94f41bd53d236c9365ed4f888a8818eb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>libcnary: Fix node_detach to fully clear parent relationship</title>
<updated>2026-02-08T02:54:06+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2026-02-08T02:54:06+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=714ef4f95652bc5dde2bc1a461cac8c3a89a61c9'/>
<id>714ef4f95652bc5dde2bc1a461cac8c3a89a61c9</id>
<content type='text'>
Ensure node_detach() clears child-&gt;parent after removal and
handles missing children lists safely. This makes detached
nodes reusable and allows correct rollback when reinserting
nodes after failed inserts (e.g. depth-limit failures).

Without this, detached nodes could remain logically parented,
causing inconsistent state and preventing reinsertion.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ensure node_detach() clears child-&gt;parent after removal and
handles missing children lists safely. This makes detached
nodes reusable and allows correct rollback when reinserting
nodes after failed inserts (e.g. depth-limit failures).

Without this, detached nodes could remain logically parented,
causing inconsistent state and preventing reinsertion.
</pre>
</div>
</content>
</entry>
<entry>
<title>libcnary: Define error codes and add cycle, depth, and parent guards</title>
<updated>2026-02-06T21:08:39+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2026-02-06T21:08:39+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=1df039994ff2368bc64ea4bc38d9261e6153437c'/>
<id>1df039994ff2368bc64ea4bc38d9261e6153437c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>libcnary: Updated typedefs of node_t and node_list_t to contain pointer</title>
<updated>2023-02-06T17:28:28+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2023-02-06T17:28:28+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=d3908006349f38bcfc0151daebd98b6873a2dbfc'/>
<id>d3908006349f38bcfc0151daebd98b6873a2dbfc</id>
<content type='text'>
This makes the code more readable. Obviously all the code that uses it
is also updated.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes the code more readable. Obviously all the code that uses it
is also updated.
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace malloc + memset with calloc where appropriate</title>
<updated>2021-01-25T15:20:57+00:00</updated>
<author>
<name>Rosen Penev</name>
</author>
<published>2020-12-21T22:24:11+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=af9b59e6a1a36997d7017f4841f4a934ca1ade98'/>
<id>af9b59e6a1a36997d7017f4841f4a934ca1ade98</id>
<content type='text'>
calloc is faster for big allocations. It's also simpler.

Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
calloc is faster for big allocations. It's also simpler.

Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove node_iterator and operate on node list directly to improve memory usage</title>
<updated>2018-12-10T01:22:15+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2018-12-10T01:20:24+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=4de329327ce4aa175e8496d1bff8604bffb6c574'/>
<id>4de329327ce4aa175e8496d1bff8604bffb6c574</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>libcnary: Remove redundant members from node_t struct</title>
<updated>2018-11-28T02:18:39+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2018-11-28T02:18:39+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=74536d7a6737e2a4afb006106f1ce30a9a5aeea5'/>
<id>74536d7a6737e2a4afb006106f1ce30a9a5aeea5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>libcnary: Fix memleak in node_debug()</title>
<updated>2018-07-24T12:11:32+00:00</updated>
<author>
<name>Bastien Nocera</name>
</author>
<published>2018-07-24T12:03:15+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=6be3579b2c23fef242cd49bb02ec7e693169768e'/>
<id>6be3579b2c23fef242cd49bb02ec7e693169768e</id>
<content type='text'>
An iter was created but never destroyed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
An iter was created but never destroyed.
</pre>
</div>
</content>
</entry>
<entry>
<title>libcnary: Remove unused 'node' parameter from node_list_create()</title>
<updated>2017-03-28T00:51:25+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2017-03-28T00:51:25+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=1406766a0c75f6a861afb73f1606036f2da79bd5'/>
<id>1406766a0c75f6a861afb73f1606036f2da79bd5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename "index" variable as it shadows global declaration on older systems</title>
<updated>2014-05-20T15:46:06+00:00</updated>
<author>
<name>Martin Szulecki</name>
</author>
<published>2014-05-20T15:46:06+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=993f65b3bda53e2b22ee9e94efd11cbddd7b73cb'/>
<id>993f65b3bda53e2b22ee9e94efd11cbddd7b73cb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
