git: 9front

ref: e3d584f7a6e4ce19f7fe3d5958fef30ad16dca07
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;
}