Annotation of coherent/b/lib/libc/XSTDIO/_fputc.c, revision 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.