/* @(#)findfp.c 1.1 (Berkeley) %G% */
#define NSTATIC 5 /* stdin, stdout, stderr, plus slack */
static FILE **iov
, **iovend
;
static FILE *dummy
[NSTATIC
];
{ 0, NULL
, NULL
, NULL
, _IOREAD
, 0 }, /* stdin */
{ 0, NULL
, NULL
, NULL
, _IOWRT
, 1 }, /* stdout */
{ 0, NULL
, NULL
, NULL
, _IOWRT
+_IONBF
, 2 }, /* stderr */
nfiles
= getdtablesize();
p
= calloc(1, nfiles
* sizeof *iov
+
(nfiles
- NSTATIC
) * sizeof **iov
);
for (iovp
= iov
+ NSTATIC
; iovp
< iovend
; /* void */)
for (i
= 0; i
< NSTATIC
; i
++)
for (iovp
= iov
; (*iovp
)->_flag
& (_IOREAD
|_IOWRT
|_IORW
); /* void */)
register FILE *_lastbuf
= _iob
+ NSTATIC
;
for (iop
= _iob
; iop
< _lastbuf
; iop
++)
for (iovp
= iov
; iovp
< iovend
; iovp
++)