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 ColombierFILE *_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