xref: /plan9-contrib/sys/src/ape/lib/ap/stdio/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,char * buf)53e12c5d1SDavid du Colombier void setbuf(FILE *f, char *buf){
63e12c5d1SDavid du Colombier 	if(f->state==OPEN){
73e12c5d1SDavid du Colombier 		if(buf)
83e12c5d1SDavid du Colombier 			f->bufl=BUFSIZ;
93e12c5d1SDavid du Colombier 		else{
10*22df390cSDavid du Colombier 			buf=(char *)f->unbuf;
113e12c5d1SDavid du Colombier 			f->bufl=0;
123e12c5d1SDavid du Colombier 		}
13*22df390cSDavid du Colombier 		f->rp=f->wp=f->lp=f->buf=(unsigned char *)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