xref: /plan9/sys/src/libstdio/fopen.c (revision 7dd7cddf99dd7472612f1413b4da293630e6b1bc)
13e12c5d1SDavid du Colombier /*
23e12c5d1SDavid du Colombier  * pANS stdio -- fopen
33e12c5d1SDavid du Colombier  */
43e12c5d1SDavid du Colombier #include "iolib.h"
fopen(const char * name,const char * mode)53e12c5d1SDavid du Colombier FILE *fopen(const char *name, const char *mode){
63e12c5d1SDavid du Colombier 	FILE *f;
7*7dd7cddfSDavid du Colombier 	qlock(&_stdiolk);
8*7dd7cddfSDavid du Colombier 	for(f=_IO_stream;f!=&_IO_stream[FOPEN_MAX];f++) {
9*7dd7cddfSDavid du Colombier 		if(f->state==CLOSED) {
10*7dd7cddfSDavid du Colombier 			qunlock(&_stdiolk);
113e12c5d1SDavid du Colombier 			return freopen(name, mode, f);
12*7dd7cddfSDavid du Colombier 		}
13*7dd7cddfSDavid du Colombier 	}
14*7dd7cddfSDavid du Colombier 	qunlock(&_stdiolk);
153e12c5d1SDavid du Colombier 	return NULL;
163e12c5d1SDavid du Colombier }
17