funopen.c.patch   [plain text]


--- 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;