<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xavi/dynstr/include, branch master</title>
<subtitle>Dynamic string library in C99.
</subtitle>
<id>https://gitea.privatedns.org/xavi/dynstr/atom?h=master</id>
<link rel='self' href='https://gitea.privatedns.org/xavi/dynstr/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/dynstr/'/>
<updated>2023-03-08T00:18:47+00:00</updated>
<entry>
<title>Update copyright notice</title>
<updated>2023-03-08T00:18:47+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-03-08T00:18:47+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/dynstr/commit/?id=0f2bf85be8deb008549e0099cb09bdc95f808c47'/>
<id>urn:sha1:0f2bf85be8deb008549e0099cb09bdc95f808c47</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add missing do/while (0) on convenience macros</title>
<updated>2020-10-08T09:24:31+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2020-10-08T06:47:15+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/dynstr/commit/?id=837c9427de10ddcb5295f3840ead2a6c3aa61e69'/>
<id>urn:sha1:837c9427de10ddcb5295f3840ead2a6c3aa61e69</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move convenience macros down for readability</title>
<updated>2020-10-08T09:24:31+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2020-10-08T06:44:33+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/dynstr/commit/?id=083eca5323a57f22847c578916e956321491a332'/>
<id>urn:sha1:083eca5323a57f22847c578916e956321491a332</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add convenience macros for dynstr_prepend</title>
<updated>2020-10-08T09:24:31+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2020-10-08T06:41:46+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/dynstr/commit/?id=3e9016f23f38a3243213badaa954725518fb9509'/>
<id>urn:sha1:3e9016f23f38a3243213badaa954725518fb9509</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add dynstr_vprepend</title>
<updated>2020-10-08T09:24:24+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2020-10-08T06:41:22+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/dynstr/commit/?id=c862d84d0b6827106a53bc571c81eb523b05c50f'/>
<id>urn:sha1:c862d84d0b6827106a53bc571c81eb523b05c50f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add dynstr_vappend</title>
<updated>2020-10-06T07:20:57+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavier.delcampo@orain.io</email>
</author>
<published>2020-10-06T07:20:57+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/dynstr/commit/?id=8bd1123857aef03c9aefb0658e3a8a562984a52e'/>
<id>urn:sha1:8bd1123857aef03c9aefb0658e3a8a562984a52e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Avoid exceeding 80-column per line</title>
<updated>2020-09-03T13:51:00+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavier.delcampo@orain.io</email>
</author>
<published>2020-09-03T13:51:00+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/dynstr/commit/?id=e0eaf50fdc4a334a59cfa6447d68e7ba9aed6f45'/>
<id>urn:sha1:e0eaf50fdc4a334a59cfa6447d68e7ba9aed6f45</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Avoid potential undesirable effects caused by macros</title>
<updated>2020-09-03T13:42:56+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavier.delcampo@orain.io</email>
</author>
<published>2020-09-03T12:57:05+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/dynstr/commit/?id=4c7bfbf87f05e9df16a34198098806e1ac029be9'/>
<id>urn:sha1:4c7bfbf87f05e9df16a34198098806e1ac029be9</id>
<content type='text'>
The macros provided by this library would expand to an unguarded
conditional that could have potential unwanted consequences. Consider
the following example:

    dynstr_append_or_ret_null(&amp;d, "example");
    else
    {
        /* This is unexpectedly working. */
    }

The example above would expand to:

    if (dynstr_append(__VA_ARGS__) != DYNSTR_OK) return false;
    else
    {
        /* This is unexpectedly working. */
    }

Which is valid C yet allows possibly unexpected behaviour. The solution
is then to enclose these conditions into a `do while (0)` statement.
</content>
</entry>
<entry>
<title>Rephrase documentation to avoid confusion</title>
<updated>2020-09-03T13:42:52+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavier.delcampo@orain.io</email>
</author>
<published>2020-09-03T12:44:06+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/dynstr/commit/?id=9b85c4beaad6560e810f662d99215f1450c6a74f'/>
<id>urn:sha1:9b85c4beaad6560e810f662d99215f1450c6a74f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Call dynstr_init on dynstr_free</title>
<updated>2020-09-03T12:43:02+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavier.delcampo@orain.io</email>
</author>
<published>2020-09-03T12:42:18+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/dynstr/commit/?id=134ebfa751bf8083e36f0707b32a78cf2ba7ac5f'/>
<id>urn:sha1:134ebfa751bf8083e36f0707b32a78cf2ba7ac5f</id>
<content type='text'>
</content>
</entry>
</feed>
