<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libc/stdio/putchar.c, branch releng/12.4</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.4</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.4'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2017-11-20T19:49:47Z</updated>
<entry>
<title>General further adoption of SPDX licensing ID tags.</title>
<updated>2017-11-20T19:49:47Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2017-11-20T19:49:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8a16b7a18f5d0b031f09832fd7752fba717e2a97'/>
<id>urn:sha1:8a16b7a18f5d0b031f09832fd7752fba717e2a97</id>
<content type='text'>
Mainly focus on files that use BSD 3-Clause license.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.
</content>
</entry>
<entry>
<title>Make stdio deferred cancel-safe.</title>
<updated>2017-06-29T14:44:17Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2017-06-29T14:44:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fda0a14f4744c2851766f395775c7531e7c4f7dd'/>
<id>urn:sha1:fda0a14f4744c2851766f395775c7531e7c4f7dd</id>
<content type='text'>
If used with fopen(3)/fdopen(3)-ed FILEs, stdio accurately uses
non-cancellable internal versions of the functions, i.e. it seems to
be fine with regard to cancellation.  But if the funopen(3) and
f{r,w}open(3) functions were used to open the FILE, and corresponding
user functions create cancellation points (they typically have no
other choice), then stdio code at least leaks FILE' lock.

The change installs cleanup handler which unlocks FILE.  Some minimal
restructuring of the code was required to make it use common return
place to satisfy hand-rolled pthread_cleanup_pop() requirements.

Noted by:	eugen
Reviewed by:	eugen, vangyzen
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D11246
</content>
</entry>
<entry>
<title>Convert libc/stdio from K&amp;R to ANSI C</title>
<updated>2013-04-23T14:36:44Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2013-04-23T14:36:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5a6307cf42c5b4965435b3b7af74a37fd4dc17b9'/>
<id>urn:sha1:5a6307cf42c5b4965435b3b7af74a37fd4dc17b9</id>
<content type='text'>
And add '__restrict' where it appeared in the header prototypes
</content>
</entry>
<entry>
<title>Renumber clauses to reduce diffs to other versions</title>
<updated>2013-04-23T13:33:13Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2013-04-23T13:33:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1d8053c5c04e7977f9086d277ed79890a7a59720'/>
<id>urn:sha1:1d8053c5c04e7977f9086d277ed79890a7a59720</id>
<content type='text'>
NetBSD, OpenBSD, and Android's Bionic all number the clauses 1 through 3,
so follow suit to make comparison easier.

Acked-by: imp@
</content>
</entry>
<entry>
<title>Expose FILE's internals to the world again in all their glory.  Restore</title>
<updated>2008-05-05T16:03:52Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2008-05-05T16:03:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=19e03ca8038019fe0fe7f511b91b758b95b78664'/>
<id>urn:sha1:19e03ca8038019fe0fe7f511b91b758b95b78664</id>
<content type='text'>
all the previous inline optimizations as well.  FILE is back to using
__mbstate_t, struct pthread *, and struct pthread_mutex *.
</content>
</entry>
<entry>
<title>Next round of stdio changes: Remove all inlining of stdio operations and</title>
<updated>2008-05-02T15:25:07Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2008-05-02T15:25:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c17bf9a9a5a3b59e03108b785f6b15070ff25651'/>
<id>urn:sha1:c17bf9a9a5a3b59e03108b785f6b15070ff25651</id>
<content type='text'>
move the definition of the type backing FILE (struct __sFILE) into an
internal header.
- Remove macros to inline certain operations from stdio.h.  Applications
  will now always call the functions instead.
- Move the various foo_unlocked() functions from unlocked.c into foo.c.
  This lets some of the inlining macros (e.g. __sfeof()) move into
  foo.c.
- Update a few comments.
- struct __sFILE can now go back to using mbstate_t, pthread_t, and
  pthread_mutex_t instead of knowing about their private, backing types.

MFC after:	1 month
Reviewed by:	kan
</content>
</entry>
<entry>
<title>Per Regents of the University of Calfornia letter, remove advertising</title>
<updated>2007-01-09T00:28:16Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2007-01-09T00:28:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c879ae3536e6d92b8d96c8965c5b05fcb9541520'/>
<id>urn:sha1:c879ae3536e6d92b8d96c8965c5b05fcb9541520</id>
<content type='text'>
clause.

# If I've done so improperly on a file, please let me know.
</content>
</entry>
<entry>
<title>Do not redundantly set the stream orientation in getc(), putc(), and</title>
<updated>2004-03-19T09:04:56Z</updated>
<author>
<name>Tim J. Robbins</name>
<email>tjr@FreeBSD.org</email>
</author>
<published>2004-03-19T09:04:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f639538c2065380d46a0f35ef2c318271e53909c'/>
<id>urn:sha1:f639538c2065380d46a0f35ef2c318271e53909c</id>
<content type='text'>
related functions - __sgetc() and __sputc() will set it when necessary.
</content>
</entry>
<entry>
<title>Re-add macro versions of getc(), getchar(), putc(), putchar(), feof(),</title>
<updated>2004-03-17T01:43:08Z</updated>
<author>
<name>Tim J. Robbins</name>
<email>tjr@FreeBSD.org</email>
</author>
<published>2004-03-17T01:43:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=567d74a5eced82896bce42c1181f3335f45cbcac'/>
<id>urn:sha1:567d74a5eced82896bce42c1181f3335f45cbcac</id>
<content type='text'>
ferror(), fileno() and clearerr(), using the value of __isthreaded to
decide between the fast inline single-threaded code and the more
general function equivalent. This gives most of the performance
benefits of the old unsafe macros while preserving thread safety.
</content>
</entry>
<entry>
<title>Basic support for wide character I/O: getwc(), fgetwc(), getwchar(),</title>
<updated>2002-08-13T09:30:41Z</updated>
<author>
<name>Tim J. Robbins</name>
<email>tjr@FreeBSD.org</email>
</author>
<published>2002-08-13T09:30:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e74101e4eff767325553039def89de70b70f36d3'/>
<id>urn:sha1:e74101e4eff767325553039def89de70b70f36d3</id>
<content type='text'>
putwc(), fputwc(), putwchar(), ungetwc(), fwide().
</content>
</entry>
</feed>
