summaryrefslogtreecommitdiff
path: root/sys/src/libstdio/fopen.c
blob: 3500fe8053007a152bb59e1cc19f473280d58284 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*
 * pANS stdio -- fopen
 */
#include "iolib.h"
FILE *fopen(const char *name, const char *mode){
	FILE *f;
	qlock(&_stdiolk);
	for(f=_IO_stream;f!=&_IO_stream[FOPEN_MAX];f++) {
		if(f->state==CLOSED) {
			qunlock(&_stdiolk);
			return freopen(name, mode, f);
		}
	}
	qunlock(&_stdiolk);
	return NULL;
}