<feed xmlns='http://www.w3.org/2005/Atom'>
<title>musl/src/string, branch v0.9.10</title>
<subtitle>musl - an implementation of the standard library for Linux-based systems</subtitle>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/'/>
<entry>
<title>Add ABI compatability aliases.</title>
<updated>2013-04-06T06:20:28+00:00</updated>
<author>
<name>Isaac Dunham</name>
<email>idunham@lavabit.com</email>
</author>
<published>2013-04-06T06:20:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=14f0272ea1775c35801b2bc17e67ef8bb7e9742d'/>
<id>14f0272ea1775c35801b2bc17e67ef8bb7e9742d</id>
<content type='text'>
GNU used several extensions that were incompatible with C99 and POSIX,
so they used alternate names for the standard functions.

The result is that we need these to run standards-conformant programs
that were linked with glibc.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GNU used several extensions that were incompatible with C99 and POSIX,
so they used alternate names for the standard functions.

The result is that we need these to run standards-conformant programs
that were linked with glibc.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix integer type issue in strverscmp</title>
<updated>2013-02-26T06:42:11+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2013-02-26T06:42:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=5afc74fbaa2371f30df0dc9fb7bc3afe6bd96137'/>
<id>5afc74fbaa2371f30df0dc9fb7bc3afe6bd96137</id>
<content type='text'>
lenl-lenr is not a valid expression for a signed int return value from
strverscmp, since after implicit conversion from size_t to int this
difference could have the wrong sign or might even be zero. using the
difference for char values works since they're bounded well within the
range of differences representable by int, but it does not work for
size_t values.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
lenl-lenr is not a valid expression for a signed int return value from
strverscmp, since after implicit conversion from size_t to int this
difference could have the wrong sign or might even be zero. using the
difference for char values works since they're bounded well within the
range of differences representable by int, but it does not work for
size_t values.
</pre>
</div>
</content>
</entry>
<entry>
<title>implement non-stub strverscmp</title>
<updated>2013-02-26T06:36:47+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2013-02-26T06:36:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=4853c1f7f7b5023aa6a409abc1e759f5f92c9c4e'/>
<id>4853c1f7f7b5023aa6a409abc1e759f5f92c9c4e</id>
<content type='text'>
patch by Isaac Dunham.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
patch by Isaac Dunham.
</pre>
</div>
</content>
</entry>
<entry>
<title>replace stub with working strcasestr</title>
<updated>2013-02-22T04:54:25+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2013-02-22T04:54:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=e864ddc36819814b3b9ed17620459d66add512d3'/>
<id>e864ddc36819814b3b9ed17620459d66add512d3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix wrong return value from wmemmove on forward copies</title>
<updated>2013-02-22T04:19:18+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2013-02-22T04:19:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=330fd96213da324f9164081df9a5226790d7c4ec'/>
<id>330fd96213da324f9164081df9a5226790d7c4ec</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix alignment logic in strlcpy</title>
<updated>2012-12-27T04:48:02+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2012-12-27T04:48:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=820fccdefe3774d2902f0191966a5c2848405faa'/>
<id>820fccdefe3774d2902f0191966a5c2848405faa</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>simplify logic in stpcpy; avoid copying first aligned byte twice</title>
<updated>2012-10-22T19:17:09+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2012-10-22T19:17:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=838951c97edc05cb2a25948ee542415b55b8f605'/>
<id>838951c97edc05cb2a25948ee542415b55b8f605</id>
<content type='text'>
gcc seems to be generating identical or near-identical code for both
versions, but the newer code is more expressive of what it's doing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
gcc seems to be generating identical or near-identical code for both
versions, but the newer code is more expressive of what it's doing.
</pre>
</div>
</content>
</entry>
<entry>
<title>add memmem function (gnu extension)</title>
<updated>2012-10-16T03:02:57+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2012-10-16T03:02:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=c86f2974e2acd330be2d587173dd4dd56db82e22'/>
<id>c86f2974e2acd330be2d587173dd4dd56db82e22</id>
<content type='text'>
based on strstr. passes gnulib tests and a few quick checks of my own.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
based on strstr. passes gnulib tests and a few quick checks of my own.
</pre>
</div>
</content>
</entry>
<entry>
<title>optimize strchrnul/strcspn not to scan string twice on no-match</title>
<updated>2012-09-27T21:19:09+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2012-09-27T21:19:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=68dbd05039f8b256f586ed9a589645fa3a1b7f5f'/>
<id>68dbd05039f8b256f586ed9a589645fa3a1b7f5f</id>
<content type='text'>
when strchr fails, and important piece of information already
computed, the string length, is thrown away. have strchrnul (with
namespace protection) be the underlying function so this information
can be kept, and let strchr be a wrapper for it. this also allows
strcspn to be considerably faster in the case where the match set has
a single element that's not matched.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
when strchr fails, and important piece of information already
computed, the string length, is thrown away. have strchrnul (with
namespace protection) be the underlying function so this information
can be kept, and let strchr be a wrapper for it. this also allows
strcspn to be considerably faster in the case where the match set has
a single element that's not matched.
</pre>
</div>
</content>
</entry>
<entry>
<title>slightly cleaner strlen, also seems to compile to better code</title>
<updated>2012-09-27T20:56:33+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2012-09-27T20:56:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=3f9ff1514e49b06c20a61af9ae9e52bd53b48d9a'/>
<id>3f9ff1514e49b06c20a61af9ae9e52bd53b48d9a</id>
<content type='text'>
testing with gcc 4.6.3 on x86, -Os, the old version does a duplicate
null byte check after the first loop. this is purely the compiler
being stupid, but the old code was also stupid and unintuitive in how
it expressed the check.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
testing with gcc 4.6.3 on x86, -Os, the old version does a duplicate
null byte check after the first loop. this is purely the compiler
being stupid, but the old code was also stupid and unintuitive in how
it expressed the check.
</pre>
</div>
</content>
</entry>
</feed>
