xref: /plan9/sys/src/ape/lib/ap/stdio/sopenr.c (revision 7dd7cddf99dd7472612f1413b4da293630e6b1bc)
13e12c5d1SDavid du Colombier /*
23e12c5d1SDavid du Colombier  * pANS stdio -- sopenr
33e12c5d1SDavid du Colombier  */
43e12c5d1SDavid du Colombier #include "iolib.h"
53e12c5d1SDavid du Colombier #include <string.h>
63e12c5d1SDavid du Colombier 
_IO_sopenr(const char * s)7*7dd7cddfSDavid du Colombier FILE *_IO_sopenr(const char *s){
83e12c5d1SDavid du Colombier 	FILE *f;
93e12c5d1SDavid du Colombier 	for(f=_IO_stream;f!=&_IO_stream[FOPEN_MAX];f++) if(f->state==CLOSED) break;
103e12c5d1SDavid du Colombier 	if(f==&_IO_stream[FOPEN_MAX]) return NULL;
113e12c5d1SDavid du Colombier 	f->buf=f->rp=(char *)s;	/* what an annoyance const is */
123e12c5d1SDavid du Colombier 	f->bufl=strlen(s);
133e12c5d1SDavid du Colombier 	f->wp=f->buf+f->bufl;
143e12c5d1SDavid du Colombier 	f->state=RD;
153e12c5d1SDavid du Colombier 	f->flags=STRING;
163e12c5d1SDavid du Colombier 	f->fd=-1;
173e12c5d1SDavid du Colombier 	return f;
183e12c5d1SDavid du Colombier }
19