aboutsummaryrefslogtreecommitdiff
path: root/src/base/io/putc.c
blob: 167f10f60652d8376677900788b07427f621733f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "internal.h"

int
io·putc(io·Header *io, int c)
{
    intptr i;

    for(;;){
        i = io->olen;
        if(i){
            io->e[i++] = c;
            io->olen = i;
            return 0;
        }
        if(io·flush(io) == io·BufEof)
            break;
    }
    return io·BufEof;
}