xref: /plan9-contrib/sys/src/libstdio/setbuf.c (revision 22df390c30710ddd2119f3e7bb6c92dc399cabb9)
13e12c5d1SDavid du Colombier /*
23e12c5d1SDavid du Colombier  * pANS stdio -- setbuf
33e12c5d1SDavid du Colombier  */
43e12c5d1SDavid du Colombier #include "iolib.h"
setbuf(FILE * f,void * buf)5*22df390cSDavid du Colombier void setbuf(FILE *f, void *buf){
63e12c5d1SDavid du Colombier 	if(f->state==OPEN){
73e12c5d1SDavid du Colombier 		if(buf)
83e12c5d1SDavid du Colombier 			f->bufl=BUFSIZ;
93e12c5d1SDavid du Colombier 		else{
103e12c5d1SDavid du Colombier 			buf=f->unbuf;
113e12c5d1SDavid du Colombier 			f->bufl=0;
123e12c5d1SDavid du Colombier 		}
133e12c5d1SDavid du Colombier 		f->rp=f->wp=f->lp=f->buf=buf;
143e12c5d1SDavid du Colombier 		f->state=RDWR;
153e12c5d1SDavid du Colombier 	}
163e12c5d1SDavid du Colombier 	/* else error, but there's no way to report it */
173e12c5d1SDavid du Colombier }
18