|
|
1.1 ! root 1: /* ! 2: * Standard I/O Library Internals ! 3: * Unbuffered output ! 4: */ ! 5: ! 6: #include <stdio.h> ! 7: #include <errno.h> ! 8: ! 9: int ! 10: _fputc(c, fp) ! 11: register unsigned int c; ! 12: register FILE *fp; ! 13: { ! 14: char s[1] = c; ! 15: ! 16: fp->_cc = 0; ! 17: errno = 0; ! 18: if (fp->_ff&_FERR || _fpseek(fp)) { ! 19: return (EOF); ! 20: } else if (write(fileno(fp), s, 1) == 1) { ! 21: return ((unsigned char)c); ! 22: } else { ! 23: if (errno != EINTR) ! 24: fp->_ff |= _FERR; ! 25: return (EOF); ! 26: } ! 27: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.