-Index: fclose.c
-===================================================================
-RCS file: /cvs/root/Libc/stdio/FreeBSD/fclose.c,v
-retrieving revision 1.2
-diff -u -d -b -w -p -r1.2 fclose.c
---- fclose.c 2003/05/20 22:22:40 1.2
-+++ fclose.c 2005/02/14 21:57:28
-@@ -53,6 +53,10 @@ fclose(FILE *fp)
+--- fclose.c.bsdnew 2009-11-11 13:33:03.000000000 -0800
++++ fclose.c 2009-11-11 13:33:03.000000000 -0800
+@@ -49,6 +49,13 @@ fclose(FILE *fp)
{
int r;
++ if (!__sdidinit)
++ __sinit();
++
+ if (fp == NULL) {
+ errno = EFAULT;
+ return (EOF);
if (fp->_flags == 0) { /* not open! */
errno = EBADF;
return (EOF);
+@@ -65,7 +72,7 @@ fclose(FILE *fp)
+ FREELB(fp);
+ fp->_file = -1;
+ fp->_r = fp->_w = 0; /* Mess up if reaccessed. */
+- fp->_flags = 0; /* Release this FILE for reuse. */
++ __sfprelease(fp); /* Release this FILE for reuse. */
+ FUNLOCKFILE(fp);
+ return (r);
+ }