File:  [MW Coherent from dump] / coherent / d / lib / libc / gen / _fputc.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Wed May 29 04:56:37 2019 UTC (7 years, 2 months ago) by root
Branches: MarkWilliams, MAIN
CVS tags: relic, HEAD
coherent

/*
 * libc/stdio/_fputc.c
 * C Standard I/O Library internals.
 * Unbuffered output.
 */

#include <stdio.h>
#include <errno.h>

int
_fputc(c, fp) register unsigned int c; register FILE *fp;
{
	register int n, oerrno;
	char s[1] = c;

	fp->_cc = 0;
	oerrno = errno;
	errno = 0;
	n = (unsigned char)c;
	if (fp->_ff&_FERR || _fpseek(fp))
		n = EOF;
	else if (write(fileno(fp), s, 1) != 1) {
		if (errno != EINTR)
			fp->_ff |= _FERR;
		n = EOF;
	}
	if (errno == 0)
		errno = oerrno;
	return n;
}

/* end of libc/stdio/_fputc.c */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.