--- funopen.c.bsdnew 2009-11-11 13:33:10.000000000 -0800 +++ funopen.c 2009-11-11 13:33:10.000000000 -0800 @@ -63,7 +63,8 @@ funopen(cookie, readfn, writefn, seekfn, else flags = __SRW; /* read-write */ } - if ((fp = __sfp()) == NULL) + /* funopen in not covered in SUSv3, so never count the streams */ + if ((fp = __sfp(0)) == NULL) return (NULL); fp->_flags = flags; fp->_file = -1;