Annotation of coherent/b/lib/libc/stdio/_fputc.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * libc/stdio/_fputc.c
                      3:  * ANSI-compliant C standard i/o library internals.
                      4:  * _fputc(), _fputca()
                      5:  * Write character, unbuffered.
                      6:  * Conditional for _FASCII and errno == EINTR code.
                      7:  */
                      8: 
                      9: #include <stdio.h>
                     10: #if    COHERENT || GEMDOS
                     11: #include <errno.h>
                     12: #endif
                     13: 
                     14: int
                     15: _fputc(c, fp) register int c; register FILE *fp;
                     16: {
                     17:        unsigned char s;
                     18: 
                     19:        if (fp->_ff1 & _FERR)
                     20:                return EOF;
                     21:        s = c;
                     22:        if (write(fileno(fp), &s, 1) == 1)
                     23:                return s;
                     24: #if    COHERENT || GEMDOS
                     25:        if (errno == EINTR)
                     26:                errno = 0;
                     27:        else
                     28: #endif
                     29:        fp->_ff1 |= _FERR;
                     30:        return EOF;
                     31: }
                     32: 
                     33: #if    _ASCII
                     34: 
                     35: /* ASCII: prepend '\r' before '\n'. */
                     36: int
                     37: _fputca(c, fp) register int c; register FILE *fp;
                     38: {
                     39:        if ((unsigned char)c == '\n' && _fputc('\r', fp) == EOF)
                     40:                return EOF;
                     41:        return (_fputc(c, fp));
                     42: }
                     43: 
                     44: #endif
                     45: 
                     46: /* 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.