<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/include/stdlib.h, branch release/8.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F8.1.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F8.1.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2010-05-04T05:34:18Z</updated>
<entry>
<title>MFC r206893:</title>
<updated>2010-05-04T05:34:18Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2010-05-04T05:34:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=14d447de525f9e398a09b0354cc7a216aa64561c'/>
<id>urn:sha1:14d447de525f9e398a09b0354cc7a216aa64561c</id>
<content type='text'>
Slightly modernize realpath(3).

SUSv4 requires that implementation returns EINVAL if supplied path is NULL,
and ENOENT if path is empty string [1].
Bring prototype in conformance with SUSv4, adding restrict keywords.
Allow the resolved path buffer pointer be NULL, in which case realpath(3)
allocates storage with malloc().

MFC r206898:
Free() is not allowed to modify errno, remove safety brackets around it.
Add small optimization, do not copy a string to the buffer that is
to be freed immediately after.

MFC r206997:
Move realpath(3) prototype to a POSIX section.

MFC r206998:
Add standards section, improve wording, taking into account the handling
of NULL and changed type in declaration.
</content>
</entry>
<entry>
<title>Namespace: abort2() is a BSD extension.</title>
<updated>2009-03-14T19:13:30Z</updated>
<author>
<name>David Schultz</name>
<email>das@FreeBSD.org</email>
</author>
<published>2009-03-14T19:13:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=b38a55d49df48406865608059272f6a8ed7add0a'/>
<id>urn:sha1:b38a55d49df48406865608059272f6a8ed7add0a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>r189349 removed mktemp() from the XSI namespace when</title>
<updated>2009-03-14T02:31:48Z</updated>
<author>
<name>David Schultz</name>
<email>das@FreeBSD.org</email>
</author>
<published>2009-03-14T02:31:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=d9c4315930036dff79ef2357989d51c1d24a9b91'/>
<id>urn:sha1:d9c4315930036dff79ef2357989d51c1d24a9b91</id>
<content type='text'>
__XOPEN_SOURCE &gt;= 700, since mktemp() was withdrawn
from the standard. However, __XSI_VISIBLE is set to
700 in the default BSD envrionment, where mktemp()
should still exist; hence, check for this.
</content>
</entry>
<entry>
<title>- Add getsubopt and mkdtemp to the POSIX.1-2008 namespace.</title>
<updated>2009-03-04T03:31:10Z</updated>
<author>
<name>David Schultz</name>
<email>das@FreeBSD.org</email>
</author>
<published>2009-03-04T03:31:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=65e8b12988db7345336644450ce5c0a0b3b77a33'/>
<id>urn:sha1:65e8b12988db7345336644450ce5c0a0b3b77a33</id>
<content type='text'>
- Add mkstemp to the POSIX.1-2008 and BSD namespaces.
- Remove mktemp from the XSI namespace.
</content>
</entry>
<entry>
<title>Add two new routines: fdevname() and fdevname_r().</title>
<updated>2009-02-11T20:24:59Z</updated>
<author>
<name>Ed Schouten</name>
<email>ed@FreeBSD.org</email>
</author>
<published>2009-02-11T20:24:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=26d4f5e969a5850cbb0b2344835d515c368d5652'/>
<id>urn:sha1:26d4f5e969a5850cbb0b2344835d515c368d5652</id>
<content type='text'>
A more elegant way of obtaining a name of a character device by its file
descriptor on FreeBSD, is to use the FIODGNAME ioctl. Because a valid
file descriptor implies a file descriptor is visible in /dev, it will
always resolve a valid device name.

I'm adding a more friendly wrapper for this ioctl, called fdevname(). It
is a lot easier to use than devname() and also has better error
handling. When a device name cannot be resolved, it will just return
NULL instead of a generated device name that makes no sense.

Discussed with:	kib
</content>
</entry>
<entry>
<title>Add a function attribute called `__malloc_like', which informs gcc</title>
<updated>2009-01-31T18:27:02Z</updated>
<author>
<name>David Schultz</name>
<email>das@FreeBSD.org</email>
</author>
<published>2009-01-31T18:27:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=544048ecef8fd8480d850fe80ba04ab9d7f8bdef'/>
<id>urn:sha1:544048ecef8fd8480d850fe80ba04ab9d7f8bdef</id>
<content type='text'>
that the annotated function returns a pointer that doesn't alias any
extant pointer. This results in a 50%+ speedup in microbenchmarks such
as the following:

    char *cp = malloc(1), *buf = malloc(BUF);
    for (i = 0; i &lt; BUF; i++) buf[i] = *cp;

In real programs, your mileage will vary. Note that gcc already
performs this optimization automatically for any function called
`malloc', `calloc', `strdup', or `strndup' unless -fno-builtins is
used.
</content>
</entry>
<entry>
<title>Add arc4random_uniform()</title>
<updated>2008-07-22T11:40:42Z</updated>
<author>
<name>Andrey A. Chernov</name>
<email>ache@FreeBSD.org</email>
</author>
<published>2008-07-22T11:40:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=c0046493c9e8056e8dd7a20c6cf436773eb706fd'/>
<id>urn:sha1:c0046493c9e8056e8dd7a20c6cf436773eb706fd</id>
<content type='text'>
Obtained from:  OpenBSD
</content>
</entry>
<entry>
<title>Add arc4random_buf.</title>
<updated>2008-07-21T14:03:04Z</updated>
<author>
<name>Andrey A. Chernov</name>
<email>ache@FreeBSD.org</email>
</author>
<published>2008-07-21T14:03:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=3204108bc3d5f26e65cf89d1459e4b2b4dc89cc1'/>
<id>urn:sha1:3204108bc3d5f26e65cf89d1459e4b2b4dc89cc1</id>
<content type='text'>
Style: remove arg names from arc4random_addrandom.
</content>
</entry>
<entry>
<title>Significantly reduce the memory leak as noted in BUGS section for</title>
<updated>2007-07-04T00:00:41Z</updated>
<author>
<name>Sean Farley</name>
<email>scf@FreeBSD.org</email>
</author>
<published>2007-07-04T00:00:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=2966d28c322dcfa4b9db2558da0b91839e7798b9'/>
<id>urn:sha1:2966d28c322dcfa4b9db2558da0b91839e7798b9</id>
<content type='text'>
setenv(3) by tracking the size of the memory allocated instead of using
strlen() on the current value.

Convert all calls to POSIX from historic BSD API:
 - unsetenv returns an int.
 - putenv takes a char * instead of const char *.
 - putenv no longer makes a copy of the input string.
 - errno is set appropriately for POSIX.  Exceptions involve bad environ
   variable and internal initialization code.  These both set errno to
   EFAULT.

Several patches to base utilities to handle the POSIX changes from
Andrey Chernov's previous commit.  A few I re-wrote to use setenv()
instead of putenv().

New regression module for tools/regression/environ to test these
functions.  It also can be used to test the performance.

Bump __FreeBSD_version to 700050 due to API change.

PR:		kern/99826
Approved by:	wes
Approved by:	re (kensmith)
</content>
</entry>
<entry>
<title>Back out all POSIXified *env() changes.</title>
<updated>2007-05-01T16:02:44Z</updated>
<author>
<name>Andrey A. Chernov</name>
<email>ache@FreeBSD.org</email>
</author>
<published>2007-05-01T16:02:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=ba174a5e38b1ab764c4a36ef4dd83e80c4add148'/>
<id>urn:sha1:ba174a5e38b1ab764c4a36ef4dd83e80c4add148</id>
<content type='text'>
Not because I admit they are technically wrong and not because of bug
reports (I receive nothing). But because I surprisingly meets so
strong opposition and resistance so lost any desire to continue that.

Anyone who interested in POSIX can dig out what changes and how
through cvs diffs.
</content>
</entry>
</feed>
