xref: /plan9/sys/src/libbio/bputc.c (revision 7dd7cddf99dd7472612f1413b4da293630e6b1bc)
13e12c5d1SDavid du Colombier #include	<u.h>
23e12c5d1SDavid du Colombier #include	<libc.h>
33e12c5d1SDavid du Colombier #include	<bio.h>
43e12c5d1SDavid du Colombier 
53e12c5d1SDavid du Colombier int
Bputc(Biobufhdr * bp,int c)63e12c5d1SDavid du Colombier Bputc(Biobufhdr *bp, int c)
73e12c5d1SDavid du Colombier {
8*7dd7cddfSDavid du Colombier 	int i;
93e12c5d1SDavid du Colombier 
10*7dd7cddfSDavid du Colombier 	for(;;) {
113e12c5d1SDavid du Colombier 		i = bp->ocount;
12*7dd7cddfSDavid du Colombier 		if(i) {
13*7dd7cddfSDavid du Colombier 			bp->ebuf[i++] = c;
14*7dd7cddfSDavid du Colombier 			bp->ocount = i;
153e12c5d1SDavid du Colombier 			return 0;
163e12c5d1SDavid du Colombier 		}
17*7dd7cddfSDavid du Colombier 		if(Bflush(bp) == Beof)
18*7dd7cddfSDavid du Colombier 			break;
193e12c5d1SDavid du Colombier 	}
203e12c5d1SDavid du Colombier 	return Beof;
213e12c5d1SDavid du Colombier }
22