git: 9front

ref: 5cd55749003db093dce0a04a3dafa8f8ce3f3a7c
dir: /sys/src/libbio/bputc.c/

View raw version
#include	<u.h>
#include	<libc.h>
#include	<bio.h>

int
Bputc(Biobufhdr *bp, int c)
{
	int i;

	for(;;) {
		i = bp->ocount;
		if(i) {
			bp->ebuf[i++] = c;
			bp->ocount = i;
			return 0;
		}
		if(Bflush(bp) == Beof)
			break;
	}
	return Beof;
}