1#include <errno.h>2#include <stdio.h>34#include "../libc.h"56#undef fopen78FILE *9fopen(const char * restrict name, const char * restrict mode)10{11 FILE *fp;1213 for (fp = __iob; fp < &__iob[FOPEN_MAX]; ++fp) {14 if ((fp->flags & (_IOREAD | _IOWRITE | _IORW)) == 0)15 break;16 }17 if (fp == &__iob[FOPEN_MAX]) {18 errno = ENOMEM;19 return NULL;20 }2122 return _fpopen(name, mode, fp);23}