/* tmpfile --- return an anonymous stream */ FILE *tmpfile() { #undef mktemp int i, fd, mktemp(); for (i = 3; i < _NFILES - 4; i++) /* find a free file pointer */ if (c$iocm[i]._flag == _CLOSED) /* it's closed */ break; if (i == _NFILES - 4 || (fd = mktemp (READWRITE)) == ERR) return (NULL); else { c$iocm[i]._flag = READWRITE; c$iocm[i]._fd = fd; c$iocm[i]._errs = 0; c$iocm[i]._pbc = ERR; return (&c$iocm[i]); } }