--- /dev/null
+--- funopen.c.orig 2009-02-15 03:11:22.000000000 -0800
++++ funopen.c 2009-02-15 14:02:06.000000000 -0800
+@@ -67,7 +67,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;