xref: /plan9/sys/src/ape/lib/ap/stdio/setbuf.c (revision 3e12c5d1bb89fc02707907988834ef147769ddaf)
1*3e12c5d1SDavid du Colombier /*
2*3e12c5d1SDavid du Colombier  * pANS stdio -- setbuf
3*3e12c5d1SDavid du Colombier  */
4*3e12c5d1SDavid du Colombier #include "iolib.h"
setbuf(FILE * f,char * buf)5*3e12c5d1SDavid du Colombier void setbuf(FILE *f, char *buf){
6*3e12c5d1SDavid du Colombier 	if(f->state==OPEN){
7*3e12c5d1SDavid du Colombier 		if(buf)
8*3e12c5d1SDavid du Colombier 			f->bufl=BUFSIZ;
9*3e12c5d1SDavid du Colombier 		else{
10*3e12c5d1SDavid du Colombier 			buf=f->unbuf;
11*3e12c5d1SDavid du Colombier 			f->bufl=0;
12*3e12c5d1SDavid du Colombier 		}
13*3e12c5d1SDavid du Colombier 		f->rp=f->wp=f->lp=f->buf=buf;
14*3e12c5d1SDavid du Colombier 		f->state=RDWR;
15*3e12c5d1SDavid du Colombier 	}
16*3e12c5d1SDavid du Colombier 	/* else error, but there's no way to report it */
17*3e12c5d1SDavid du Colombier }
18